2025-11-03T09:00:14.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:14
2025-11-03T09:00:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98335599899292s
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2246831;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24445;2460982.79183749;9.00406528;1.3;_
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2246831;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24445;2460982.79183749;9.00406528;1.3;_
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:14.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2246831, teldec = -24.256627
2025-11-03T09:00:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2246831 -24.256627
2025-11-03T09:00:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2246831 -24.256627
2025-11-03T09:00:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2246831 -24.256627
2025-11-03T09:00:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2246831;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24445;2460982.79183751;9.00406528;1.3;_14.2006178896042 -24.136358795246
2025-11-03T09:00:14.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2006178896042     dec_j2k = -24.136358795246
2025-11-03T09:00:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966708250717773;171.162346601491;_
2025-11-03T09:00:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966708250717773;171.162346601491;_
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48693)
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:14.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:14.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:14.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:14.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79183749, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966708250717773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2246831, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24445, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2006178896042, telescope_dec_j2k=-24.136358795246, observability=1)
2025-11-03T09:00:16.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:16
2025-11-03T09:00:16.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897315502166748s
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2252622;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24503;2460982.79186069;9.00464278;1.3;_
2025-11-03T09:00:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2252622;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24503;2460982.79186069;9.00464278;1.3;_
2025-11-03T09:00:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:16.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2252622, teldec = -24.256627
2025-11-03T09:00:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2252622 -24.256627
2025-11-03T09:00:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2252622 -24.256627
2025-11-03T09:00:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2252622 -24.256627
2025-11-03T09:00:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2252622;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24503;2460982.79186074;9.00464278;1.3;_14.2011964453642 -24.1363701150227
2025-11-03T09:00:16.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2011964453642     dec_j2k = -24.1363701150227
2025-11-03T09:00:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966705844001205;171.162368059163;_
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966705844001205;171.162368059163;_
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60623)
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79186069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966705844001205, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2252622, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24503, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2011964453642, telescope_dec_j2k=-24.1363701150227, observability=1)
2025-11-03T09:00:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:18
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979759693145752s
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2257948;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24556;2460982.79188384;9.00517389;1.3;_
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2257948;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24556;2460982.79188384;9.00517389;1.3;_
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:18.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2257948, teldec = -24.256627
2025-11-03T09:00:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2257948 -24.256627
2025-11-03T09:00:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2257948 -24.256627
2025-11-03T09:00:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2257948 -24.256627
2025-11-03T09:00:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2257948;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24556;2460982.79188387;9.00517389;1.3;_14.2017285448633 -24.136380528325
2025-11-03T09:00:18.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2017285448633     dec_j2k = -24.136380528325
2025-11-03T09:00:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966707849598345;171.162357330327;_
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966707849598345;171.162357330327;_
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58337)
2025-11-03T09:00:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79188384, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966707849598345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2257948, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24556, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2017285448633, telescope_dec_j2k=-24.136380528325, observability=1)
2025-11-03T09:00:18.807 [DEBUG] [Thread-88529 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:18.807 [DEBUG] [Thread-88529 (handle)] [server.py] [get_status()] Status age = 0.025204896926879883s
2025-11-03T09:00:18.807 [DEBUG] [Thread-88529 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025204896926879883
2025-11-03T09:00:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:20
2025-11-03T09:00:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811127185821533s
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2263549;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24612;2460982.791907;9.0057325;1.3;_
2025-11-03T09:00:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2263549;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24612;2460982.791907;9.0057325;1.3;_
2025-11-03T09:00:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:20.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2263549, teldec = -24.256627
2025-11-03T09:00:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2263549 -24.256627
2025-11-03T09:00:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2263549 -24.256627
2025-11-03T09:00:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2263549 -24.256627
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2263549;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24612;2460982.79190703;9.0057325;1.3;_14.2022881185593 -24.1363914818552
2025-11-03T09:00:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2022881185593     dec_j2k = -24.1363914818552
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966711459673198;171.162357330327;_
2025-11-03T09:00:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966711459673198;171.162357330327;_
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56613)
2025-11-03T09:00:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:20.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.791907, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966711459673198, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2263549, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24612, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2022881185593, telescope_dec_j2k=-24.1363914818552, observability=1)
2025-11-03T09:00:22.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:22
2025-11-03T09:00:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9864168167114258s
2025-11-03T09:00:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2269145;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24668;2460982.79193019;9.00629056;1.3;_
2025-11-03T09:00:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2269145;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24668;2460982.79193019;9.00629056;1.3;_
2025-11-03T09:00:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2269145, teldec = -24.256627
2025-11-03T09:00:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2269145 -24.256627
2025-11-03T09:00:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2269145 -24.256627
2025-11-03T09:00:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2269145 -24.256627
2025-11-03T09:00:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2269145;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24668;2460982.79193022;9.00629056;1.3;_14.2028471927658 -24.1364024282204
2025-11-03T09:00:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2028471927658     dec_j2k = -24.1364024282204
2025-11-03T09:00:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966709052956629;171.162362694745;_
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966709052956629;171.162362694745;_
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54175)
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:22.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:22.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:22.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:22.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79193019, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966709052956629, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2269145, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24668, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2028471927658, telescope_dec_j2k=-24.1364024282204, observability=1)
2025-11-03T09:00:24.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:24
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838979244232178s
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2274936;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24726;2460982.79195339;9.00686806;1.3;_
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2274936;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24726;2460982.79195339;9.00686806;1.3;_
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:24.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2274936, teldec = -24.256627
2025-11-03T09:00:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2274936 -24.256627
2025-11-03T09:00:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2274936 -24.256627
2025-11-03T09:00:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2274936 -24.256627
2025-11-03T09:00:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2274936;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24726;2460982.79195341;9.00686806;1.3;_14.2034257486929 -24.1364137587761
2025-11-03T09:00:24.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2034257486929     dec_j2k = -24.1364137587761
2025-11-03T09:00:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966710657434341;171.162357330327;_
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966710657434341;171.162357330327;_
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:24.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44291)
2025-11-03T09:00:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:24.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:24.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79195339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966710657434341, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2274936, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24726, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2034257486929, telescope_dec_j2k=-24.1364137587761, observability=1)
2025-11-03T09:00:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:26
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9750645160675049s
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2280259;-24.256627;50.108612;89.99305;50.08601;90.12017;11.2478;2460982.79197647;9.00739889;1.3;_
2025-11-03T09:00:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2280259;-24.256627;50.108612;89.99305;50.08601;90.12017;11.2478;2460982.79197647;9.00739889;1.3;_
2025-11-03T09:00:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2280259, teldec = -24.256627
2025-11-03T09:00:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2280259 -24.256627
2025-11-03T09:00:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2280259 -24.256627
2025-11-03T09:00:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2280259 -24.256627
2025-11-03T09:00:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2280259;-24.256627;50.108612;89.99305;50.08601;90.12017;11.2478;2460982.79197649;9.00739889;1.3;_14.2039575486277 -24.1364241761191
2025-11-03T09:00:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2039575486277     dec_j2k = -24.1364241761191
2025-11-03T09:00:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53119)
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:26.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:26.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79197647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966718278703474, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2280259, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2478, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2039575486277, telescope_dec_j2k=-24.1364241761191, observability=1)
2025-11-03T09:00:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:28
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9777357578277588s
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2285866;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24836;2460982.79199959;9.00795806;1.3;_
2025-11-03T09:00:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2285866;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24836;2460982.79199959;9.00795806;1.3;_
2025-11-03T09:00:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2285866, teldec = -24.256627
2025-11-03T09:00:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2285866 -24.256627
2025-11-03T09:00:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2285866 -24.256627
2025-11-03T09:00:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2285866 -24.256627
2025-11-03T09:00:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2285866;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24836;2460982.79199962;9.00795806;1.3;_14.2045177219219 -24.1364351518178
2025-11-03T09:00:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2045177219219     dec_j2k = -24.1364351518178
2025-11-03T09:00:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966716273106334;171.162357330327;_
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966716273106334;171.162357330327;_
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41781)
2025-11-03T09:00:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:28.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:28.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:28.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79199959, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966716273106334, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2285866, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2045177219219, telescope_dec_j2k=-24.1364351518178, observability=1)
2025-11-03T09:00:30.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:30
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.971818208694458s
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2291392;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24891;2460982.79202266;9.00850917;1.3;_
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2291392;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24891;2460982.79202266;9.00850917;1.3;_
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:30.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2291392, teldec = -24.256627
2025-11-03T09:00:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2291392 -24.256627
2025-11-03T09:00:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2291392 -24.256627
2025-11-03T09:00:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2291392 -24.256627
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2291392;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24891;2460982.79202268;9.00850917;1.3;_14.205069802865 -24.1364459715238
2025-11-03T09:00:30.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.205069802865     dec_j2k = -24.1364459715238
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966713465270338;171.162362694745;_
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966713465270338;171.162362694745;_
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55241)
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:30.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:30.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79202266, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966713465270338, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2291392, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24891, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.205069802865, telescope_dec_j2k=-24.1364459715238, observability=1)
2025-11-03T09:00:32.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:32
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840888977050781s
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2297002;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24947;2460982.7920458;9.00906861;1.3;_
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2297002;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24947;2460982.7920458;9.00906861;1.3;_
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:32.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2297002, teldec = -24.256627
2025-11-03T09:00:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2297002 -24.256627
2025-11-03T09:00:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2297002 -24.256627
2025-11-03T09:00:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2297002 -24.256627
2025-11-03T09:00:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2297002;-24.256627;50.108612;89.99305;50.08601;90.12017;11.24947;2460982.79204582;9.00906861;1.3;_14.2056302759584 -24.1364569583032
2025-11-03T09:00:32.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2056302759584     dec_j2k = -24.1364569583032
2025-11-03T09:00:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:32.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56429)
2025-11-03T09:00:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:32.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:32.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:32.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7920458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966718278703474, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.2297002, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.24947, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2056302759584, telescope_dec_j2k=-24.1364569583032, observability=1)
2025-11-03T09:00:34.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:34
2025-11-03T09:00:34.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:34.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787778854370117s
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.230252;-24.256627;50.108612;89.99305;50.08601;90.12017;11.25002;2460982.79206895;9.00961889;1.3;_
2025-11-03T09:00:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.230252;-24.256627;50.108612;89.99305;50.08601;90.12017;11.25002;2460982.79206895;9.00961889;1.3;_
2025-11-03T09:00:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:34.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.230252, teldec = -24.256627
2025-11-03T09:00:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.230252 -24.256627
2025-11-03T09:00:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.230252 -24.256627
2025-11-03T09:00:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.230252 -24.256627
2025-11-03T09:00:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.230252;-24.256627;50.108612;89.99305;50.08601;90.12017;11.25002;2460982.79206897;9.00961889;1.3;_14.2061815577325 -24.1364677674667
2025-11-03T09:00:34.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2061815577325     dec_j2k = -24.1364677674667
2025-11-03T09:00:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966709052956629;171.162357330327;_
2025-11-03T09:00:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966709052956629;171.162357330327;_
2025-11-03T09:00:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52817)
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:34.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:34.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:34.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:34.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79206895, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966709052956629, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108612, telescope_az=89.99305, telescope_ra=14.230252, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25002, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2061815577325, telescope_dec_j2k=-24.1364677674667, observability=1)
2025-11-03T09:00:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:36
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9910109043121338s
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2308135;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25058;2460982.79209219;9.01017889;1.3;_
2025-11-03T09:00:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2308135;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25058;2460982.79209219;9.01017889;1.3;_
2025-11-03T09:00:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:36.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2308135, teldec = -24.256627
2025-11-03T09:00:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2308135 -24.256627
2025-11-03T09:00:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2308135 -24.256627
2025-11-03T09:00:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2308135 -24.256627
2025-11-03T09:00:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2308135;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25058;2460982.79209221;9.01017889;1.3;_14.2067425304373 -24.1364787692482
2025-11-03T09:00:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2067425304373     dec_j2k = -24.1364787692482
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966711860792626;171.162357330327;_
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966711860792626;171.162357330327;_
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47101)
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:36.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:36.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79209219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966711860792626, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2308135, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25058, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2067425304373, telescope_dec_j2k=-24.1364787692482, observability=1)
2025-11-03T09:00:36.866 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:36.866 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:36.866 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:36.866 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:36.866 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:36.867 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:00:36.868 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:00:36.869 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:36.963 [DEBUG] [Thread-88530 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:36.963 [DEBUG] [Thread-88530 (handle)] [server.py] [get_status()] Status age = 0.17896318435668945s
2025-11-03T09:00:36.963 [DEBUG] [Thread-88530 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17896318435668945
2025-11-03T09:00:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:38
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782216548919678s
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2313681;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25114;2460982.79211532;9.01073194;1.3;_
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2313681;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25114;2460982.79211532;9.01073194;1.3;_
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2313681, teldec = -24.256627
2025-11-03T09:00:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2313681 -24.256627
2025-11-03T09:00:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2313681 -24.256627
2025-11-03T09:00:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2313681 -24.256627
2025-11-03T09:00:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2313681;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25114;2460982.79211535;9.01073194;1.3;_14.207296609662 -24.1364896384139
2025-11-03T09:00:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.207296609662     dec_j2k = -24.1364896384139
2025-11-03T09:00:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966711459673198;171.162357330327;_
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966711459673198;171.162357330327;_
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:38.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57303)
2025-11-03T09:00:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:38.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79211532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966711459673198, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2313681, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25114, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.207296609662, telescope_dec_j2k=-24.1364896384139, observability=1)
2025-11-03T09:00:40.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:40
2025-11-03T09:00:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9753565788269043s
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2319279;-24.256627;50.108611;89.99305;50.08601;90.12017;11.2517;2460982.79213841;9.01129028;1.3;_
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2319279;-24.256627;50.108611;89.99305;50.08601;90.12017;11.2517;2460982.79213841;9.01129028;1.3;_
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:40.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2319279, teldec = -24.256627
2025-11-03T09:00:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2319279 -24.256627
2025-11-03T09:00:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2319279 -24.256627
2025-11-03T09:00:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2319279 -24.256627
2025-11-03T09:00:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2319279;-24.256627;50.108611;89.99305;50.08601;90.12017;11.2517;2460982.79213844;9.01129028;1.3;_14.2078558840442 -24.1365006120899
2025-11-03T09:00:40.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2078558840442     dec_j2k = -24.1365006120899
2025-11-03T09:00:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966716273106334;171.162351965909;_
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966716273106334;171.162351965909;_
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55239)
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:40.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:40.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:40.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79213841, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966716273106334, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2319279, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2078558840442, telescope_dec_j2k=-24.1365006120899, observability=1)
2025-11-03T09:00:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:42
2025-11-03T09:00:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847657680511475s
2025-11-03T09:00:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2324795;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25225;2460982.79216157;9.01184028;1.3;_
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2324795;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25225;2460982.79216157;9.01184028;1.3;_
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2324795, teldec = -24.256627
2025-11-03T09:00:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2324795 -24.256627
2025-11-03T09:00:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2324795 -24.256627
2025-11-03T09:00:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2324795 -24.256627
2025-11-03T09:00:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2324795;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25225;2460982.7921616;9.01184028;1.3;_14.2084069661655 -24.136511427577
2025-11-03T09:00:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2084069661655     dec_j2k = -24.136511427577
2025-11-03T09:00:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966718679822903;171.162368059163;_
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966718679822903;171.162368059163;_
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48575)
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:42.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79216157, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966718679822903, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2324795, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25225, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2084069661655, telescope_dec_j2k=-24.136511427577, observability=1)
2025-11-03T09:00:44.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:44
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9777684211730957s
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2330413;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25281;2460982.79218471;9.01240056;1.3;_
2025-11-03T09:00:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2330413;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25281;2460982.79218471;9.01240056;1.3;_
2025-11-03T09:00:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:44.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2330413, teldec = -24.256627
2025-11-03T09:00:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2330413 -24.256627
2025-11-03T09:00:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2330413 -24.256627
2025-11-03T09:00:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2330413 -24.256627
2025-11-03T09:00:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2330413;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25281;2460982.79218475;9.01240056;1.3;_14.208968238751 -24.1365224456667
2025-11-03T09:00:44.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.208968238751     dec_j2k = -24.1365224456667
2025-11-03T09:00:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:44.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39021)
2025-11-03T09:00:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:44.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:44.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79218471, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966718278703474, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2330413, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25281, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.208968238751, telescope_dec_j2k=-24.1365224456667, observability=1)
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Status age = 1.5696587562561035s
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:46.350 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:46.351 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:46.352 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 17;14.2334894;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25326;2460982.79220315;9.0128475;1.3;_
2025-11-03T09:00:46.352 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response 17;14.2334894;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25326;2460982.79220315;9.0128475;1.3;_
2025-11-03T09:00:46.352 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:46.352 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:46.352 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:46.353 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:46.353 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:46.353 [INFO] [Thread-88531 (handle)] [driver.py] [get_status()] Telra = 14.2334894, teldec = -24.256627
2025-11-03T09:00:46.353 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2334894 -24.256627
2025-11-03T09:00:46.353 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2334894 -24.256627
2025-11-03T09:00:46.353 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2334894 -24.256627
2025-11-03T09:00:46.354 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 17;14.2334894;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25326;2460982.79220317;9.0128475;1.3;_14.2094159181068 -24.1365312357435
2025-11-03T09:00:46.354 [INFO] [Thread-88531 (handle)] [driver.py] [get_status()] ra_j2k = 14.2094159181068     dec_j2k = -24.1365312357435
2025-11-03T09:00:46.354 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:46.354 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:46.354 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:46.355 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 140;0.0966722691017183;171.162357330327;_
2025-11-03T09:00:46.355 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response 140;0.0966722691017183;171.162357330327;_
2025-11-03T09:00:46.355 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:46.355 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:46.355 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:46.356 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:46.357 [DEBUG] [Thread-88531 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:46.357 [DEBUG] [Thread-88531 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:46.357 [DEBUG] [Thread-88531 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:46.359 [DEBUG] [Thread-88531 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57959)
2025-11-03T09:00:46.360 [DEBUG] [Thread-88531 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:46.360 [DEBUG] [Thread-88531 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:46.360 [DEBUG] [Thread-88531 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:46.360 [DEBUG] [Thread-88531 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:46.360 [DEBUG] [Thread-88531 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:46.367 [DEBUG] [Thread-88531 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:46.367 [DEBUG] [Thread-88531 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:46.367 [DEBUG] [Thread-88531 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:46.368 [DEBUG] [Thread-88531 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:46.368 [INFO] [Thread-88531 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79220315, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966722691017183, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2334894, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25326, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2094159181068, telescope_dec_j2k=-24.1365312357435, observability=1)
2025-11-03T09:00:46.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:46
2025-11-03T09:00:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3973112106323242s
2025-11-03T09:00:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3973112106323242
2025-11-03T09:00:48.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:48
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.394535541534424s
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2341538;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25392;2460982.79223106;9.01351;1.3;_
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2341538;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25392;2460982.79223106;9.01351;1.3;_
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:48.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2341538, teldec = -24.256627
2025-11-03T09:00:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2341538 -24.256627
2025-11-03T09:00:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2341538 -24.256627
2025-11-03T09:00:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2341538 -24.256627
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2341538;-24.256627;50.108611;89.99305;50.08601;90.12017;11.25392;2460982.7922311;9.01351;1.3;_14.2100796944636 -24.1365442719112
2025-11-03T09:00:48.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2100796944636     dec_j2k = -24.1365442719112
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966717476464618;171.162346601491;_
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966717476464618;171.162346601491;_
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44723)
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:48.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:48.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79223106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966717476464618, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2341538, telescope_dec=-24.256627, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25392, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2100796944636, telescope_dec_j2k=-24.1365442719112, observability=1)
2025-11-03T09:00:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:50
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847123622894287s
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2347147;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25448;2460982.79225421;9.01406944;1.3;_
2025-11-03T09:00:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2347147;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25448;2460982.79225421;9.01406944;1.3;_
2025-11-03T09:00:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2347147, teldec = -24.256626
2025-11-03T09:00:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2347147 -24.256626
2025-11-03T09:00:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2347147 -24.256626
2025-11-03T09:00:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2347147 -24.256626
2025-11-03T09:00:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2347147;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25448;2460982.79225424;9.01406944;1.3;_14.2106400681208 -24.1365542801694
2025-11-03T09:00:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2106400681208     dec_j2k = -24.1365542801694
2025-11-03T09:00:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096671707534519;171.162346601491;_
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096671707534519;171.162346601491;_
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50959)
2025-11-03T09:00:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79225421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096671707534519, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2347147, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25448, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2106400681208, telescope_dec_j2k=-24.1365542801694, observability=1)
2025-11-03T09:00:52.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:52
2025-11-03T09:00:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975393533706665s
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2352657;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25503;2460982.7922773;9.01461889;1.3;_
2025-11-03T09:00:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2352657;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25503;2460982.7922773;9.01461889;1.3;_
2025-11-03T09:00:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:52.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2352657, teldec = -24.256626
2025-11-03T09:00:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2352657 -24.256626
2025-11-03T09:00:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2352657 -24.256626
2025-11-03T09:00:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2352657 -24.256626
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2352657;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25503;2460982.79227733;9.01461889;1.3;_14.2111905510049 -24.1365650966839
2025-11-03T09:00:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2111905510049     dec_j2k = -24.1365650966839
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966716674225762;171.162362694745;_
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966716674225762;171.162362694745;_
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37669)
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:52.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:52.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:52.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:52.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:52.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7922773, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966716674225762, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2352657, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25503, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2111905510049, telescope_dec_j2k=-24.1365650966839, observability=1)
2025-11-03T09:00:54.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:54
2025-11-03T09:00:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816834926605225s
2025-11-03T09:00:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2358261;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2556;2460982.79230045;9.01517778;1.3;_
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2358261;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2556;2460982.79230045;9.01517778;1.3;_
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:54.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2358261, teldec = -24.256626
2025-11-03T09:00:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2358261 -24.256626
2025-11-03T09:00:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2358261 -24.256626
2025-11-03T09:00:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2358261 -24.256626
2025-11-03T09:00:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2358261;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2556;2460982.79230049;9.01517778;1.3;_14.2117504251076 -24.1365761003208
2025-11-03T09:00:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2117504251076     dec_j2k = -24.1365761003208
2025-11-03T09:00:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966722289897755;171.162346601491;_
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966722289897755;171.162346601491;_
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43229)
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:54.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:54.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:54.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79230045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966722289897755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2358261, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2556, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2117504251076, telescope_dec_j2k=-24.1365761003208, observability=1)
2025-11-03T09:00:55.030 [DEBUG] [Thread-88532 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:55.030 [DEBUG] [Thread-88532 (handle)] [server.py] [get_status()] Status age = 0.2537205219268799s
2025-11-03T09:00:55.030 [DEBUG] [Thread-88532 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2537205219268799
2025-11-03T09:00:56.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:56
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804368019104004s
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.236386;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25616;2460982.7923236;9.01573611;1.3;_
2025-11-03T09:00:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.236386;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25616;2460982.7923236;9.01573611;1.3;_
2025-11-03T09:00:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:56.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.236386, teldec = -24.256626
2025-11-03T09:00:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.236386 -24.256626
2025-11-03T09:00:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.236386 -24.256626
2025-11-03T09:00:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.236386 -24.256626
2025-11-03T09:00:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.236386;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25616;2460982.79232362;9.01573611;1.3;_14.2123097997202 -24.1365870967521
2025-11-03T09:00:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2123097997202     dec_j2k = -24.1365870967521
2025-11-03T09:00:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966716273106334;171.162362694745;_
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966716273106334;171.162362694745;_
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46097)
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:56.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:56.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:56.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:56.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7923236, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966716273106334, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.236386, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25616, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2123097997202, telescope_dec_j2k=-24.1365870967521, observability=1)
2025-11-03T09:00:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1518001556396484s
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:00:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:00:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:00:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2367216;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25649;2460982.79233713;9.01607083;1.3;_
2025-11-03T09:00:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.2367216;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25649;2460982.79233713;9.01607083;1.3;_
2025-11-03T09:00:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:00:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:00:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:00:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:00:57.929 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.2367216, teldec = -24.256626
2025-11-03T09:00:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2367216 -24.256626
2025-11-03T09:00:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2367216 -24.256626
2025-11-03T09:00:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2367216 -24.256626
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2367216;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25649;2460982.79233715;9.01607083;1.3;_14.2126450848264 -24.1365936891847
2025-11-03T09:00:57.931 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.2126450848264     dec_j2k = -24.1365936891847
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966714267509194;171.162346601491;_
2025-11-03T09:00:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966714267509194;171.162346601491;_
2025-11-03T09:00:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:00:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:00:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:00:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:00:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56319)
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:00:57.939 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:00:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:00:57.947 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79233713, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966714267509194, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2367216, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25649, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2126450848264, telescope_dec_j2k=-24.1365936891847, observability=1)
2025-11-03T09:00:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:00:58
2025-11-03T09:00:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:00:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8111178874969482s
2025-11-03T09:00:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8111178874969482
2025-11-03T09:01:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:00
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.812013626098633s
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2374971;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25727;2460982.79236991;9.01684417;1.3;_
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2374971;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25727;2460982.79236991;9.01684417;1.3;_
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2374971, teldec = -24.256626
2025-11-03T09:01:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2374971 -24.256626
2025-11-03T09:01:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2374971 -24.256626
2025-11-03T09:01:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2374971 -24.256626
2025-11-03T09:01:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2374971;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25727;2460982.79236993;9.01684417;1.3;_14.21341985723 -24.1366089264774
2025-11-03T09:01:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.21341985723     dec_j2k = -24.1366089264774
2025-11-03T09:01:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966721487658899;171.162362694745;_
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966721487658899;171.162362694745;_
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43055)
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79236991, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966721487658899, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2374971, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.21341985723, telescope_dec_j2k=-24.1366089264774, observability=1)
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5535285472869873s
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:02.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:02.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:02.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:02.332 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:02.332 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:02.333 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:02.333 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:02.333 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:02.333 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:02.334 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.2379458;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25772;2460982.79238812;9.01729167;1.3;_
2025-11-03T09:01:02.334 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.2379458;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25772;2460982.79238812;9.01729167;1.3;_
2025-11-03T09:01:02.334 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:02.334 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:02.334 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:02.335 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:02.335 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:02.335 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.2379458, teldec = -24.256626
2025-11-03T09:01:02.335 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2379458 -24.256626
2025-11-03T09:01:02.335 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2379458 -24.256626
2025-11-03T09:01:02.335 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2379458 -24.256626
2025-11-03T09:01:02.336 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.2379458;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25772;2460982.79238815;9.01729167;1.3;_14.2138681362825 -24.1366177449774
2025-11-03T09:01:02.336 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.2138681362825     dec_j2k = -24.1366177449774
2025-11-03T09:01:02.336 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:02.336 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:02.336 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966718278703474;171.162357330327;_
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:02.337 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:02.338 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:02.339 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:02.339 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:02.339 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:02.346 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53855)
2025-11-03T09:01:02.346 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:02.346 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:02.346 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:02.347 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:02.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:02.354 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:02.354 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79238812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966718278703474, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2379458, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25772, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2138681362825, telescope_dec_j2k=-24.1366177449774, observability=1)
2025-11-03T09:01:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:02
2025-11-03T09:01:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4033181667327881s
2025-11-03T09:01:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4033181667327881
2025-11-03T09:01:04.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:04
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.402585029602051s
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2386079;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25838;2460982.79241619;9.01795194;1.3;_
2025-11-03T09:01:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2386079;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25838;2460982.79241619;9.01795194;1.3;_
2025-11-03T09:01:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2386079, teldec = -24.256626
2025-11-03T09:01:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2386079 -24.256626
2025-11-03T09:01:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2386079 -24.256626
2025-11-03T09:01:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2386079 -24.256626
2025-11-03T09:01:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2386079;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25838;2460982.79241622;9.01795194;1.3;_14.2145296151819 -24.1366307605836
2025-11-03T09:01:04.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2145296151819     dec_j2k = -24.1366307605836
2025-11-03T09:01:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966720685420043;171.162351965909;_
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966720685420043;171.162351965909;_
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60989)
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:04.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:04.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79241619, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966720685420043, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2386079, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25838, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2145296151819, telescope_dec_j2k=-24.1366307605836, observability=1)
2025-11-03T09:01:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:06
2025-11-03T09:01:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9884681701660156s
2025-11-03T09:01:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2391686;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25894;2460982.7924394;9.01851111;1.3;_
2025-11-03T09:01:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2391686;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25894;2460982.7924394;9.01851111;1.3;_
2025-11-03T09:01:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2391686, teldec = -24.256626
2025-11-03T09:01:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2391686 -24.256626
2025-11-03T09:01:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2391686 -24.256626
2025-11-03T09:01:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2391686 -24.256626
2025-11-03T09:01:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2391686;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25894;2460982.79243942;9.01851111;1.3;_14.2150897892469 -24.1366417857157
2025-11-03T09:01:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2150897892469     dec_j2k = -24.1366417857157
2025-11-03T09:01:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966721086539471;171.162351965909;_
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966721086539471;171.162351965909;_
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:06.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52909)
2025-11-03T09:01:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:06.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7924394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966721086539471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2391686, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25894, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2150897892469, telescope_dec_j2k=-24.1366417857157, observability=1)
2025-11-03T09:01:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:08
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824604988098145s
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.239729;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2595;2460982.79246256;9.01907;1.3;_
2025-11-03T09:01:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.239729;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2595;2460982.79246256;9.01907;1.3;_
2025-11-03T09:01:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.239729, teldec = -24.256626
2025-11-03T09:01:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.239729 -24.256626
2025-11-03T09:01:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.239729 -24.256626
2025-11-03T09:01:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.239729 -24.256626
2025-11-03T09:01:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.239729;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2595;2460982.79246258;9.01907;1.3;_14.2156496636342 -24.1366528075636
2025-11-03T09:01:08.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2156496636342     dec_j2k = -24.1366528075636
2025-11-03T09:01:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966713866389766;171.162357330327;_
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966713866389766;171.162357330327;_
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55371)
2025-11-03T09:01:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:08.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:08.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:08.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79246256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966713866389766, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.239729, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2156496636342, telescope_dec_j2k=-24.1366528075636, observability=1)
2025-11-03T09:01:09.837 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:01:09
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.056704044342041s
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:09.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:09.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:09.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2400365;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25981;2460982.79247499;9.01937667;1.3;_
2025-11-03T09:01:09.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.2400365;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25981;2460982.79247499;9.01937667;1.3;_
2025-11-03T09:01:09.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:09.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:09.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:09.840 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:09.840 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:09.840 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.2400365, teldec = -24.256626
2025-11-03T09:01:09.840 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2400365 -24.256626
2025-11-03T09:01:09.840 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2400365 -24.256626
2025-11-03T09:01:09.840 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2400365 -24.256626
2025-11-03T09:01:09.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2400365;-24.256626;50.108611;89.99305;50.08601;90.12017;11.25981;2460982.79247501;9.01937667;1.3;_14.2159568752399 -24.1366588565299
2025-11-03T09:01:09.841 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2159568752399     dec_j2k = -24.1366588565299
2025-11-03T09:01:09.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:09.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:09.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:09.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966721086539471;171.162357330327;_
2025-11-03T09:01:09.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966721086539471;171.162357330327;_
2025-11-03T09:01:09.843 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:09.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:09.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:09.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:09.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:09.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:09.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:09.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54933)
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:09.846 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:09.854 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:09.854 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79247499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966721086539471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2400365, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.25981, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:00:10.848408', telescope_ra_j2k=14.2159568752399, telescope_dec_j2k=-24.1366588565299, observability=1)
2025-11-03T09:01:10.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:10
2025-11-03T09:01:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.903200626373291s
2025-11-03T09:01:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.903200626373291
2025-11-03T09:01:10.991 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:10.991 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:10.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:10.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:10.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:10.992 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:10.992 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:10.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:10.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:10.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:10.993 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:01:10.993 [INFO] [ThreadPoolExecutor-3377_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:01:10.993 [INFO] [ThreadPoolExecutor-3377_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:01:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:12
2025-11-03T09:01:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.904118776321411s
2025-11-03T09:01:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2408398;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26061;2460982.7925088;9.02017778;1.3;_
2025-11-03T09:01:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2408398;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26061;2460982.7925088;9.02017778;1.3;_
2025-11-03T09:01:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:12.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2408398, teldec = -24.256626
2025-11-03T09:01:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2408398 -24.256626
2025-11-03T09:01:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2408398 -24.256626
2025-11-03T09:01:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2408398 -24.256626
2025-11-03T09:01:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2408398;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26061;2460982.79250883;9.02017778;1.3;_14.2167594219089 -24.1366746623066
2025-11-03T09:01:12.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2167594219089     dec_j2k = -24.1366746623066
2025-11-03T09:01:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966723092136611;171.162357330327;_
2025-11-03T09:01:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966723092136611;171.162357330327;_
2025-11-03T09:01:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43169)
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:12.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:12.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7925088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966723092136611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2408398, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26061, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2167594219089, telescope_dec_j2k=-24.1366746623066, observability=1)
2025-11-03T09:01:13.158 [DEBUG] [Thread-88533 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:13.159 [DEBUG] [Thread-88533 (handle)] [server.py] [get_status()] Status age = 0.3832359313964844s
2025-11-03T09:01:13.159 [DEBUG] [Thread-88533 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3832359313964844
2025-11-03T09:01:13.297 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:01:13.297 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5215778350830078s
2025-11-03T09:01:13.297 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5215778350830078
2025-11-03T09:01:13.297 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4600839614868164 seconds ago
2025-11-03T09:01:14.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:14
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981632947921753s
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2414008;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26117;2460982.79253192;9.02073722;1.3;_
2025-11-03T09:01:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2414008;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26117;2460982.79253192;9.02073722;1.3;_
2025-11-03T09:01:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:14.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2414008, teldec = -24.256626
2025-11-03T09:01:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2414008 -24.256626
2025-11-03T09:01:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2414008 -24.256626
2025-11-03T09:01:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2414008 -24.256626
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2414008;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26117;2460982.79253196;9.02073722;1.3;_14.2173198958557 -24.1366857037594
2025-11-03T09:01:14.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2173198958557     dec_j2k = -24.1366857037594
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966722691017183;171.162368059163;_
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966722691017183;171.162368059163;_
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41431)
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:14.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:14.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:14.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:14.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:14.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79253192, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966722691017183, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2414008, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26117, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2173198958557, telescope_dec_j2k=-24.1366857037594, observability=1)
2025-11-03T09:01:16.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:16
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9915175437927246s
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2419534;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26172;2460982.79255517;9.02128833;1.3;_
2025-11-03T09:01:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2419534;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26172;2460982.79255517;9.02128833;1.3;_
2025-11-03T09:01:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:16.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2419534, teldec = -24.256626
2025-11-03T09:01:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2419534 -24.256626
2025-11-03T09:01:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2419534 -24.256626
2025-11-03T09:01:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2419534 -24.256626
2025-11-03T09:01:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2419534;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26172;2460982.7925552;9.02128833;1.3;_14.2178719777193 -24.1366965824459
2025-11-03T09:01:16.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2178719777193     dec_j2k = -24.1366965824459
2025-11-03T09:01:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096672750445032;171.162368059163;_
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096672750445032;171.162368059163;_
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:16.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55515)
2025-11-03T09:01:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:16.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:16.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:16.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79255517, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096672750445032, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2419534, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26172, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2178719777193, telescope_dec_j2k=-24.1366965824459, observability=1)
2025-11-03T09:01:18.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:18
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9751176834106445s
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2425155;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26228;2460982.79257825;9.02184889;1.3;_
2025-11-03T09:01:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2425155;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26228;2460982.79257825;9.02184889;1.3;_
2025-11-03T09:01:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:18.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2425155, teldec = -24.256626
2025-11-03T09:01:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2425155 -24.256626
2025-11-03T09:01:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2425155 -24.256626
2025-11-03T09:01:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2425155 -24.256626
2025-11-03T09:01:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2425155;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26228;2460982.79257828;9.02184889;1.3;_14.2184335507162 -24.1367076507595
2025-11-03T09:01:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2184335507162     dec_j2k = -24.1367076507595
2025-11-03T09:01:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966725097733751;171.162362694745;_
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966725097733751;171.162362694745;_
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48239)
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:18.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:18.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79257825, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966725097733751, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2425155, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26228, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2184335507162, telescope_dec_j2k=-24.1367076507595, observability=1)
2025-11-03T09:01:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:20
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980555772781372s
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.243067;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26284;2460982.7926014;9.02239889;1.3;_
2025-11-03T09:01:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.243067;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26284;2460982.7926014;9.02239889;1.3;_
2025-11-03T09:01:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:20.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.243067, teldec = -24.256626
2025-11-03T09:01:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.243067 -24.256626
2025-11-03T09:01:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.243067 -24.256626
2025-11-03T09:01:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.243067 -24.256626
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.243067;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26284;2460982.79260142;9.02239889;1.3;_14.2189845336913 -24.1367185129032
2025-11-03T09:01:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2189845336913     dec_j2k = -24.1367185129032
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966726301092036;171.162368059163;_
2025-11-03T09:01:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966726301092036;171.162368059163;_
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52467)
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:20.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:20.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:20.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:20.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:20.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7926014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966726301092036, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.243067, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26284, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2189845336913, telescope_dec_j2k=-24.1367185129032, observability=1)
2025-11-03T09:01:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:22
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831597805023193s
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2436327;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2634;2460982.79262456;9.02296306;1.3;_
2025-11-03T09:01:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2436327;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2634;2460982.79262456;9.02296306;1.3;_
2025-11-03T09:01:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2436327, teldec = -24.256626
2025-11-03T09:01:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2436327 -24.256626
2025-11-03T09:01:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2436327 -24.256626
2025-11-03T09:01:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2436327 -24.256626
2025-11-03T09:01:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2436327;-24.256626;50.108611;89.99305;50.08601;90.12017;11.2634;2460982.79262458;9.02296306;1.3;_14.2195497033954 -24.1367296573536
2025-11-03T09:01:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2195497033954     dec_j2k = -24.1367296573536
2025-11-03T09:01:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966727905569748;171.162346601491;_
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966727905569748;171.162346601491;_
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51417)
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:22.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:22.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:22.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:22.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79262456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966727905569748, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2436327, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2634, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2195497033954, telescope_dec_j2k=-24.1367296573536, observability=1)
2025-11-03T09:01:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:24
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982856035232544s
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2441848;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26395;2460982.79264777;9.02351361;1.3;_
2025-11-03T09:01:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2441848;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26395;2460982.79264777;9.02351361;1.3;_
2025-11-03T09:01:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2441848, teldec = -24.256626
2025-11-03T09:01:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2441848 -24.256626
2025-11-03T09:01:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2441848 -24.256626
2025-11-03T09:01:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2441848 -24.256626
2025-11-03T09:01:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2441848;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26395;2460982.79264779;9.02351361;1.3;_14.2201012858885 -24.1367405364469
2025-11-03T09:01:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2201012858885     dec_j2k = -24.1367405364469
2025-11-03T09:01:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966721888778327;171.162357330327;_
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966721888778327;171.162357330327;_
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37637)
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:24.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:24.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:24.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:24.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:24.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79264777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966721888778327, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2441848, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26395, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2201012858885, telescope_dec_j2k=-24.1367405364469, observability=1)
2025-11-03T09:01:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:26
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982882022857666s
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2447449;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26451;2460982.7926709;9.02407222;1.3;_
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2447449;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26451;2460982.7926709;9.02407222;1.3;_
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2447449, teldec = -24.256626
2025-11-03T09:01:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2447449 -24.256626
2025-11-03T09:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2447449 -24.256626
2025-11-03T09:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2447449 -24.256626
2025-11-03T09:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2447449;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26451;2460982.79267093;9.02407222;1.3;_14.2206608609236 -24.1367515757702
2025-11-03T09:01:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2206608609236     dec_j2k = -24.1367515757702
2025-11-03T09:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966730713405744;171.162357330327;_
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966730713405744;171.162357330327;_
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48875)
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:26.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:26.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7926709, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966730713405744, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2447449, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26451, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2206608609236, telescope_dec_j2k=-24.1367515757702, observability=1)
2025-11-03T09:01:28.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:28
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9731295108795166s
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2453045;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26507;2460982.79269398;9.02463028;1.3;_
2025-11-03T09:01:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2453045;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26507;2460982.79269398;9.02463028;1.3;_
2025-11-03T09:01:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2453045, teldec = -24.256626
2025-11-03T09:01:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2453045 -24.256626
2025-11-03T09:01:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2453045 -24.256626
2025-11-03T09:01:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2453045 -24.256626
2025-11-03T09:01:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2453045;-24.256626;50.108611;89.99305;50.08601;90.12017;11.26507;2460982.792694;9.02463028;1.3;_14.2212199364683 -24.1367626078442
2025-11-03T09:01:28.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2212199364683     dec_j2k = -24.1367626078442
2025-11-03T09:01:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966732719002884;171.162351965909;_
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966732719002884;171.162351965909;_
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43933)
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:28.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79269398, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966732719002884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108611, telescope_az=89.99305, telescope_ra=14.2453045, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26507, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2212199364683, telescope_dec_j2k=-24.1367626078442, observability=1)
2025-11-03T09:01:30.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:30
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829285144805908s
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2458558;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26562;2460982.79271713;9.02518;1.3;_
2025-11-03T09:01:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2458558;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26562;2460982.79271713;9.02518;1.3;_
2025-11-03T09:01:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2458558, teldec = -24.256626
2025-11-03T09:01:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2458558 -24.256626
2025-11-03T09:01:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2458558 -24.256626
2025-11-03T09:01:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2458558 -24.256626
2025-11-03T09:01:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2458558;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26562;2460982.79271715;9.02518;1.3;_14.2217707198317 -24.1367734788367
2025-11-03T09:01:30.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2217707198317     dec_j2k = -24.1367734788367
2025-11-03T09:01:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966730312286316;171.162351965909;_
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966730312286316;171.162351965909;_
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:30.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35751)
2025-11-03T09:01:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:30.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:30.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79271713, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966730312286316, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2458558, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26562, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2217707198317, telescope_dec_j2k=-24.1367734788367, observability=1)
2025-11-03T09:01:31.217 [DEBUG] [Thread-88534 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:31.217 [DEBUG] [Thread-88534 (handle)] [server.py] [get_status()] Status age = 0.442706823348999s
2025-11-03T09:01:31.217 [DEBUG] [Thread-88534 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.442706823348999
2025-11-03T09:01:31.869 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.869 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.869 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:31.869 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:31.870 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:01:31.871 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:31.872 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:31.873 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:01:31.874 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:31.875 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:31.876 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:31.876 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:31.876 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:31.876 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Park
2025-11-03T09:01:31.876 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:01:31.877 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:01:31.878 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 29;14.2461641;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26593;2460982.79273007;9.0254875;1.3;_Park Command Successful
2025-11-03T09:01:32.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:32
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819467067718506s
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2464162;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26619;2460982.79274027;9.02573889;1.3;_
2025-11-03T09:01:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2464162;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26619;2460982.79274027;9.02573889;1.3;_
2025-11-03T09:01:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2464162, teldec = -24.256626
2025-11-03T09:01:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2464162 -24.256626
2025-11-03T09:01:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2464162 -24.256626
2025-11-03T09:01:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2464162 -24.256626
2025-11-03T09:01:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2464162;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26619;2460982.79274029;9.02573889;1.3;_14.222330594708 -24.1367845318607
2025-11-03T09:01:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.222330594708     dec_j2k = -24.1367845318607
2025-11-03T09:01:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966728707808604;171.162357330327;_
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966728707808604;171.162357330327;_
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39133)
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:32.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:32.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79274027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966728707808604, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2464162, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26619, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.222330594708, telescope_dec_j2k=-24.1367845318607, observability=1)
2025-11-03T09:01:32.878 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:01:32.878 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:01:32.878 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:01:32.879 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:01:32.879 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:01:33.879 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:01:33.879 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:01:33.879 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:01:33.880 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:01:33.880 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:01:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:34
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857268333435059s
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2469755;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26674;2460982.79276344;9.02629667;1.3;_
2025-11-03T09:01:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2469755;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26674;2460982.79276344;9.02629667;1.3;_
2025-11-03T09:01:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2469755, teldec = -24.256626
2025-11-03T09:01:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2469755 -24.256626
2025-11-03T09:01:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2469755 -24.256626
2025-11-03T09:01:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2469755 -24.256626
2025-11-03T09:01:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2469755;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26674;2460982.79276346;9.02629667;1.3;_14.2228893706559 -24.1367955657922
2025-11-03T09:01:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2228893706559     dec_j2k = -24.1367955657922
2025-11-03T09:01:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096672951004746;171.162362694745;_
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096672951004746;171.162362694745;_
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41137)
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:34.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:34.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:34.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79276344, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096672951004746, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2469755, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26674, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2228893706559, telescope_dec_j2k=-24.1367955657922, observability=1)
2025-11-03T09:01:34.880 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:01:34.880 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:01:34.880 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:01:34.881 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:01:34.881 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:01:35.881 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:01:35.881 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:01:35.881 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:01:35.882 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:01:35.882 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:01:35.882 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:35.882 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:35.882 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:35.883 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:35.883 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:01:35.884 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:01:35.885 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:36.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:36
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780340194702148s
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2475264;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2673;2460982.79278655;9.02684611;1.3;_
2025-11-03T09:01:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2475264;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2673;2460982.79278655;9.02684611;1.3;_
2025-11-03T09:01:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:36.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2475264, teldec = -24.256626
2025-11-03T09:01:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2475264 -24.256626
2025-11-03T09:01:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2475264 -24.256626
2025-11-03T09:01:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2475264 -24.256626
2025-11-03T09:01:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2475264;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2673;2460982.79278657;9.02684611;1.3;_14.2234397545145 -24.13680643655
2025-11-03T09:01:36.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2234397545145     dec_j2k = -24.13680643655
2025-11-03T09:01:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966730312286316;171.162362694745;_
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966730312286316;171.162362694745;_
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33213)
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:36.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:36.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:36.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79278655, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966730312286316, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2475264, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2673, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2234397545145, telescope_dec_j2k=-24.13680643655, observability=1)
2025-11-03T09:01:36.885 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:36.885 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:36.885 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:36.885 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:36.885 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:01:36.886 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:01:36.887 [DEBUG] [ThreadPoolExecutor-3376_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:36.887 [INFO] [ThreadPoolExecutor-3376_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:01:38.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:38
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983893632888794s
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2480869;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26786;2460982.79280973;9.027405;1.3;_
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2480869;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26786;2460982.79280973;9.027405;1.3;_
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2480869, teldec = -24.256626
2025-11-03T09:01:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2480869 -24.256626
2025-11-03T09:01:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2480869 -24.256626
2025-11-03T09:01:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2480869 -24.256626
2025-11-03T09:01:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2480869;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26786;2460982.79280976;9.027405;1.3;_14.2239997294195 -24.1368174993311
2025-11-03T09:01:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2239997294195     dec_j2k = -24.1368174993311
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966731114525172;171.162357330327;_
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966731114525172;171.162357330327;_
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:38.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55205)
2025-11-03T09:01:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:38.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:38.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:38.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79280973, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966731114525172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2480869, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26786, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2239997294195, telescope_dec_j2k=-24.1368174993311, observability=1)
2025-11-03T09:01:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:40
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816477298736572s
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2486467;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26842;2460982.79283287;9.02796333;1.3;_
2025-11-03T09:01:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2486467;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26842;2460982.79283287;9.02796333;1.3;_
2025-11-03T09:01:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:40.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2486467, teldec = -24.256626
2025-11-03T09:01:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2486467 -24.256626
2025-11-03T09:01:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2486467 -24.256626
2025-11-03T09:01:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2486467 -24.256626
2025-11-03T09:01:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2486467;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26842;2460982.79283289;9.02796333;1.3;_14.2245590050212 -24.1368285509024
2025-11-03T09:01:40.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2245590050212     dec_j2k = -24.1368285509024
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966734323480597;171.162357330327;_
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966734323480597;171.162357330327;_
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41463)
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:40.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:40.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:40.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79283287, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966734323480597, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2486467, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2245590050212, telescope_dec_j2k=-24.1368285509024, observability=1)
2025-11-03T09:01:42.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:42
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979184627532959s
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2491971;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26897;2460982.79285601;9.02851222;1.3;_
2025-11-03T09:01:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2491971;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26897;2460982.79285601;9.02851222;1.3;_
2025-11-03T09:01:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:42.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2491971, teldec = -24.256626
2025-11-03T09:01:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2491971 -24.256626
2025-11-03T09:01:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2491971 -24.256626
2025-11-03T09:01:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2491971 -24.256626
2025-11-03T09:01:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2491971;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26897;2460982.79285603;9.02851222;1.3;_14.2251088894686 -24.1368394194383
2025-11-03T09:01:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2251088894686     dec_j2k = -24.1368394194383
2025-11-03T09:01:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966731114525172;171.162362694745;_
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966731114525172;171.162362694745;_
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40281)
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:42.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:42.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:42.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79285601, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966731114525172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2491971, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26897, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2251088894686, telescope_dec_j2k=-24.1368394194383, observability=1)
2025-11-03T09:01:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:44
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986114263534546s
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2497578;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26953;2460982.79287918;9.02907139;1.3;_
2025-11-03T09:01:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2497578;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26953;2460982.79287918;9.02907139;1.3;_
2025-11-03T09:01:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2497578, teldec = -24.256626
2025-11-03T09:01:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2497578 -24.256626
2025-11-03T09:01:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2497578 -24.256626
2025-11-03T09:01:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2497578 -24.256626
2025-11-03T09:01:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2497578;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26953;2460982.79287921;9.02907139;1.3;_14.2256690643088 -24.136850493953
2025-11-03T09:01:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2256690643088     dec_j2k = -24.136850493953
2025-11-03T09:01:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966731114525172;171.162357330327;_
2025-11-03T09:01:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966731114525172;171.162357330327;_
2025-11-03T09:01:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35959)
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:44.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:44.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79287918, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966731114525172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2497578, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26953, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2256690643088, telescope_dec_j2k=-24.136850493953, observability=1)
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Status age = 1.6316523551940918s
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:46.409 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:46.410 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:46.411 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 17;14.2502063;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26998;2460982.79289828;9.02951861;1.3;_
2025-11-03T09:01:46.411 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response 17;14.2502063;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26998;2460982.79289828;9.02951861;1.3;_
2025-11-03T09:01:46.411 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:46.412 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:46.412 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:46.413 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:46.413 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:46.413 [INFO] [Thread-88535 (handle)] [driver.py] [get_status()] Telra = 14.2502063, teldec = -24.256626
2025-11-03T09:01:46.413 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2502063 -24.256626
2025-11-03T09:01:46.413 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2502063 -24.256626
2025-11-03T09:01:46.413 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2502063 -24.256626
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 17;14.2502063;-24.256626;50.10861;89.99305;50.08601;90.12017;11.26998;2460982.79289831;9.02951861;1.3;_14.2261171442668 -24.1368593542603
2025-11-03T09:01:46.414 [INFO] [Thread-88535 (handle)] [driver.py] [get_status()] ra_j2k = 14.2261171442668     dec_j2k = -24.1368593542603
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 140;0.0966732719002884;171.162362694745;_
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response 140;0.0966732719002884;171.162362694745;_
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:46.414 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:46.415 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:46.416 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:46.417 [DEBUG] [Thread-88535 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:46.417 [DEBUG] [Thread-88535 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:46.417 [DEBUG] [Thread-88535 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53709)
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:46.424 [DEBUG] [Thread-88535 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:46.431 [DEBUG] [Thread-88535 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:46.431 [INFO] [Thread-88535 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79289828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966732719002884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2502063, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.26998, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2261171442668, telescope_dec_j2k=-24.1368593542603, observability=1)
2025-11-03T09:01:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:46
2025-11-03T09:01:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33808064460754395s
2025-11-03T09:01:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33808064460754395
2025-11-03T09:01:48.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:48
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3309662342071533s
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2508778;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27065;2460982.79292551;9.03018833;1.3;_
2025-11-03T09:01:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2508778;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27065;2460982.79292551;9.03018833;1.3;_
2025-11-03T09:01:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2508778, teldec = -24.256626
2025-11-03T09:01:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2508778 -24.256626
2025-11-03T09:01:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2508778 -24.256626
2025-11-03T09:01:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2508778 -24.256626
2025-11-03T09:01:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2508778;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27065;2460982.79292553;9.03018833;1.3;_14.2267880154237 -24.1368726231515
2025-11-03T09:01:48.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2267880154237     dec_j2k = -24.1368726231515
2025-11-03T09:01:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966733120122313;171.162357330327;_
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966733120122313;171.162357330327;_
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:48.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45561)
2025-11-03T09:01:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:48.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:48.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:48.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:48.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:48.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79292551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966733120122313, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2508778, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2267880154237, telescope_dec_j2k=-24.1368726231515, observability=1)
2025-11-03T09:01:49.283 [DEBUG] [Thread-88536 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:49.284 [DEBUG] [Thread-88536 (handle)] [server.py] [get_status()] Status age = 0.5007460117340088s
2025-11-03T09:01:49.284 [DEBUG] [Thread-88536 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5007460117340088
2025-11-03T09:01:50.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:50
2025-11-03T09:01:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9906349182128906s
2025-11-03T09:01:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2514293;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2712;2460982.79294878;9.03073833;1.3;_
2025-11-03T09:01:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2514293;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2712;2460982.79294878;9.03073833;1.3;_
2025-11-03T09:01:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:50.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2514293, teldec = -24.256626
2025-11-03T09:01:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2514293 -24.256626
2025-11-03T09:01:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2514293 -24.256626
2025-11-03T09:01:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2514293 -24.256626
2025-11-03T09:01:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2514293;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2712;2460982.79294881;9.03073833;1.3;_14.2273389990018 -24.1368835236354
2025-11-03T09:01:50.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2273389990018     dec_j2k = -24.1368835236354
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966737131316593;171.162357330327;_
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966737131316593;171.162357330327;_
2025-11-03T09:01:50.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54921)
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:50.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:50.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79294878, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966737131316593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2514293, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2712, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2273389990018, telescope_dec_j2k=-24.1368835236354, observability=1)
2025-11-03T09:01:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:52
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9689865112304688s
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2519895;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27176;2460982.79297176;9.03129694;1.3;_
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2519895;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27176;2460982.79297176;9.03129694;1.3;_
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2519895, teldec = -24.256626
2025-11-03T09:01:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2519895 -24.256626
2025-11-03T09:01:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2519895 -24.256626
2025-11-03T09:01:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2519895 -24.256626
2025-11-03T09:01:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2519895;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27176;2460982.79297178;9.03129694;1.3;_14.2278986744741 -24.1368945986631
2025-11-03T09:01:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2278986744741     dec_j2k = -24.1368945986631
2025-11-03T09:01:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966732719002884;171.162368059163;_
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966732719002884;171.162368059163;_
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:52.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60071)
2025-11-03T09:01:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:52.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:52.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79297176, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966732719002884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2519895, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27176, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2278986744741, telescope_dec_j2k=-24.1368945986631, observability=1)
2025-11-03T09:01:54.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:54
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9740004539489746s
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:54.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:54.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2525488;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27232;2460982.79299486;9.03185472;1.3;_
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2525488;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27232;2460982.79299486;9.03185472;1.3;_
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:54.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:54.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2525488, teldec = -24.256626
2025-11-03T09:01:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2525488 -24.256626
2025-11-03T09:01:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2525488 -24.256626
2025-11-03T09:01:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2525488 -24.256626
2025-11-03T09:01:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2525488;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27232;2460982.79299488;9.03185472;1.3;_14.2284574508301 -24.1369056584985
2025-11-03T09:01:54.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2284574508301     dec_j2k = -24.1369056584985
2025-11-03T09:01:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966735927958309;171.162362694745;_
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966735927958309;171.162362694745;_
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44895)
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:54.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:54.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:54.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79299486, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966735927958309, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2525488, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27232, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2284574508301, telescope_dec_j2k=-24.1369056584985, observability=1)
2025-11-03T09:01:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:56
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860568046569824s
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2531;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27287;2460982.79301809;9.03240444;1.3;_
2025-11-03T09:01:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2531;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27287;2460982.79301809;9.03240444;1.3;_
2025-11-03T09:01:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:56.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2531, teldec = -24.256626
2025-11-03T09:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2531 -24.256626
2025-11-03T09:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2531 -24.256626
2025-11-03T09:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2531 -24.256626
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2531;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27287;2460982.79301811;9.03240444;1.3;_14.2290081348098 -24.1369165607032
2025-11-03T09:01:56.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2290081348098     dec_j2k = -24.1369165607032
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966733120122313;171.162357330327;_
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966733120122313;171.162357330327;_
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:01:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54535)
2025-11-03T09:01:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:56.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79301809, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966733120122313, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2531, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2290081348098, telescope_dec_j2k=-24.1369165607032, observability=1)
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1608574390411377s
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:01:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:01:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:01:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2534362;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27321;2460982.79303175;9.03273972;1.3;_
2025-11-03T09:01:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.2534362;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27321;2460982.79303175;9.03273972;1.3;_
2025-11-03T09:01:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:01:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:01:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:01:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:01:57.944 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.2534362, teldec = -24.256626
2025-11-03T09:01:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2534362 -24.256626
2025-11-03T09:01:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2534362 -24.256626
2025-11-03T09:01:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2534362 -24.256626
2025-11-03T09:01:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2534362;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27321;2460982.79303177;9.03273972;1.3;_14.229344020087 -24.136923211654
2025-11-03T09:01:57.945 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.229344020087     dec_j2k = -24.136923211654
2025-11-03T09:01:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:01:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:01:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966732719002884;171.162362694745;_
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966732719002884;171.162362694745;_
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:01:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:01:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:01:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37813)
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:01:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:01:57.956 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:01:57.956 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79303175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966732719002884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2534362, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27321, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.229344020087, telescope_dec_j2k=-24.136923211654, observability=1)
2025-11-03T09:01:58.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:01:58
2025-11-03T09:01:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:01:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8003768920898438s
2025-11-03T09:01:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8003768920898438
2025-11-03T09:02:00.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:00
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7998874187469482s
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.25422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27399;2460982.79306434;9.03352139;1.3;_
2025-11-03T09:02:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.25422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27399;2460982.79306434;9.03352139;1.3;_
2025-11-03T09:02:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.25422, teldec = -24.256626
2025-11-03T09:02:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.25422 -24.256626
2025-11-03T09:02:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.25422 -24.256626
2025-11-03T09:02:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.25422 -24.256626
2025-11-03T09:02:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.25422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27399;2460982.79306438;9.03352139;1.3;_14.2301270864154 -24.1369387209959
2025-11-03T09:02:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2301270864154     dec_j2k = -24.1369387209959
2025-11-03T09:02:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966738735794305;171.162351965909;_
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966738735794305;171.162351965909;_
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53897)
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:00.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:00.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:00.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:00.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:00.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79306434, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966738735794305, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.25422, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27399, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2301270864154, telescope_dec_j2k=-24.1369387209959, observability=1)
2025-11-03T09:02:01.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:01.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6749579906463623s
2025-11-03T09:02:01.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6749579906463623
2025-11-03T09:02:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:02
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830727577209473s
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.254771;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27454;2460982.79308748;9.03407083;1.3;_
2025-11-03T09:02:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.254771;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27454;2460982.79308748;9.03407083;1.3;_
2025-11-03T09:02:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:02.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.254771, teldec = -24.256626
2025-11-03T09:02:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.254771 -24.256626
2025-11-03T09:02:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.254771 -24.256626
2025-11-03T09:02:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.254771 -24.256626
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.254771;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27454;2460982.79308751;9.03407083;1.3;_14.2306775707031 -24.1369496268913
2025-11-03T09:02:02.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2306775707031     dec_j2k = -24.1369496268913
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966736730197165;171.162357330327;_
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966736730197165;171.162357330327;_
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:02.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54733)
2025-11-03T09:02:02.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:02.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:02.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:02.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:02.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:02.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79308748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966736730197165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.254771, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27454, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2306775707031, telescope_dec_j2k=-24.1369496268913, observability=1)
2025-11-03T09:02:04.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:04
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.997298002243042s
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2553317;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2751;2460982.79311081;9.03463;1.3;_
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2553317;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2751;2460982.79311081;9.03463;1.3;_
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:04.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2553317, teldec = -24.256626
2025-11-03T09:02:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2553317 -24.256626
2025-11-03T09:02:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2553317 -24.256626
2025-11-03T09:02:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2553317 -24.256626
2025-11-03T09:02:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2553317;-24.256626;50.10861;89.99305;50.08601;90.12017;11.2751;2460982.79311083;9.03463;1.3;_14.231237745953 -24.1369607273658
2025-11-03T09:02:04.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.231237745953     dec_j2k = -24.1369607273658
2025-11-03T09:02:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966736730197165;171.162368059163;_
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966736730197165;171.162368059163;_
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39545)
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:04.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:04.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:04.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79311081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966736730197165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2553317, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2751, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.231237745953, telescope_dec_j2k=-24.1369607273658, observability=1)
2025-11-03T09:02:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:06
2025-11-03T09:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9737448692321777s
2025-11-03T09:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2558915;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27566;2460982.79313385;9.03518833;1.3;_
2025-11-03T09:02:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2558915;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27566;2460982.79313385;9.03518833;1.3;_
2025-11-03T09:02:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2558915, teldec = -24.256626
2025-11-03T09:02:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2558915 -24.256626
2025-11-03T09:02:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2558915 -24.256626
2025-11-03T09:02:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2558915 -24.256626
2025-11-03T09:02:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2558915;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27566;2460982.79313388;9.03518833;1.3;_14.2317970220864 -24.1369718126262
2025-11-03T09:02:06.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2317970220864     dec_j2k = -24.1369718126262
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966743549227442;171.162357330327;_
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966743549227442;171.162357330327;_
2025-11-03T09:02:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37671)
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:06.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:06.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79313385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966743549227442, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2558915, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27566, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2317970220864, telescope_dec_j2k=-24.1369718126262, observability=1)
2025-11-03T09:02:07.434 [DEBUG] [Thread-88537 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:07.434 [DEBUG] [Thread-88537 (handle)] [server.py] [get_status()] Status age = 0.6528594493865967s
2025-11-03T09:02:07.434 [DEBUG] [Thread-88537 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6528594493865967
2025-11-03T09:02:08.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:08
2025-11-03T09:02:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812819957733154s
2025-11-03T09:02:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2564422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27621;2460982.79315699;9.0357375;1.3;_
2025-11-03T09:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2564422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27621;2460982.79315699;9.0357375;1.3;_
2025-11-03T09:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2564422, teldec = -24.256626
2025-11-03T09:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2564422 -24.256626
2025-11-03T09:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2564422 -24.256626
2025-11-03T09:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2564422 -24.256626
2025-11-03T09:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2564422;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27621;2460982.79315703;9.0357375;1.3;_14.2323472067757 -24.1369827202253
2025-11-03T09:02:08.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2323472067757     dec_j2k = -24.1369827202253
2025-11-03T09:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966739136913733;171.162362694745;_
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966739136913733;171.162362694745;_
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:08.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44313)
2025-11-03T09:02:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:08.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:08.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:08.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:08.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79315699, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966739136913733, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2564422, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27621, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2323472067757, telescope_dec_j2k=-24.1369827202253, observability=1)
2025-11-03T09:02:09.915 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:02:09
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.1322946548461914s
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:09.915 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:09.916 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2567787;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27655;2460982.79317034;9.03607306;1.3;_
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.2567787;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27655;2460982.79317034;9.03607306;1.3;_
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:09.917 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:09.918 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:09.918 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:09.918 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.2567787, teldec = -24.256626
2025-11-03T09:02:09.918 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2567787 -24.256626
2025-11-03T09:02:09.918 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2567787 -24.256626
2025-11-03T09:02:09.918 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2567787 -24.256626
2025-11-03T09:02:09.919 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2567787;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27655;2460982.79317036;9.03607306;1.3;_14.2326833919197 -24.136989386449
2025-11-03T09:02:09.919 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2326833919197     dec_j2k = -24.136989386449
2025-11-03T09:02:09.919 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:09.919 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:09.919 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:09.919 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966744351466298;171.162357330327;_
2025-11-03T09:02:09.920 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966744351466298;171.162357330327;_
2025-11-03T09:02:09.920 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:09.920 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:09.920 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:09.920 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:09.921 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:09.922 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:09.922 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:09.922 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60019)
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:09.924 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:09.932 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:09.932 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:09.933 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:09.933 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79317034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966744351466298, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2567787, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:01:10.991119', telescope_ra_j2k=14.2326833919197, telescope_dec_j2k=-24.136989386449, observability=1)
2025-11-03T09:02:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:10
2025-11-03T09:02:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8266003131866455s
2025-11-03T09:02:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8266003131866455
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:11.132 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:11.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:11.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:11.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:11.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:11.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:11.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:11.133 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:11.134 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:02:11.135 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:12.136 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:02:12.137 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:12.138 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:12.139 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:12.139 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:12.139 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:12.139 [DEBUG] [ThreadPoolExecutor-3378_0] [payload.py] [to_registers()] [0]
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40749)
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:12.140 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:12.147 [DEBUG] [ThreadPoolExecutor-3378_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:12.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:12
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.826058864593506s
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2575628;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27733;2460982.79320324;9.036855;1.3;_
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2575628;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27733;2460982.79320324;9.036855;1.3;_
2025-11-03T09:02:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:12.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2575628, teldec = -24.256626
2025-11-03T09:02:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2575628 -24.256626
2025-11-03T09:02:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2575628 -24.256626
2025-11-03T09:02:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2575628 -24.256626
2025-11-03T09:02:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2575628;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27733;2460982.79320328;9.036855;1.3;_14.2334667583113 -24.1370049234864
2025-11-03T09:02:12.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2334667583113     dec_j2k = -24.1370049234864
2025-11-03T09:02:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966740340272017;171.162362694745;_
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966740340272017;171.162362694745;_
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48841)
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:12.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:12.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79320324, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966740340272017, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2575628, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27733, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2334667583113, telescope_dec_j2k=-24.1370049234864, observability=1)
2025-11-03T09:02:13.357 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:02:13.357 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5804154872894287s
2025-11-03T09:02:13.357 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5804154872894287
2025-11-03T09:02:13.357 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.442035436630249 seconds ago
2025-11-03T09:02:14.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:14
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793391227722168s
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2581224;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27789;2460982.79322637;9.03741306;1.3;_
2025-11-03T09:02:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2581224;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27789;2460982.79322637;9.03741306;1.3;_
2025-11-03T09:02:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:14.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2581224, teldec = -24.256626
2025-11-03T09:02:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2581224 -24.256626
2025-11-03T09:02:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2581224 -24.256626
2025-11-03T09:02:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2581224 -24.256626
2025-11-03T09:02:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2581224;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27789;2460982.79322639;9.03741306;1.3;_14.2340258347959 -24.1370160151491
2025-11-03T09:02:14.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2340258347959     dec_j2k = -24.1370160151491
2025-11-03T09:02:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966737933555449;171.162357330327;_
2025-11-03T09:02:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966737933555449;171.162357330327;_
2025-11-03T09:02:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41757)
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:14.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:14.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:14.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79322637, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966737933555449, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2581224, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27789, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2340258347959, telescope_dec_j2k=-24.1370160151491, observability=1)
2025-11-03T09:02:16.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:16
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0405585765838623s
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2586739;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27844;2460982.79325017;9.03796306;1.3;_
2025-11-03T09:02:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2586739;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27844;2460982.79325017;9.03796306;1.3;_
2025-11-03T09:02:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:16.816 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2586739, teldec = -24.256626
2025-11-03T09:02:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2586739 -24.256626
2025-11-03T09:02:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2586739 -24.256626
2025-11-03T09:02:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2586739 -24.256626
2025-11-03T09:02:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2586739;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27844;2460982.7932502;9.03796306;1.3;_14.2345768188984 -24.1370269488067
2025-11-03T09:02:16.817 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2345768188984     dec_j2k = -24.1370269488067
2025-11-03T09:02:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966737532436021;171.162362694745;_
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966737532436021;171.162362694745;_
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50371)
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:16.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:16.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:16.829 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:16.830 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:16.830 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79325017, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966737532436021, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2586739, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27844, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2345768188984, telescope_dec_j2k=-24.1370269488067, observability=1)
2025-11-03T09:02:18.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:18
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9338326454162598s
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2592343;-24.256626;50.10861;89.99305;50.08601;90.12017;11.279;2460982.79327275;9.03852194;1.3;_
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2592343;-24.256626;50.10861;89.99305;50.08601;90.12017;11.279;2460982.79327275;9.03852194;1.3;_
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:18.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2592343, teldec = -24.256626
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2592343 -24.256626
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2592343 -24.256626
2025-11-03T09:02:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2592343 -24.256626
2025-11-03T09:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2592343;-24.256626;50.10861;89.99305;50.08601;90.12017;11.279;2460982.79327277;9.03852194;1.3;_14.2351366947164 -24.1370380614947
2025-11-03T09:02:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2351366947164     dec_j2k = -24.1370380614947
2025-11-03T09:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966744752585726;171.162341237072;_
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966744752585726;171.162341237072;_
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55915)
2025-11-03T09:02:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:18.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79327275, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966744752585726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2592343, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2351366947164, telescope_dec_j2k=-24.1370380614947, observability=1)
2025-11-03T09:02:20.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:20
2025-11-03T09:02:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9714972972869873s
2025-11-03T09:02:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2597939;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27956;2460982.79329582;9.03908;1.3;_
2025-11-03T09:02:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2597939;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27956;2460982.79329582;9.03908;1.3;_
2025-11-03T09:02:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:20.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2597939, teldec = -24.256626
2025-11-03T09:02:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2597939 -24.256626
2025-11-03T09:02:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2597939 -24.256626
2025-11-03T09:02:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2597939 -24.256626
2025-11-03T09:02:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2597939;-24.256626;50.10861;89.99305;50.08601;90.12017;11.27956;2460982.79329584;9.03908;1.3;_14.2356957713239 -24.1370491609188
2025-11-03T09:02:20.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2356957713239     dec_j2k = -24.1370491609188
2025-11-03T09:02:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966738735794305;171.162351965909;_
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966738735794305;171.162351965909;_
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44721)
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:20.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:20.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79329582, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966738735794305, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10861, telescope_az=89.99305, telescope_ra=14.2597939, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.27956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2356957713239, telescope_dec_j2k=-24.1370491609188, observability=1)
2025-11-03T09:02:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:22
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832494258880615s
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2603448;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28011;2460982.79331899;9.03962944;1.3;_
2025-11-03T09:02:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2603448;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28011;2460982.79331899;9.03962944;1.3;_
2025-11-03T09:02:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2603448, teldec = -24.256626
2025-11-03T09:02:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2603448 -24.256626
2025-11-03T09:02:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2603448 -24.256626
2025-11-03T09:02:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2603448 -24.256626
2025-11-03T09:02:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2603448;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28011;2460982.79331902;9.03962944;1.3;_14.2362461561087 -24.1370600903199
2025-11-03T09:02:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2362461561087     dec_j2k = -24.1370600903199
2025-11-03T09:02:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966743148108014;171.162351965909;_
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966743148108014;171.162351965909;_
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36809)
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:22.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79331899, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966743148108014, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2603448, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28011, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2362461561087, telescope_dec_j2k=-24.1370600903199, observability=1)
2025-11-03T09:02:24.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:24
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9769127368927002s
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2609055;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28067;2460982.79334211;9.04018861;1.3;_
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2609055;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28067;2460982.79334211;9.04018861;1.3;_
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:24.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2609055, teldec = -24.256626
2025-11-03T09:02:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2609055 -24.256626
2025-11-03T09:02:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2609055 -24.256626
2025-11-03T09:02:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2609055 -24.256626
2025-11-03T09:02:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2609055;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28067;2460982.79334213;9.04018861;1.3;_14.2368063317694 -24.13707121673
2025-11-03T09:02:24.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2368063317694     dec_j2k = -24.13707121673
2025-11-03T09:02:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096674194474973;171.162362694745;_
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096674194474973;171.162362694745;_
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43935)
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:24.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:24.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:24.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79334211, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096674194474973, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2609055, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28067, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2368063317694, telescope_dec_j2k=-24.13707121673, observability=1)
2025-11-03T09:02:25.499 [DEBUG] [Thread-88538 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:25.499 [DEBUG] [Thread-88538 (handle)] [server.py] [get_status()] Status age = 0.7225339412689209s
2025-11-03T09:02:25.499 [DEBUG] [Thread-88538 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7225339412689209
2025-11-03T09:02:26.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:26
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979067325592041s
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2614648;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28123;2460982.79336525;9.04074639;1.3;_
2025-11-03T09:02:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2614648;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28123;2460982.79336525;9.04074639;1.3;_
2025-11-03T09:02:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:26.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2614648, teldec = -24.256626
2025-11-03T09:02:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2614648 -24.256626
2025-11-03T09:02:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2614648 -24.256626
2025-11-03T09:02:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2614648 -24.256626
2025-11-03T09:02:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2614648;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28123;2460982.79336528;9.04074639;1.3;_14.2373651087805 -24.1370823179568
2025-11-03T09:02:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2373651087805     dec_j2k = -24.1370823179568
2025-11-03T09:02:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966744351466298;171.162362694745;_
2025-11-03T09:02:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966744351466298;171.162362694745;_
2025-11-03T09:02:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41077)
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:26.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79336525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966744351466298, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2614648, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28123, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2373651087805, telescope_dec_j2k=-24.1370823179568, observability=1)
2025-11-03T09:02:28.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:28
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9925487041473389s
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2620166;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28179;2460982.79338854;9.04129667;1.3;_
2025-11-03T09:02:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2620166;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28179;2460982.79338854;9.04129667;1.3;_
2025-11-03T09:02:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:28.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2620166, teldec = -24.256626
2025-11-03T09:02:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2620166 -24.256626
2025-11-03T09:02:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2620166 -24.256626
2025-11-03T09:02:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2620166 -24.256626
2025-11-03T09:02:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2620166;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28179;2460982.79338856;9.04129667;1.3;_14.237916392845 -24.1370932728629
2025-11-03T09:02:28.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.237916392845     dec_j2k = -24.1370932728629
2025-11-03T09:02:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966745153705154;171.162362694745;_
2025-11-03T09:02:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966745153705154;171.162362694745;_
2025-11-03T09:02:28.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48811)
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:28.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79338854, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966745153705154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2620166, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28179, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.237916392845, telescope_dec_j2k=-24.1370932728629, observability=1)
2025-11-03T09:02:30.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:30
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9673373699188232s
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2625773;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28235;2460982.79341154;9.04185583;1.3;_
2025-11-03T09:02:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2625773;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28235;2460982.79341154;9.04185583;1.3;_
2025-11-03T09:02:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:30.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2625773, teldec = -24.256626
2025-11-03T09:02:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2625773 -24.256626
2025-11-03T09:02:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2625773 -24.256626
2025-11-03T09:02:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2625773 -24.256626
2025-11-03T09:02:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2625773;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28235;2460982.79341156;9.04185583;1.3;_14.2384765686291 -24.1371044070476
2025-11-03T09:02:30.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2384765686291     dec_j2k = -24.1371044070476
2025-11-03T09:02:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966741543630302;171.162357330327;_
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966741543630302;171.162357330327;_
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:30.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51901)
2025-11-03T09:02:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:30.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:30.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79341154, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966741543630302, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2625773, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28235, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2384765686291, telescope_dec_j2k=-24.1371044070476, observability=1)
2025-11-03T09:02:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:32
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817638397216797s
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2631366;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28291;2460982.79343471;9.04241361;1.3;_
2025-11-03T09:02:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2631366;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28291;2460982.79343471;9.04241361;1.3;_
2025-11-03T09:02:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2631366, teldec = -24.256626
2025-11-03T09:02:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2631366 -24.256626
2025-11-03T09:02:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2631366 -24.256626
2025-11-03T09:02:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2631366 -24.256626
2025-11-03T09:02:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2631366;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28291;2460982.79343473;9.04241361;1.3;_14.2390353457634 -24.1371155160288
2025-11-03T09:02:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2390353457634     dec_j2k = -24.1371155160288
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966745153705154;171.162346601491;_
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966745153705154;171.162346601491;_
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56419)
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:32.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:32.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79343471, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966745153705154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2631366, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2390353457634, telescope_dec_j2k=-24.1371155160288, observability=1)
2025-11-03T09:02:34.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:34
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788501262664795s
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:34.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2636876;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28346;2460982.79345784;9.04296306;1.3;_
2025-11-03T09:02:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2636876;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28346;2460982.79345784;9.04296306;1.3;_
2025-11-03T09:02:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:34.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2636876, teldec = -24.256626
2025-11-03T09:02:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2636876 -24.256626
2025-11-03T09:02:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2636876 -24.256626
2025-11-03T09:02:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2636876 -24.256626
2025-11-03T09:02:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2636876;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28346;2460982.79345786;9.04296306;1.3;_14.2395858306973 -24.1371264626893
2025-11-03T09:02:34.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2395858306973     dec_j2k = -24.1371264626893
2025-11-03T09:02:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749164899435;171.162357330327;_
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749164899435;171.162357330327;_
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:02:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42455)
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:34.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:34.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:34.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:34.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:34.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79345784, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749164899435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2636876, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28346, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2395858306973, telescope_dec_j2k=-24.1371264626893, observability=1)
2025-11-03T09:02:36.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:36
2025-11-03T09:02:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9846642017364502s
2025-11-03T09:02:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2642483;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28402;2460982.793481;9.04352222;1.3;_
2025-11-03T09:02:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2642483;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28402;2460982.793481;9.04352222;1.3;_
2025-11-03T09:02:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:36.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2642483, teldec = -24.256626
2025-11-03T09:02:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2642483 -24.256626
2025-11-03T09:02:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2642483 -24.256626
2025-11-03T09:02:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2642483 -24.256626
2025-11-03T09:02:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2642483;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28402;2460982.79348102;9.04352222;1.3;_14.2401460066048 -24.1371376046427
2025-11-03T09:02:36.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2401460066048     dec_j2k = -24.1371376046427
2025-11-03T09:02:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966743148108014;171.162351965909;_
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966743148108014;171.162351965909;_
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47915)
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:36.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:36.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.793481, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966743148108014, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2642483, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28402, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2401460066048, telescope_dec_j2k=-24.1371376046427, observability=1)
2025-11-03T09:02:37.148 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:37.148 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:37.148 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:37.148 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:37.148 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:37.149 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:02:37.150 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:02:37.151 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:38.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:38
2025-11-03T09:02:38.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:38.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776055812835693s
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2648079;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28458;2460982.79350412;9.04408028;1.3;_
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2648079;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28458;2460982.79350412;9.04408028;1.3;_
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:38.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2648079, teldec = -24.256626
2025-11-03T09:02:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2648079 -24.256626
2025-11-03T09:02:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2648079 -24.256626
2025-11-03T09:02:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2648079 -24.256626
2025-11-03T09:02:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2648079;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28458;2460982.79350414;9.04408028;1.3;_14.2407050835819 -24.137148727336
2025-11-03T09:02:38.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2407050835819     dec_j2k = -24.137148727336
2025-11-03T09:02:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749967138291;171.162351965909;_
2025-11-03T09:02:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749967138291;171.162351965909;_
2025-11-03T09:02:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59925)
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:38.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:38.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:38.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79350412, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749967138291, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2648079, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28458, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2407050835819, telescope_dec_j2k=-24.137148727336, observability=1)
2025-11-03T09:02:40.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:40
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813790321350098s
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2653588;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28513;2460982.79352727;9.04462972;1.3;_
2025-11-03T09:02:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2653588;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28513;2460982.79352727;9.04462972;1.3;_
2025-11-03T09:02:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:40.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2653588, teldec = -24.256626
2025-11-03T09:02:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2653588 -24.256626
2025-11-03T09:02:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2653588 -24.256626
2025-11-03T09:02:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2653588 -24.256626
2025-11-03T09:02:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2653588;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28513;2460982.7935273;9.04462972;1.3;_14.2412554687306 -24.1371596796424
2025-11-03T09:02:40.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2412554687306     dec_j2k = -24.1371596796424
2025-11-03T09:02:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966747961541151;171.162346601491;_
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966747961541151;171.162346601491;_
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33653)
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:40.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:40.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79352727, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966747961541151, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2653588, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28513, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2412554687306, telescope_dec_j2k=-24.1371596796424, observability=1)
2025-11-03T09:02:42.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:42
2025-11-03T09:02:42.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:42.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838500022888184s
2025-11-03T09:02:42.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2659195;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28569;2460982.79355044;9.04518889;1.3;_
2025-11-03T09:02:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2659195;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28569;2460982.79355044;9.04518889;1.3;_
2025-11-03T09:02:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:42.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2659195, teldec = -24.256626
2025-11-03T09:02:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2659195 -24.256626
2025-11-03T09:02:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2659195 -24.256626
2025-11-03T09:02:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2659195 -24.256626
2025-11-03T09:02:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2659195;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28569;2460982.79355046;9.04518889;1.3;_14.2418156447618 -24.1371708293633
2025-11-03T09:02:42.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2418156447618     dec_j2k = -24.1371708293633
2025-11-03T09:02:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966748763780007;171.162357330327;_
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966748763780007;171.162357330327;_
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51799)
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:42.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:42.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79355044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966748763780007, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2659195, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28569, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2418156447618, telescope_dec_j2k=-24.1371708293633, observability=1)
2025-11-03T09:02:43.554 [DEBUG] [Thread-88539 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:43.554 [DEBUG] [Thread-88539 (handle)] [server.py] [get_status()] Status age = 0.7787635326385498s
2025-11-03T09:02:43.554 [DEBUG] [Thread-88539 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7787635326385498
2025-11-03T09:02:44.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:44
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9798152446746826s
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2664794;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28625;2460982.79357359;9.04574722;1.3;_
2025-11-03T09:02:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2664794;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28625;2460982.79357359;9.04574722;1.3;_
2025-11-03T09:02:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:44.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2664794, teldec = -24.256626
2025-11-03T09:02:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2664794 -24.256626
2025-11-03T09:02:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2664794 -24.256626
2025-11-03T09:02:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2664794 -24.256626
2025-11-03T09:02:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2664794;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28625;2460982.79357361;9.04574722;1.3;_14.2423750215819 -24.1371819657758
2025-11-03T09:02:44.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2423750215819     dec_j2k = -24.1371819657758
2025-11-03T09:02:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966741142510874;171.162362694745;_
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966741142510874;171.162362694745;_
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36135)
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:44.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79357359, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966741142510874, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2664794, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28625, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2423750215819, telescope_dec_j2k=-24.1371819657758, observability=1)
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Status age = 1.7012410163879395s
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:46.473 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:46.474 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:46.475 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 17;14.2669551;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28672;2460982.79359346;9.04622167;1.3;_
2025-11-03T09:02:46.475 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response 17;14.2669551;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28672;2460982.79359346;9.04622167;1.3;_
2025-11-03T09:02:46.475 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:46.475 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:46.475 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:46.476 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:46.476 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:46.476 [INFO] [Thread-88540 (handle)] [driver.py] [get_status()] Telra = 14.2669551, teldec = -24.256626
2025-11-03T09:02:46.477 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2669551 -24.256626
2025-11-03T09:02:46.477 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2669551 -24.256626
2025-11-03T09:02:46.477 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2669551 -24.256626
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 17;14.2669551;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28672;2460982.79359348;9.04622167;1.3;_14.2428502771124 -24.1371914294914
2025-11-03T09:02:46.478 [INFO] [Thread-88540 (handle)] [driver.py] [get_status()] ra_j2k = 14.2428502771124     dec_j2k = -24.1371914294914
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 140;0.096675839064628;171.162362694745;_
2025-11-03T09:02:46.478 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response 140;0.096675839064628;171.162362694745;_
2025-11-03T09:02:46.479 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:46.479 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:46.479 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:46.479 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:46.480 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:46.481 [DEBUG] [Thread-88540 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:46.481 [DEBUG] [Thread-88540 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:46.481 [DEBUG] [Thread-88540 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37421)
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:46.484 [DEBUG] [Thread-88540 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:46.491 [DEBUG] [Thread-88540 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:46.491 [DEBUG] [Thread-88540 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:46.492 [DEBUG] [Thread-88540 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:46.492 [INFO] [Thread-88540 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79359346, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096675839064628, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2669551, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28672, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2428502771124, telescope_dec_j2k=-24.1371914294914, observability=1)
2025-11-03T09:02:46.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:46
2025-11-03T09:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2673969268798828s
2025-11-03T09:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2673969268798828
2025-11-03T09:02:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:48
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.266979932785034s
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2675905;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28736;2460982.79361991;9.04685528;1.3;_
2025-11-03T09:02:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2675905;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28736;2460982.79361991;9.04685528;1.3;_
2025-11-03T09:02:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:48.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2675905, teldec = -24.256626
2025-11-03T09:02:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2675905 -24.256626
2025-11-03T09:02:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2675905 -24.256626
2025-11-03T09:02:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2675905 -24.256626
2025-11-03T09:02:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2675905;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28736;2460982.79361994;9.04685528;1.3;_14.2434850834741 -24.1372040732508
2025-11-03T09:02:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2434850834741     dec_j2k = -24.1372040732508
2025-11-03T09:02:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749164899435;171.162351965909;_
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749164899435;171.162351965909;_
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:48.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51041)
2025-11-03T09:02:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:48.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:48.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79361991, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749164899435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2675905, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28736, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2434850834741, telescope_dec_j2k=-24.1372040732508, observability=1)
2025-11-03T09:02:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:50
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828898906707764s
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2681506;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28792;2460982.79364306;9.04741389;1.3;_
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2681506;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28792;2460982.79364306;9.04741389;1.3;_
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:50.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2681506, teldec = -24.256626
2025-11-03T09:02:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2681506 -24.256626
2025-11-03T09:02:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2681506 -24.256626
2025-11-03T09:02:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2681506 -24.256626
2025-11-03T09:02:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2681506;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28792;2460982.79364308;9.04741389;1.3;_14.2440446602309 -24.1372152213972
2025-11-03T09:02:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2440446602309     dec_j2k = -24.1372152213972
2025-11-03T09:02:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966751972735431;171.162351965909;_
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966751972735431;171.162351965909;_
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50931)
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:50.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79364306, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966751972735431, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2681506, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28792, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2440446602309, telescope_dec_j2k=-24.1372152213972, observability=1)
2025-11-03T09:02:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:52
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793646335601807s
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2687099;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28848;2460982.79366622;9.04797167;1.3;_
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2687099;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28848;2460982.79366622;9.04797167;1.3;_
2025-11-03T09:02:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2687099, teldec = -24.256626
2025-11-03T09:02:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2687099 -24.256626
2025-11-03T09:02:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2687099 -24.256626
2025-11-03T09:02:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2687099 -24.256626
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2687099;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28848;2460982.79366625;9.04797167;1.3;_14.2446034377764 -24.1372263562141
2025-11-03T09:02:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2446034377764     dec_j2k = -24.1372263562141
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749164899435;171.162351965909;_
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749164899435;171.162351965909;_
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37579)
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79366622, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749164899435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2687099, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28848, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2446034377764, telescope_dec_j2k=-24.1372263562141, observability=1)
2025-11-03T09:02:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:54
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977203130722046s
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2692615;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28903;2460982.79368935;9.04852167;1.3;_
2025-11-03T09:02:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2692615;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28903;2460982.79368935;9.04852167;1.3;_
2025-11-03T09:02:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2692615, teldec = -24.256626
2025-11-03T09:02:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2692615 -24.256626
2025-11-03T09:02:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2692615 -24.256626
2025-11-03T09:02:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2692615 -24.256626
2025-11-03T09:02:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2692615;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28903;2460982.79368937;9.04852167;1.3;_14.2451545225552 -24.1372373402737
2025-11-03T09:02:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2451545225552     dec_j2k = -24.1372373402737
2025-11-03T09:02:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749566018863;171.162357330327;_
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749566018863;171.162357330327;_
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40977)
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79368935, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749566018863, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2692615, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28903, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2451545225552, telescope_dec_j2k=-24.1372373402737, observability=1)
2025-11-03T09:02:56.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:56
2025-11-03T09:02:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9875378608703613s
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2698219;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28959;2460982.79371259;9.04908056;1.3;_
2025-11-03T09:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2698219;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28959;2460982.79371259;9.04908056;1.3;_
2025-11-03T09:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2698219, teldec = -24.256626
2025-11-03T09:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2698219 -24.256626
2025-11-03T09:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2698219 -24.256626
2025-11-03T09:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2698219 -24.256626
2025-11-03T09:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2698219;-24.256626;50.108609;89.99305;50.08601;90.12017;11.28959;2460982.79371262;9.04908056;1.3;_14.2457143991554 -24.1372485021494
2025-11-03T09:02:56.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2457143991554     dec_j2k = -24.1372485021494
2025-11-03T09:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966748362660579;171.162351965909;_
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966748362660579;171.162351965909;_
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45107)
2025-11-03T09:02:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:56.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:56.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:56.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79371259, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966748362660579, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2698219, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.28959, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2457143991554, telescope_dec_j2k=-24.1372485021494, observability=1)
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1605257987976074s
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:02:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:02:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:02:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2701297;-24.256626;50.108609;89.99305;50.08601;90.12017;11.2899;2460982.79372623;9.0493875;1.3;_
2025-11-03T09:02:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.2701297;-24.256626;50.108609;89.99305;50.08601;90.12017;11.2899;2460982.79372623;9.0493875;1.3;_
2025-11-03T09:02:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:02:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:02:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:02:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:02:57.947 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.2701297, teldec = -24.256626
2025-11-03T09:02:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2701297 -24.256626
2025-11-03T09:02:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2701297 -24.256626
2025-11-03T09:02:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2701297 -24.256626
2025-11-03T09:02:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2701297;-24.256626;50.108609;89.99305;50.08601;90.12017;11.2899;2460982.79372625;9.0493875;1.3;_14.2460219116955 -24.1372546339223
2025-11-03T09:02:57.948 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.2460219116955     dec_j2k = -24.1372546339223
2025-11-03T09:02:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:02:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:02:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966751170496575;171.162351965909;_
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966751170496575;171.162351965909;_
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:02:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:02:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:02:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:02:57.956 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56291)
2025-11-03T09:02:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:02:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:02:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:02:57.957 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:02:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:02:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:02:57.964 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79372623, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966751170496575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2701297, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.2899, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2460219116955, telescope_dec_j2k=-24.1372546339223, observability=1)
2025-11-03T09:02:58.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:02:58
2025-11-03T09:02:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:02:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.792482852935791s
2025-11-03T09:02:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.792482852935791
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 2.5791409015655518s
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:00.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:00.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:00.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.2708764;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29065;2460982.79375631;9.05013222;1.3;_
2025-11-03T09:03:00.545 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.2708764;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29065;2460982.79375631;9.05013222;1.3;_
2025-11-03T09:03:00.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:00.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:00.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:00.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:00.546 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:00.546 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.2708764, teldec = -24.256626
2025-11-03T09:03:00.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2708764 -24.256626
2025-11-03T09:03:00.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2708764 -24.256626
2025-11-03T09:03:00.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2708764 -24.256626
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.2708764;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29065;2460982.79375633;9.05013222;1.3;_14.2467679143912 -24.1372695124097
2025-11-03T09:03:00.547 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.2467679143912     dec_j2k = -24.1372695124097
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966755582810284;171.162351965909;_
2025-11-03T09:03:00.547 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966755582810284;171.162351965909;_
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:00.548 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:00.549 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59959)
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:00.556 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:00.563 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:00.563 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:00.563 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:00.563 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:00.564 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:00.564 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:00.564 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:00.564 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:00.564 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:00.564 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79375631, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966755582810284, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2708764, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2467679143912, telescope_dec_j2k=-24.1372695124097, observability=1)
2025-11-03T09:03:00.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:00
2025-11-03T09:03:00.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:00.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18967938423156738s
2025-11-03T09:03:00.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18967938423156738
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Status age = 1.1015970706939697s
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:01.665 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:01.666 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:01.667 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 17;14.2711845;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29095;2460982.79376929;9.05043944;1.3;_
2025-11-03T09:03:01.667 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response 17;14.2711845;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29095;2460982.79376929;9.05043944;1.3;_
2025-11-03T09:03:01.668 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:01.668 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:01.668 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:01.669 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:01.669 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:01.669 [INFO] [Thread-88541 (handle)] [driver.py] [get_status()] Telra = 14.2711845, teldec = -24.256626
2025-11-03T09:03:01.669 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2711845 -24.256626
2025-11-03T09:03:01.669 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2711845 -24.256626
2025-11-03T09:03:01.669 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2711845 -24.256626
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 17;14.2711845;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29095;2460982.79376933;9.05043944;1.3;_14.2470757266941 -24.1372756528501
2025-11-03T09:03:01.670 [INFO] [Thread-88541 (handle)] [driver.py] [get_status()] ra_j2k = 14.2470757266941     dec_j2k = -24.1372756528501
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 140;0.0966754780571428;171.162357330327;_
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response 140;0.0966754780571428;171.162357330327;_
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:01.670 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:01.671 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:01.671 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:01.671 [DEBUG] [Thread-88541 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:01.671 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:01.672 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:01.672 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:01.672 [DEBUG] [Thread-88541 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:01.672 [DEBUG] [Thread-88541 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:01.672 [DEBUG] [Thread-88541 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:01.678 [DEBUG] [Thread-88541 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37953)
2025-11-03T09:03:01.678 [DEBUG] [Thread-88541 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:01.678 [DEBUG] [Thread-88541 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:01.678 [DEBUG] [Thread-88541 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:01.678 [DEBUG] [Thread-88541 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:01.679 [DEBUG] [Thread-88541 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:01.686 [DEBUG] [Thread-88541 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:01.686 [INFO] [Thread-88541 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79376929, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966754780571428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2711845, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29095, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2470757266941, telescope_dec_j2k=-24.1372756528501, observability=1)
2025-11-03T09:03:02.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:02
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0681650638580322s
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:02.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:02.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:02.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2714928;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29126;2460982.7937819;9.05074694;1.3;_
2025-11-03T09:03:02.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2714928;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29126;2460982.7937819;9.05074694;1.3;_
2025-11-03T09:03:02.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:02.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:02.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:02.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2714928, teldec = -24.256626
2025-11-03T09:03:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2714928 -24.256626
2025-11-03T09:03:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2714928 -24.256626
2025-11-03T09:03:02.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2714928 -24.256626
2025-11-03T09:03:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2714928;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29126;2460982.79378192;9.05074694;1.3;_14.2473837388228 -24.1372817980632
2025-11-03T09:03:02.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2473837388228     dec_j2k = -24.1372817980632
2025-11-03T09:03:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096674595594401;171.162351965909;_
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096674595594401;171.162351965909;_
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:02.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34531)
2025-11-03T09:03:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:02.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:02.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:02.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7937819, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096674595594401, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2714928, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29126, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2473837388228, telescope_dec_j2k=-24.1372817980632, observability=1)
2025-11-03T09:03:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:04
2025-11-03T09:03:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9890074729919434s
2025-11-03T09:03:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2720527;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29182;2460982.79380519;9.05130528;1.3;_
2025-11-03T09:03:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2720527;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29182;2460982.79380519;9.05130528;1.3;_
2025-11-03T09:03:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:04.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2720527, teldec = -24.256626
2025-11-03T09:03:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2720527 -24.256626
2025-11-03T09:03:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2720527 -24.256626
2025-11-03T09:03:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2720527 -24.256626
2025-11-03T09:03:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2720527;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29182;2460982.79380521;9.05130528;1.3;_14.2479431160553 -24.1372929603249
2025-11-03T09:03:04.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2479431160553     dec_j2k = -24.1372929603249
2025-11-03T09:03:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966758791765708;171.162362694745;_
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966758791765708;171.162362694745;_
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36931)
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:04.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:04.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:04.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:04.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:04.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79380519, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966758791765708, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2720527, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29182, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2479431160553, telescope_dec_j2k=-24.1372929603249, observability=1)
2025-11-03T09:03:06.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:06
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.972398281097412s
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2726039;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29237;2460982.79382824;9.051855;1.3;_
2025-11-03T09:03:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2726039;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29237;2460982.79382824;9.051855;1.3;_
2025-11-03T09:03:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2726039, teldec = -24.256626
2025-11-03T09:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2726039 -24.256626
2025-11-03T09:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2726039 -24.256626
2025-11-03T09:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2726039 -24.256626
2025-11-03T09:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2726039;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29237;2460982.79382826;9.051855;1.3;_14.2484938014513 -24.1373039516773
2025-11-03T09:03:06.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2484938014513     dec_j2k = -24.1373039516773
2025-11-03T09:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966757187287996;171.162351965909;_
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966757187287996;171.162351965909;_
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45127)
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:06.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:06.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79382824, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966757187287996, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2726039, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29237, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2484938014513, telescope_dec_j2k=-24.1373039516773, observability=1)
2025-11-03T09:03:08.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:08
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9763739109039307s
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2731649;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29293;2460982.79385135;9.05241444;1.3;_
2025-11-03T09:03:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2731649;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29293;2460982.79385135;9.05241444;1.3;_
2025-11-03T09:03:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:08.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2731649, teldec = -24.256626
2025-11-03T09:03:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2731649 -24.256626
2025-11-03T09:03:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2731649 -24.256626
2025-11-03T09:03:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2731649 -24.256626
2025-11-03T09:03:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2731649;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29293;2460982.79385138;9.05241444;1.3;_14.2490542777393 -24.137315141032
2025-11-03T09:03:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2490542777393     dec_j2k = -24.137315141032
2025-11-03T09:03:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966762802959989;171.162357330327;_
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966762802959989;171.162357330327;_
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44391)
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79385135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966762802959989, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2731649, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29293, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2490542777393, telescope_dec_j2k=-24.137315141032, observability=1)
2025-11-03T09:03:09.994 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:03:09
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.2168629169464111s
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:09.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2735011;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29327;2460982.79386568;9.05274972;1.3;_
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.2735011;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29327;2460982.79386568;9.05274972;1.3;_
2025-11-03T09:03:09.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:09.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:09.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:09.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:09.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:09.997 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.2735011, teldec = -24.256626
2025-11-03T09:03:09.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2735011 -24.256626
2025-11-03T09:03:09.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2735011 -24.256626
2025-11-03T09:03:09.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2735011 -24.256626
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2735011;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29327;2460982.79386572;9.05274972;1.3;_14.2493901639055 -24.1373218479151
2025-11-03T09:03:09.998 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2493901639055     dec_j2k = -24.1373218479151
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966748362660579;171.162357330327;_
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966748362660579;171.162357330327;_
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:09.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:09.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:09.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:09.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:09.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:10.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:10.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:10.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:10.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:10.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32867)
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:10.003 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:10.010 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:10.010 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79386568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966748362660579, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2735011, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29327, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:02:11.131614', telescope_ra_j2k=14.2493901639055, telescope_dec_j2k=-24.1373218479151, observability=1)
2025-11-03T09:03:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:10
2025-11-03T09:03:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7491650581359863s
2025-11-03T09:03:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7491650581359863
2025-11-03T09:03:11.273 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:11.273 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:11.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:11.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:11.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:11.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:11.275 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:11.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:11.276 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:11.276 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:11.276 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:11.276 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:03:11.276 [INFO] [ThreadPoolExecutor-3379_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:03:11.276 [INFO] [ThreadPoolExecutor-3379_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:03:12.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:12
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7438855171203613s
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:12.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2742774;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29405;2460982.79389764;9.05352389;1.3;_
2025-11-03T09:03:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2742774;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29405;2460982.79389764;9.05352389;1.3;_
2025-11-03T09:03:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:12.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2742774, teldec = -24.256626
2025-11-03T09:03:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2742774 -24.256626
2025-11-03T09:03:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2742774 -24.256626
2025-11-03T09:03:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2742774 -24.256626
2025-11-03T09:03:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2742774;-24.256626;50.108609;89.99305;50.08601;90.12017;11.29405;2460982.79389766;9.05352389;1.3;_14.2501657393071 -24.1373373379659
2025-11-03T09:03:12.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2501657393071     dec_j2k = -24.1373373379659
2025-11-03T09:03:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966755181690856;171.162357330327;_
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966755181690856;171.162357330327;_
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49187)
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:12.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:12.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79389764, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966755181690856, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108609, telescope_az=89.99305, telescope_ra=14.2742774, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2501657393071, telescope_dec_j2k=-24.1373373379659, observability=1)
2025-11-03T09:03:13.417 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:03:13.417 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6475777626037598s
2025-11-03T09:03:13.417 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6475777626037598
2025-11-03T09:03:13.417 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.423295021057129 seconds ago
2025-11-03T09:03:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:14
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9900193214416504s
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2748384;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29461;2460982.79392084;9.05408333;1.3;_
2025-11-03T09:03:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2748384;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29461;2460982.79392084;9.05408333;1.3;_
2025-11-03T09:03:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2748384, teldec = -24.256626
2025-11-03T09:03:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2748384 -24.256626
2025-11-03T09:03:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2748384 -24.256626
2025-11-03T09:03:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2748384 -24.256626
2025-11-03T09:03:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2748384;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29461;2460982.79392088;9.05408333;1.3;_14.2507262157194 -24.1373485350915
2025-11-03T09:03:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2507262157194     dec_j2k = -24.1373485350915
2025-11-03T09:03:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966751571616003;171.162351965909;_
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966751571616003;171.162351965909;_
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43559)
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:14.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79392084, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966751571616003, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.99305, telescope_ra=14.2748384, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2507262157194, telescope_dec_j2k=-24.1373485350915, observability=1)
2025-11-03T09:03:16.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:16
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990511178970337s
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2753904;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29516;2460982.79394411;9.05463389;1.3;_
2025-11-03T09:03:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2753904;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29516;2460982.79394411;9.05463389;1.3;_
2025-11-03T09:03:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:16.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2753904, teldec = -24.256626
2025-11-03T09:03:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2753904 -24.256626
2025-11-03T09:03:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2753904 -24.256626
2025-11-03T09:03:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2753904 -24.256626
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2753904;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29516;2460982.79394413;9.05463389;1.3;_14.2512777005723 -24.1373595551263
2025-11-03T09:03:16.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2512777005723     dec_j2k = -24.1373595551263
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096676039624342;171.162351965909;_
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096676039624342;171.162351965909;_
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46349)
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:16.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:16.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:16.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:16.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:16.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79394411, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096676039624342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.99305, telescope_ra=14.2753904, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29516, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2512777005723, telescope_dec_j2k=-24.1373595551263, observability=1)
2025-11-03T09:03:18.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:18
2025-11-03T09:03:18.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:18.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9696078300476074s
2025-11-03T09:03:18.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:18.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.275952;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29572;2460982.79396714;9.05519389;1.3;_
2025-11-03T09:03:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.275952;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29572;2460982.79396714;9.05519389;1.3;_
2025-11-03T09:03:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:18.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.275952, teldec = -24.256626
2025-11-03T09:03:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.275952 -24.256626
2025-11-03T09:03:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.275952 -24.256626
2025-11-03T09:03:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.275952 -24.256626
2025-11-03T09:03:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.275952;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29572;2460982.79396716;9.05519389;1.3;_14.2518387765075 -24.1373707694014
2025-11-03T09:03:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2518387765075     dec_j2k = -24.1373707694014
2025-11-03T09:03:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966753176093715;171.162357330327;_
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966753176093715;171.162357330327;_
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43121)
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:18.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:18.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79396714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966753176093715, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.99305, telescope_ra=14.275952, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29572, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2518387765075, telescope_dec_j2k=-24.1373707694014, observability=1)
2025-11-03T09:03:19.726 [DEBUG] [Thread-88542 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:19.726 [DEBUG] [Thread-88542 (handle)] [server.py] [get_status()] Status age = 0.9464776515960693s
2025-11-03T09:03:19.726 [DEBUG] [Thread-88542 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9464776515960693
2025-11-03T09:03:20.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:20
2025-11-03T09:03:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9733784198760986s
2025-11-03T09:03:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2765032;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29627;2460982.79399022;9.05574361;1.3;_
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2765032;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29627;2460982.79399022;9.05574361;1.3;_
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:20.756 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2765032, teldec = -24.256626
2025-11-03T09:03:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2765032 -24.256626
2025-11-03T09:03:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2765032 -24.256626
2025-11-03T09:03:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2765032 -24.256626
2025-11-03T09:03:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2765032;-24.256626;50.108608;89.99305;50.08601;90.12017;11.29627;2460982.79399024;9.05574361;1.3;_14.2523894621883 -24.1373817785424
2025-11-03T09:03:20.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2523894621883     dec_j2k = -24.1373817785424
2025-11-03T09:03:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966760797362848;171.162351965909;_
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966760797362848;171.162351965909;_
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49371)
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:20.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:20.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79399022, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966760797362848, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.99305, telescope_ra=14.2765032, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29627, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2523894621883, telescope_dec_j2k=-24.1373817785424, observability=1)
2025-11-03T09:03:22.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:22
2025-11-03T09:03:22.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.002290964126587s
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2770647;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29683;2460982.79401361;9.05630361;1.3;_
2025-11-03T09:03:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2770647;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29683;2460982.79401361;9.05630361;1.3;_
2025-11-03T09:03:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:22.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2770647, teldec = -24.256626
2025-11-03T09:03:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2770647 -24.256626
2025-11-03T09:03:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2770647 -24.256626
2025-11-03T09:03:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2770647 -24.256626
2025-11-03T09:03:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2770647;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29683;2460982.79401363;9.05630361;1.3;_14.2529504382997 -24.1373929959902
2025-11-03T09:03:22.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2529504382997     dec_j2k = -24.1373929959902
2025-11-03T09:03:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096675638504914;171.162357330327;_
2025-11-03T09:03:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096675638504914;171.162357330327;_
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47387)
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:22.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:22.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:22.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79401361, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096675638504914, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2770647, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29683, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2529504382997, telescope_dec_j2k=-24.1373929959902, observability=1)
2025-11-03T09:03:24.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:24
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9600229263305664s
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2776252;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29739;2460982.79403654;9.0568625;1.3;_
2025-11-03T09:03:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2776252;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29739;2460982.79403654;9.0568625;1.3;_
2025-11-03T09:03:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:24.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2776252, teldec = -24.256626
2025-11-03T09:03:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2776252 -24.256626
2025-11-03T09:03:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2776252 -24.256626
2025-11-03T09:03:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2776252 -24.256626
2025-11-03T09:03:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2776252;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29739;2460982.79403656;9.0568625;1.3;_14.2535104153858 -24.1374041960617
2025-11-03T09:03:24.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2535104153858     dec_j2k = -24.1374041960617
2025-11-03T09:03:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966749967138291;171.162362694745;_
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966749967138291;171.162362694745;_
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47757)
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:24.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:24.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79403654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966749967138291, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2776252, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2535104153858, telescope_dec_j2k=-24.1374041960617, observability=1)
2025-11-03T09:03:26.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:26
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831748008728027s
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:26.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2781764;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29795;2460982.79405969;9.05741222;1.3;_
2025-11-03T09:03:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2781764;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29795;2460982.79405969;9.05741222;1.3;_
2025-11-03T09:03:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:26.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2781764, teldec = -24.256626
2025-11-03T09:03:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2781764 -24.256626
2025-11-03T09:03:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2781764 -24.256626
2025-11-03T09:03:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2781764 -24.256626
2025-11-03T09:03:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2781764;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29795;2460982.79405971;9.05741222;1.3;_14.254061101189 -24.1374152128322
2025-11-03T09:03:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.254061101189     dec_j2k = -24.1374152128322
2025-11-03T09:03:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966758791765708;171.162362694745;_
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966758791765708;171.162362694745;_
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51953)
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:26.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:26.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79405969, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966758791765708, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2781764, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29795, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.254061101189, telescope_dec_j2k=-24.1374152128322, observability=1)
2025-11-03T09:03:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:28
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852890968322754s
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2787382;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29851;2460982.79408291;9.0579725;1.3;_
2025-11-03T09:03:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2787382;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29851;2460982.79408291;9.0579725;1.3;_
2025-11-03T09:03:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2787382, teldec = -24.256626
2025-11-03T09:03:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2787382 -24.256626
2025-11-03T09:03:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2787382 -24.256626
2025-11-03T09:03:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2787382 -24.256626
2025-11-03T09:03:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2787382;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29851;2460982.79408293;9.0579725;1.3;_14.2546223771452 -24.1374264440497
2025-11-03T09:03:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2546223771452     dec_j2k = -24.1374264440497
2025-11-03T09:03:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966762401840561;171.162351965909;_
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966762401840561;171.162351965909;_
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43569)
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:28.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:28.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79408291, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966762401840561, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2787382, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29851, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2546223771452, telescope_dec_j2k=-24.1374264440497, observability=1)
2025-11-03T09:03:30.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:30
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9770145416259766s
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2792897;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29906;2460982.794106;9.0585225;1.3;_
2025-11-03T09:03:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2792897;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29906;2460982.794106;9.0585225;1.3;_
2025-11-03T09:03:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:30.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2792897, teldec = -24.256626
2025-11-03T09:03:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2792897 -24.256626
2025-11-03T09:03:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2792897 -24.256626
2025-11-03T09:03:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2792897 -24.256626
2025-11-03T09:03:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2792897;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29906;2460982.79410602;9.0585225;1.3;_14.25517336275 -24.1374374718938
2025-11-03T09:03:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.25517336275     dec_j2k = -24.1374374718938
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966766011915413;171.162351965909;_
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966766011915413;171.162351965909;_
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43403)
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:30.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:30.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:30.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.794106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966766011915413, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2792897, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29906, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.25517336275, telescope_dec_j2k=-24.1374374718938, observability=1)
2025-11-03T09:03:32.151 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.151 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.151 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:32.151 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:32.151 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:03:32.152 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:32.153 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:32.154 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.154 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:32.154 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:32.155 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:03:32.156 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:32.157 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Park
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:03:32.158 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:03:32.159 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 29;14.2796819;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29945;2460982.79412221;9.05891361;1.3;_Park Command Successful
2025-11-03T09:03:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:32
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9876575469970703s
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2798501;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29962;2460982.79412919;9.05908139;1.3;_
2025-11-03T09:03:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2798501;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29962;2460982.79412919;9.05908139;1.3;_
2025-11-03T09:03:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2798501, teldec = -24.256626
2025-11-03T09:03:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2798501 -24.256626
2025-11-03T09:03:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2798501 -24.256626
2025-11-03T09:03:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2798501 -24.256626
2025-11-03T09:03:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2798501;-24.256626;50.108608;89.993051;50.08601;90.12017;11.29962;2460982.79412921;9.05908139;1.3;_14.2557332400949 -24.1374486802795
2025-11-03T09:03:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2557332400949     dec_j2k = -24.1374486802795
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966761198482276;171.162362694745;_
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966761198482276;171.162362694745;_
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55253)
2025-11-03T09:03:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:32.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79412919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966761198482276, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2798501, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.29962, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2557332400949, telescope_dec_j2k=-24.1374486802795, observability=1)
2025-11-03T09:03:33.159 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:03:33.159 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:03:33.159 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:03:33.160 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:03:33.160 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:03:34.160 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:03:34.160 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:03:34.160 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:03:34.161 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:03:34.161 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:03:34.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:34
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9740288257598877s
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2804103;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30018;2460982.79415228;9.05964;1.3;_
2025-11-03T09:03:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2804103;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30018;2460982.79415228;9.05964;1.3;_
2025-11-03T09:03:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:34.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2804103, teldec = -24.256626
2025-11-03T09:03:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2804103 -24.256626
2025-11-03T09:03:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2804103 -24.256626
2025-11-03T09:03:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2804103 -24.256626
2025-11-03T09:03:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2804103;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30018;2460982.79415231;9.05964;1.3;_14.2562929176681 -24.1374598872606
2025-11-03T09:03:34.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2562929176681     dec_j2k = -24.1374598872606
2025-11-03T09:03:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096675839064628;171.162351965909;_
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096675839064628;171.162351965909;_
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58529)
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:34.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:34.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79415228, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096675839064628, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2804103, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30018, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2562929176681, telescope_dec_j2k=-24.1374598872606, observability=1)
2025-11-03T09:03:35.161 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:03:35.161 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:03:35.161 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:03:35.162 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:03:35.162 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:03:36.162 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:03:36.162 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:03:36.162 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:36.163 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:03:36.164 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:03:36.165 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:36.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:36
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828789234161377s
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2809699;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30074;2460982.7941755;9.06019806;1.3;_
2025-11-03T09:03:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2809699;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30074;2460982.7941755;9.06019806;1.3;_
2025-11-03T09:03:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2809699, teldec = -24.256626
2025-11-03T09:03:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2809699 -24.256626
2025-11-03T09:03:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2809699 -24.256626
2025-11-03T09:03:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2809699 -24.256626
2025-11-03T09:03:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2809699;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30074;2460982.79417552;9.06019806;1.3;_14.2568519958424 -24.137471084829
2025-11-03T09:03:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2568519958424     dec_j2k = -24.137471084829
2025-11-03T09:03:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966771627587406;171.162357330327;_
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966771627587406;171.162357330327;_
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41669)
2025-11-03T09:03:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:36.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:36.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7941755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966771627587406, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2809699, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2568519958424, telescope_dec_j2k=-24.137471084829, observability=1)
2025-11-03T09:03:37.165 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:37.165 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:37.165 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:37.165 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:37.165 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:03:37.166 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:03:37.167 [DEBUG] [ThreadPoolExecutor-3378_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:37.167 [INFO] [ThreadPoolExecutor-3378_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:03:37.791 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Status age = 1.0123770236968994s
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:37.792 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:37.793 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:37.794 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 17;14.2812409;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30101;2460982.79418743;9.06046833;1.3;_
2025-11-03T09:03:37.794 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response 17;14.2812409;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30101;2460982.79418743;9.06046833;1.3;_
2025-11-03T09:03:37.794 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:37.794 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:37.794 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:37.795 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:37.795 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:37.795 [INFO] [Thread-88543 (handle)] [driver.py] [get_status()] Telra = 14.2812409, teldec = -24.256626
2025-11-03T09:03:37.795 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2812409 -24.256626
2025-11-03T09:03:37.795 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2812409 -24.256626
2025-11-03T09:03:37.795 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2812409 -24.256626
2025-11-03T09:03:37.796 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 17;14.2812409;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30101;2460982.79418745;9.06046833;1.3;_14.2571227431505 -24.1374765084561
2025-11-03T09:03:37.796 [INFO] [Thread-88543 (handle)] [driver.py] [get_status()] ra_j2k = 14.2571227431505     dec_j2k = -24.1374765084561
2025-11-03T09:03:37.796 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:37.796 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:37.796 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 140;0.0966770023109694;171.162351965909;_
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response 140;0.0966770023109694;171.162351965909;_
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:37.797 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:37.798 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:37.799 [DEBUG] [Thread-88543 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:37.799 [DEBUG] [Thread-88543 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:37.799 [DEBUG] [Thread-88543 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34887)
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:37.802 [DEBUG] [Thread-88543 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:37.809 [DEBUG] [Thread-88543 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:37.810 [DEBUG] [Thread-88543 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:37.810 [INFO] [Thread-88543 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79418743, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966770023109694, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2812409, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2571227431505, telescope_dec_j2k=-24.1374765084561, observability=1)
2025-11-03T09:03:38.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:38
2025-11-03T09:03:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9461050033569336s
2025-11-03T09:03:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9461050033569336
2025-11-03T09:03:41.011 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:41
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 3.201127529144287s
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:41.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:41.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:41.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2821375;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30191;2460982.79422469;9.0613625;1.3;_
2025-11-03T09:03:41.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2821375;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30191;2460982.79422469;9.0613625;1.3;_
2025-11-03T09:03:41.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:41.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:41.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:41.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:41.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:41.014 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2821375, teldec = -24.256626
2025-11-03T09:03:41.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2821375 -24.256626
2025-11-03T09:03:41.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2821375 -24.256626
2025-11-03T09:03:41.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2821375 -24.256626
2025-11-03T09:03:41.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2821375;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30191;2460982.79422471;9.0613625;1.3;_14.2580185071923 -24.1374944567834
2025-11-03T09:03:41.015 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2580185071923     dec_j2k = -24.1374944567834
2025-11-03T09:03:41.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:41.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:41.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966765209676557;171.162346601491;_
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966765209676557;171.162346601491;_
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:41.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:41.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:41.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:41.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:41.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52957)
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:41.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:41.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:41.033 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79422469, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966765209676557, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2821375, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30191, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2580185071923, telescope_dec_j2k=-24.1374944567834, observability=1)
2025-11-03T09:03:42.748 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:42
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7148399353027344s
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:42.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:42.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:42.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.282613;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30238;2460982.79424479;9.06183667;1.3;_
2025-11-03T09:03:42.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.282613;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30238;2460982.79424479;9.06183667;1.3;_
2025-11-03T09:03:42.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:42.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:42.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:42.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:42.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:42.751 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.282613, teldec = -24.256626
2025-11-03T09:03:42.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.282613 -24.256626
2025-11-03T09:03:42.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.282613 -24.256626
2025-11-03T09:03:42.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.282613 -24.256626
2025-11-03T09:03:42.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.282613;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30238;2460982.79424481;9.06183667;1.3;_14.2584935638962 -24.1375039781389
2025-11-03T09:03:42.752 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2584935638962     dec_j2k = -24.1375039781389
2025-11-03T09:03:42.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:42.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:42.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966769220870838;171.162357330327;_
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966769220870838;171.162357330327;_
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:42.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:42.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:42.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:42.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:42.757 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55719)
2025-11-03T09:03:42.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:42.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:42.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:42.758 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:42.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79424479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966769220870838, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.282613, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2584935638962, telescope_dec_j2k=-24.1375039781389, observability=1)
2025-11-03T09:03:44.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:44
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9900310039520264s
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2831921;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30296;2460982.79426802;9.06241417;1.3;_
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2831921;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30296;2460982.79426802;9.06241417;1.3;_
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:44.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2831921, teldec = -24.256626
2025-11-03T09:03:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2831921 -24.256626
2025-11-03T09:03:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2831921 -24.256626
2025-11-03T09:03:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2831921 -24.256626
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2831921;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30296;2460982.79426804;9.06241417;1.3;_14.2590721240572 -24.1375155764922
2025-11-03T09:03:44.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2590721240572     dec_j2k = -24.1375155764922
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966763605198845;171.162351965909;_
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966763605198845;171.162351965909;_
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:44.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48683)
2025-11-03T09:03:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:44.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:44.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79426802, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966763605198845, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2831921, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30296, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2590721240572, telescope_dec_j2k=-24.1375155764922, observability=1)
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Status age = 1.7775108814239502s
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:46.549 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:46.550 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:46.551 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 17;14.2836684;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30344;2460982.79428878;9.06288917;1.3;_
2025-11-03T09:03:46.551 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response 17;14.2836684;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30344;2460982.79428878;9.06288917;1.3;_
2025-11-03T09:03:46.551 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:46.551 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:46.551 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:46.552 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:46.552 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:46.552 [INFO] [Thread-88544 (handle)] [driver.py] [get_status()] Telra = 14.2836684, teldec = -24.256626
2025-11-03T09:03:46.552 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2836684 -24.256626
2025-11-03T09:03:46.552 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2836684 -24.256626
2025-11-03T09:03:46.552 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2836684 -24.256626
2025-11-03T09:03:46.553 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 17;14.2836684;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30344;2460982.79428881;9.06288917;1.3;_14.2595479800821 -24.1375251180198
2025-11-03T09:03:46.553 [INFO] [Thread-88544 (handle)] [driver.py] [get_status()] ra_j2k = 14.2595479800821     dec_j2k = -24.1375251180198
2025-11-03T09:03:46.553 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:46.553 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:46.553 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 140;0.0966772028706834;171.162351965909;_
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response 140;0.0966772028706834;171.162351965909;_
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:46.554 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:46.555 [DEBUG] [Thread-88544 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43071)
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:46.562 [DEBUG] [Thread-88544 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:46.569 [DEBUG] [Thread-88544 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:46.570 [INFO] [Thread-88544 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79428878, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966772028706834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2836684, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30344, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2595479800821, telescope_dec_j2k=-24.1375251180198, observability=1)
2025-11-03T09:03:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:46
2025-11-03T09:03:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19378304481506348s
2025-11-03T09:03:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19378304481506348
2025-11-03T09:03:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:48
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.188316583633423s
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2842842;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30405;2460982.79431435;9.06350333;1.3;_
2025-11-03T09:03:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2842842;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30405;2460982.79431435;9.06350333;1.3;_
2025-11-03T09:03:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2842842, teldec = -24.256626
2025-11-03T09:03:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2842842 -24.256626
2025-11-03T09:03:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2842842 -24.256626
2025-11-03T09:03:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2842842 -24.256626
2025-11-03T09:03:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2843123;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30408;2460982.79431438;9.06353139;1.3;_14.2601632061193 -24.1375374568738
2025-11-03T09:03:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2601632061193     dec_j2k = -24.1375374568738
2025-11-03T09:03:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966765610795985;171.162368059163;_
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966765610795985;171.162368059163;_
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58297)
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:48.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:48.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79431435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966765610795985, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2842842, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2601632061193, telescope_dec_j2k=-24.1375374568738, observability=1)
2025-11-03T09:03:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:50
2025-11-03T09:03:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843850135803223s
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2848633;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30463;2460982.79433758;9.06408083;1.3;_
2025-11-03T09:03:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2848633;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30463;2460982.79433758;9.06408083;1.3;_
2025-11-03T09:03:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2848633, teldec = -24.256626
2025-11-03T09:03:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2848633 -24.256626
2025-11-03T09:03:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2848633 -24.256626
2025-11-03T09:03:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2848633 -24.256626
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2848633;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30463;2460982.7943376;9.06408083;1.3;_14.2607417664091 -24.1375490632245
2025-11-03T09:03:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2607417664091     dec_j2k = -24.1375490632245
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966770424229122;171.162351965909;_
2025-11-03T09:03:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966770424229122;171.162351965909;_
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54729)
2025-11-03T09:03:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:50.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:50.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79433758, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966770424229122, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2848633, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30463, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2607417664091, telescope_dec_j2k=-24.1375490632245, observability=1)
2025-11-03T09:03:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:52
2025-11-03T09:03:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9749417304992676s
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2854234;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30519;2460982.79436066;9.06463944;1.3;_
2025-11-03T09:03:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2854234;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30519;2460982.79436066;9.06463944;1.3;_
2025-11-03T09:03:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2854234, teldec = -24.256626
2025-11-03T09:03:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2854234 -24.256626
2025-11-03T09:03:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2854234 -24.256626
2025-11-03T09:03:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2854234 -24.256626
2025-11-03T09:03:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2854234;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30519;2460982.79436068;9.06463944;1.3;_14.261301344449 -24.1375602914122
2025-11-03T09:03:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.261301344449     dec_j2k = -24.1375602914122
2025-11-03T09:03:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966766814154269;171.162351965909;_
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966766814154269;171.162351965909;_
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44013)
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:52.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:52.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:52.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79436066, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966766814154269, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2854234, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30519, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.261301344449, telescope_dec_j2k=-24.1375602914122, observability=1)
2025-11-03T09:03:54.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:54
2025-11-03T09:03:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978865623474121s
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2859554;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30572;2460982.79438378;9.06517;1.3;_
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2859554;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30572;2460982.79438378;9.06517;1.3;_
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:54.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2859554, teldec = -24.256626
2025-11-03T09:03:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2859554 -24.256626
2025-11-03T09:03:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2859554 -24.256626
2025-11-03T09:03:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2859554 -24.256626
2025-11-03T09:03:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2859554;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30572;2460982.79438381;9.06517;1.3;_14.2618328487141 -24.1375709586859
2025-11-03T09:03:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2618328487141     dec_j2k = -24.1375709586859
2025-11-03T09:03:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966769621990266;171.162351965909;_
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966769621990266;171.162351965909;_
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34271)
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:54.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:54.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79438378, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966769621990266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2859554, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30572, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2618328487141, telescope_dec_j2k=-24.1375709586859, observability=1)
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Status age = 1.1513466835021973s
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:55.926 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:55.927 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:55.928 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:55.929 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 17;14.2862911;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30606;2460982.79439733;9.06550472;1.3;_
2025-11-03T09:03:55.929 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response 17;14.2862911;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30606;2460982.79439733;9.06550472;1.3;_
2025-11-03T09:03:55.929 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:55.929 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:55.929 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:55.930 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:55.930 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:55.930 [INFO] [Thread-88545 (handle)] [driver.py] [get_status()] Telra = 14.2862911, teldec = -24.256626
2025-11-03T09:03:55.930 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2862911 -24.256626
2025-11-03T09:03:55.930 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2862911 -24.256626
2025-11-03T09:03:55.930 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2862911 -24.256626
2025-11-03T09:03:55.931 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 17;14.2862911;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30606;2460982.79439735;9.06550472;1.3;_14.2621682359174 -24.1375776910992
2025-11-03T09:03:55.931 [INFO] [Thread-88545 (handle)] [driver.py] [get_status()] ra_j2k = 14.2621682359174     dec_j2k = -24.1375776910992
2025-11-03T09:03:55.931 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:55.931 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:55.931 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 140;0.0966770424229122;171.162368059163;_
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response 140;0.0966770424229122;171.162368059163;_
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:55.932 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:55.933 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:55.934 [DEBUG] [Thread-88545 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:55.934 [DEBUG] [Thread-88545 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:55.934 [DEBUG] [Thread-88545 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:55.937 [DEBUG] [Thread-88545 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35691)
2025-11-03T09:03:55.937 [DEBUG] [Thread-88545 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:55.937 [DEBUG] [Thread-88545 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:55.937 [DEBUG] [Thread-88545 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:55.938 [DEBUG] [Thread-88545 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:55.938 [DEBUG] [Thread-88545 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:55.945 [DEBUG] [Thread-88545 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:55.945 [INFO] [Thread-88545 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79439733, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966770424229122, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2862911, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30606, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2621682359174, telescope_dec_j2k=-24.1375776910992, observability=1)
2025-11-03T09:03:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:56
2025-11-03T09:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8176777362823486s
2025-11-03T09:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8176777362823486
2025-11-03T09:03:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 2.0185816287994385s
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2868702;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30664;2460982.79442089;9.06608222;1.3;_
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.2868702;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30664;2460982.79442089;9.06608222;1.3;_
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:57.966 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.2868702, teldec = -24.256626
2025-11-03T09:03:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2868702 -24.256626
2025-11-03T09:03:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2868702 -24.256626
2025-11-03T09:03:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2868702 -24.256626
2025-11-03T09:03:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.2868702;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30664;2460982.79442091;9.06608222;1.3;_14.262746796362 -24.1375893070508
2025-11-03T09:03:57.968 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.262746796362     dec_j2k = -24.1375893070508
2025-11-03T09:03:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966772429826262;171.162368059163;_
2025-11-03T09:03:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966772429826262;171.162368059163;_
2025-11-03T09:03:57.969 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:03:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51207)
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:57.985 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79442089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966772429826262, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2868702, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30664, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.262746796362, telescope_dec_j2k=-24.1375893070508, observability=1)
2025-11-03T09:03:58.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:03:58
2025-11-03T09:03:58.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:58.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7693283557891846s
2025-11-03T09:03:58.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7693283557891846
2025-11-03T09:03:59.656 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6713752746582031s
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:03:59.657 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:03:59.658 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:03:59.658 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:03:59.658 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:03:59.658 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:03:59.658 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:03:59.659 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.2873189;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30709;2460982.7944405;9.06652972;1.3;_
2025-11-03T09:03:59.659 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.2873189;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30709;2460982.7944405;9.06652972;1.3;_
2025-11-03T09:03:59.659 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:03:59.659 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:03:59.659 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:03:59.660 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:59.660 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:03:59.660 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.2873189, teldec = -24.256626
2025-11-03T09:03:59.660 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2873189 -24.256626
2025-11-03T09:03:59.660 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2873189 -24.256626
2025-11-03T09:03:59.660 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2873189 -24.256626
2025-11-03T09:03:59.661 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.287347;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30712;2460982.79444052;9.06655778;1.3;_14.2631950783328 -24.1375983092619
2025-11-03T09:03:59.661 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.2631950783328     dec_j2k = -24.1375983092619
2025-11-03T09:03:59.661 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:03:59.661 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:03:59.661 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966769220870838;171.162357330327;_
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966769220870838;171.162357330327;_
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:59.662 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:59.663 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:59.663 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:59.663 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:59.663 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:03:59.663 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:03:59.664 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:03:59.664 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:59.664 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:03:59.664 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:03:59.669 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57143)
2025-11-03T09:03:59.669 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:03:59.670 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:03:59.670 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:03:59.670 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:03:59.670 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:03:59.677 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:03:59.677 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7944405, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966769220870838, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2873189, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2631950783328, telescope_dec_j2k=-24.1375983092619, observability=1)
2025-11-03T09:04:00.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:00
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0799691677093506s
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2876267;-24.256626;50.108608;89.993051;50.08601;90.12017;11.3074;2460982.79445323;9.06683667;1.3;_
2025-11-03T09:04:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2876267;-24.256626;50.108608;89.993051;50.08601;90.12017;11.3074;2460982.79445323;9.06683667;1.3;_
2025-11-03T09:04:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2876267, teldec = -24.256626
2025-11-03T09:04:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2876267 -24.256626
2025-11-03T09:04:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2876267 -24.256626
2025-11-03T09:04:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2876267 -24.256626
2025-11-03T09:04:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2876267;-24.256626;50.108608;89.993051;50.08601;90.12017;11.3074;2460982.79445325;9.06686472;1.3;_14.2635025915879 -24.1376044855757
2025-11-03T09:04:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2635025915879     dec_j2k = -24.1376044855757
2025-11-03T09:04:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966773232065118;171.162357330327;_
2025-11-03T09:04:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966773232065118;171.162357330327;_
2025-11-03T09:04:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38289)
2025-11-03T09:04:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:00.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:00.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79445323, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966773232065118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2876267, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2635025915879, telescope_dec_j2k=-24.1376044855757, observability=1)
2025-11-03T09:04:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:02
2025-11-03T09:04:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844365119934082s
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2881863;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30796;2460982.79447639;9.06739472;1.3;_
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2881863;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30796;2460982.79447639;9.06739472;1.3;_
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:02.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2881863, teldec = -24.256626
2025-11-03T09:04:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2881863 -24.256626
2025-11-03T09:04:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2881863 -24.256626
2025-11-03T09:04:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2881863 -24.256626
2025-11-03T09:04:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2881863;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30796;2460982.79447641;9.06739472;1.3;_14.2640616702999 -24.1376157165116
2025-11-03T09:04:02.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2640616702999     dec_j2k = -24.1376157165116
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966776039901114;171.162357330327;_
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966776039901114;171.162357330327;_
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:02.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60017)
2025-11-03T09:04:02.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:02.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:02.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:02.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:02.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:02.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79447639, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966776039901114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2881863, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2640616702999, telescope_dec_j2k=-24.1376157165116, observability=1)
2025-11-03T09:04:04.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:04
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978682279586792s
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:04.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:04.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:04.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2887378;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30851;2460982.79449949;9.06794472;1.3;_
2025-11-03T09:04:04.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2887378;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30851;2460982.79449949;9.06794472;1.3;_
2025-11-03T09:04:04.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:04.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:04.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:04.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2887378, teldec = -24.256626
2025-11-03T09:04:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2887378 -24.256626
2025-11-03T09:04:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2887378 -24.256626
2025-11-03T09:04:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2887378 -24.256626
2025-11-03T09:04:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2887659;-24.256626;50.108608;89.993051;50.08601;90.12017;11.30853;2460982.79449951;9.06797278;1.3;_14.2646126565981 -24.137626787414
2025-11-03T09:04:04.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2646126565981     dec_j2k = -24.137626787414
2025-11-03T09:04:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966768819751409;171.162362694745;_
2025-11-03T09:04:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966768819751409;171.162362694745;_
2025-11-03T09:04:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:04.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55617)
2025-11-03T09:04:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:04.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:04.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:04.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79449949, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966768819751409, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108608, telescope_az=89.993051, telescope_ra=14.2887378, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30851, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2646126565981, telescope_dec_j2k=-24.137626787414, observability=1)
2025-11-03T09:04:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:06
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.995190143585205s
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2893269;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3091;2460982.79452282;9.06853222;1.3;_
2025-11-03T09:04:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2893269;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3091;2460982.79452282;9.06853222;1.3;_
2025-11-03T09:04:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:06.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2893269, teldec = -24.256626
2025-11-03T09:04:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2893269 -24.256626
2025-11-03T09:04:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2893269 -24.256626
2025-11-03T09:04:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2893269 -24.256626
2025-11-03T09:04:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2893269;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3091;2460982.79452285;9.06853222;1.3;_14.2652012079182 -24.1376386158789
2025-11-03T09:04:06.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2652012079182     dec_j2k = -24.1376386158789
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966777243259399;171.162351965909;_
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966777243259399;171.162351965909;_
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59343)
2025-11-03T09:04:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:06.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:06.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79452282, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966777243259399, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2893269, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3091, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2652012079182, telescope_dec_j2k=-24.1376386158789, observability=1)
2025-11-03T09:04:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:08
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9770817756652832s
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2898776;-24.256626;50.108607;89.993051;50.08601;90.12017;11.30965;2460982.79454591;9.06908139;1.3;_
2025-11-03T09:04:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2898776;-24.256626;50.108607;89.993051;50.08601;90.12017;11.30965;2460982.79454591;9.06908139;1.3;_
2025-11-03T09:04:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2898776, teldec = -24.256626
2025-11-03T09:04:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2898776 -24.256626
2025-11-03T09:04:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2898776 -24.256626
2025-11-03T09:04:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2898776 -24.256626
2025-11-03T09:04:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2898776;-24.256626;50.108607;89.993051;50.08601;90.12017;11.30965;2460982.79454594;9.06908139;1.3;_14.2657513950454 -24.1376496759062
2025-11-03T09:04:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2657513950454     dec_j2k = -24.1376496759062
2025-11-03T09:04:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966775638781686;171.162351965909;_
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966775638781686;171.162351965909;_
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57963)
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:08.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:08.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79454591, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966775638781686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2898776, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.30965, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2657513950454, telescope_dec_j2k=-24.1376496759062, observability=1)
2025-11-03T09:04:10.071 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:04:10
2025-11-03T09:04:10.071 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:10.071 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.2872536182403564s
2025-11-03T09:04:10.071 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:10.072 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:10.072 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:10.072 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:10.072 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:10.072 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2902422;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31001;2460982.79456103;9.069445;1.3;_
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.2902422;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31001;2460982.79456103;9.069445;1.3;_
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:10.073 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:10.074 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:10.074 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:10.074 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.2902422, teldec = -24.256626
2025-11-03T09:04:10.074 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2902422 -24.256626
2025-11-03T09:04:10.074 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2902422 -24.256626
2025-11-03T09:04:10.075 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2902422 -24.256626
2025-11-03T09:04:10.075 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.2902422;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31001;2460982.79456105;9.069445;1.3;_14.2661156555118 -24.1376569997567
2025-11-03T09:04:10.076 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2661156555118     dec_j2k = -24.1376569997567
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966775638781686;171.162357330327;_
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966775638781686;171.162357330327;_
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:10.076 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:10.077 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:10.078 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:10.078 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:10.078 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:10.079 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49875)
2025-11-03T09:04:10.079 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:10.079 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:10.080 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:10.080 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:10.080 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:10.087 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:10.087 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79456103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966775638781686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2902422, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31001, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:03:11.273167', telescope_ra_j2k=14.2661156555118, telescope_dec_j2k=-24.1376569997567, observability=1)
2025-11-03T09:04:10.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:10
2025-11-03T09:04:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6687307357788086s
2025-11-03T09:04:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6687307357788086
2025-11-03T09:04:11.416 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:11.416 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:11.416 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:11.416 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:11.416 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:11.417 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:11.417 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:11.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:11.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:11.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:11.418 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:04:11.418 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:11.418 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:11.418 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:11.418 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:04:11.419 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:04:11.420 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:12.420 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:12.420 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:12.420 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:12.420 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:12.421 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:12.422 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:12.423 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:12.423 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:12.423 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:12.423 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:12.424 [DEBUG] [ThreadPoolExecutor-3380_0] [payload.py] [to_registers()] [0]
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33453)
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:12.425 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:12.432 [DEBUG] [ThreadPoolExecutor-3380_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:12.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:12
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.6680922508239746s
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2909706;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31074;2460982.7945921;9.07017139;1.3;_
2025-11-03T09:04:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2909706;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31074;2460982.7945921;9.07017139;1.3;_
2025-11-03T09:04:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:12.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2909706, teldec = -24.256626
2025-11-03T09:04:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2909706 -24.256626
2025-11-03T09:04:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2909706 -24.256626
2025-11-03T09:04:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2909706 -24.256626
2025-11-03T09:04:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2909706;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31074;2460982.79459212;9.07017139;1.3;_14.2668433772427 -24.1376716346737
2025-11-03T09:04:12.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2668433772427     dec_j2k = -24.1376716346737
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966776842139971;171.162357330327;_
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966776842139971;171.162357330327;_
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52641)
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:12.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7945921, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966776842139971, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2909706, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2668433772427, telescope_dec_j2k=-24.1376716346737, observability=1)
2025-11-03T09:04:13.477 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:04:13.477 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7022156715393066s
2025-11-03T09:04:13.477 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7022156715393066
2025-11-03T09:04:13.477 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4055120944976807 seconds ago
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Status age = 1.2288036346435547s
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:14.003 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:14.004 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:14.005 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 17;14.291334;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3111;2460982.79460654;9.07053389;1.3;_
2025-11-03T09:04:14.005 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response 17;14.291334;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3111;2460982.79460654;9.07053389;1.3;_
2025-11-03T09:04:14.005 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:14.005 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:14.005 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:14.006 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:14.006 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:14.006 [INFO] [Thread-88546 (handle)] [driver.py] [get_status()] Telra = 14.291334, teldec = -24.256626
2025-11-03T09:04:14.006 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] UnCookCoordinates 14.291334 -24.256626
2025-11-03T09:04:14.006 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.291334 -24.256626
2025-11-03T09:04:14.007 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.291334 -24.256626
2025-11-03T09:04:14.007 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 17;14.291334;-24.256626;50.108607;89.993051;50.08601;90.12017;11.3111;2460982.79460656;9.07053389;1.3;_14.2672064388796 -24.1376789376962
2025-11-03T09:04:14.007 [INFO] [Thread-88546 (handle)] [driver.py] [get_status()] ra_j2k = 14.2672064388796     dec_j2k = -24.1376789376962
2025-11-03T09:04:14.008 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:14.008 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:14.008 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 140;0.0966776039901114;171.162357330327;_
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response 140;0.0966776039901114;171.162357330327;_
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:14.009 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:14.010 [DEBUG] [Thread-88546 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:14.011 [DEBUG] [Thread-88546 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58487)
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:14.016 [DEBUG] [Thread-88546 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:14.024 [DEBUG] [Thread-88546 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:14.024 [INFO] [Thread-88546 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79460654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966776039901114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.291334, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2672064388796, telescope_dec_j2k=-24.1376789376962, observability=1)
2025-11-03T09:04:14.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:14
2025-11-03T09:04:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7359464168548584s
2025-11-03T09:04:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7359464168548584
2025-11-03T09:04:16.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:16
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7846648693084717s
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:16.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:16.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:16.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2921095;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31188;2460982.79463902;9.07130722;1.3;_
2025-11-03T09:04:16.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2921095;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31188;2460982.79463902;9.07130722;1.3;_
2025-11-03T09:04:16.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:16.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:16.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:16.812 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2921095, teldec = -24.256626
2025-11-03T09:04:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2921095 -24.256626
2025-11-03T09:04:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2921095 -24.256626
2025-11-03T09:04:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2921095 -24.256626
2025-11-03T09:04:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2921095;-24.256626;50.108607;89.993051;50.08601;90.12017;11.31188;2460982.79463904;9.07130722;1.3;_14.2679812168676 -24.137694526079
2025-11-03T09:04:16.813 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2679812168676     dec_j2k = -24.137694526079
2025-11-03T09:04:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966775237662258;171.162357330327;_
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966775237662258;171.162357330327;_
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38197)
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:16.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:16.824 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:16.824 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:16.825 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:16.825 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79463902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966775237662258, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2921095, telescope_dec=-24.256626, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31188, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2679812168676, telescope_dec_j2k=-24.137694526079, observability=1)
2025-11-03T09:04:18.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:18
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9353268146514893s
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2926426;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31241;2460982.7946616;9.07183889;1.3;_
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2926426;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31241;2460982.7946616;9.07183889;1.3;_
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2926426, teldec = -24.256625
2025-11-03T09:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2926426 -24.256625
2025-11-03T09:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2926426 -24.256625
2025-11-03T09:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2926426 -24.256625
2025-11-03T09:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2926426;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31241;2460982.79466162;9.07183889;1.3;_14.2685138206908 -24.1377042448386
2025-11-03T09:04:18.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2685138206908     dec_j2k = -24.1377042448386
2025-11-03T09:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966781254453679;171.162351965909;_
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966781254453679;171.162351965909;_
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:18.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41499)
2025-11-03T09:04:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:18.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:18.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:18.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:18.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:18.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7946616, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966781254453679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2926426, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31241, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2685138206908, telescope_dec_j2k=-24.1377042448386, observability=1)
2025-11-03T09:04:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:20
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983973503112793s
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2932223;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31299;2460982.79468473;9.07241694;1.3;_
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2932223;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31299;2460982.79468473;9.07241694;1.3;_
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:20.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2932223, teldec = -24.256625
2025-11-03T09:04:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2932223 -24.256625
2025-11-03T09:04:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2932223 -24.256625
2025-11-03T09:04:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2932223 -24.256625
2025-11-03T09:04:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2932223;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31299;2460982.79468476;9.07241694;1.3;_14.2690929810679 -24.1377159032226
2025-11-03T09:04:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2690929810679     dec_j2k = -24.1377159032226
2025-11-03T09:04:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966784062289675;171.162357330327;_
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966784062289675;171.162357330327;_
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44941)
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:20.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:20.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:20.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79468473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966784062289675, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2932223, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31299, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2690929810679, telescope_dec_j2k=-24.1377159032226, observability=1)
2025-11-03T09:04:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:22
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9945807456970215s
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2937827;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31355;2460982.79470799;9.07297583;1.3;_
2025-11-03T09:04:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2937827;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31355;2460982.79470799;9.07297583;1.3;_
2025-11-03T09:04:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:22.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2937827, teldec = -24.256625
2025-11-03T09:04:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2937827 -24.256625
2025-11-03T09:04:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2937827 -24.256625
2025-11-03T09:04:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2937827 -24.256625
2025-11-03T09:04:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2937827;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31355;2460982.79470802;9.07297583;1.3;_14.2696528594534 -24.1377271760988
2025-11-03T09:04:22.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2696528594534     dec_j2k = -24.1377271760988
2025-11-03T09:04:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966782457811963;171.162357330327;_
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966782457811963;171.162357330327;_
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40869)
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:22.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:22.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79470799, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966782457811963, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2937827, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31355, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2696528594534, telescope_dec_j2k=-24.1377271760988, observability=1)
2025-11-03T09:04:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:24
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9704136848449707s
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2943147;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31408;2460982.79473102;9.07350639;1.3;_
2025-11-03T09:04:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2943147;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31408;2460982.79473102;9.07350639;1.3;_
2025-11-03T09:04:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2943147, teldec = -24.256625
2025-11-03T09:04:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2943147 -24.256625
2025-11-03T09:04:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2943147 -24.256625
2025-11-03T09:04:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2943147 -24.256625
2025-11-03T09:04:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2943147;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31408;2460982.79473104;9.07350639;1.3;_14.2701843643121 -24.1377378800844
2025-11-03T09:04:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2701843643121     dec_j2k = -24.1377378800844
2025-11-03T09:04:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966778045498255;171.162357330327;_
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966778045498255;171.162357330327;_
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59491)
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:24.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:24.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:24.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79473102, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966778045498255, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2943147, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2701843643121, telescope_dec_j2k=-24.1377378800844, observability=1)
2025-11-03T09:04:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:26
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839251041412354s
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2948932;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31466;2460982.79475422;9.07408333;1.3;_
2025-11-03T09:04:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2948932;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31466;2460982.79475422;9.07408333;1.3;_
2025-11-03T09:04:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2948932, teldec = -24.256625
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2948932 -24.256625
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2948932 -24.256625
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2948932 -24.256625
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2948932;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31466;2460982.79475425;9.07408333;1.3;_14.2707623259355 -24.1377495223124
2025-11-03T09:04:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2707623259355     dec_j2k = -24.1377495223124
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966782858931391;171.162357330327;_
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966782858931391;171.162357330327;_
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60241)
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:26.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:26.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:26.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79475422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966782858931391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2948932, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31466, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2707623259355, telescope_dec_j2k=-24.1377495223124, observability=1)
2025-11-03T09:04:28.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:28
2025-11-03T09:04:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857962131500244s
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2954548;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31522;2460982.79477746;9.07464333;1.3;_
2025-11-03T09:04:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2954548;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31522;2460982.79477746;9.07464333;1.3;_
2025-11-03T09:04:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:28.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2954548, teldec = -24.256625
2025-11-03T09:04:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2954548 -24.256625
2025-11-03T09:04:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2954548 -24.256625
2025-11-03T09:04:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2954548 -24.256625
2025-11-03T09:04:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2954548;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31522;2460982.79477749;9.07464333;1.3;_14.2713234033296 -24.1377608270709
2025-11-03T09:04:28.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2713234033296     dec_j2k = -24.1377608270709
2025-11-03T09:04:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966785666767388;171.162357330327;_
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966785666767388;171.162357330327;_
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55861)
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:28.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:28.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:28.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79477746, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966785666767388, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2954548, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31522, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2713234033296, telescope_dec_j2k=-24.1377608270709, observability=1)
2025-11-03T09:04:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:30
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9767816066741943s
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2959873;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31576;2460982.79480056;9.07517444;1.3;_
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2959873;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31576;2460982.79480056;9.07517444;1.3;_
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:30.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2959873, teldec = -24.256625
2025-11-03T09:04:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2959873 -24.256625
2025-11-03T09:04:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2959873 -24.256625
2025-11-03T09:04:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2959873 -24.256625
2025-11-03T09:04:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2959873;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31576;2460982.79480058;9.07517444;1.3;_14.2718554078422 -24.1377715484619
2025-11-03T09:04:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2718554078422     dec_j2k = -24.1377715484619
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966788073483956;171.162357330327;_
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966788073483956;171.162357330327;_
2025-11-03T09:04:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54985)
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:30.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:30.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79480056, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966788073483956, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2959873, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31576, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2718554078422, telescope_dec_j2k=-24.1377715484619, observability=1)
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Status age = 1.2880799770355225s
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:32.071 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 17;14.2963706;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31614;2460982.79481565;9.07555667;1.3;_
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response 17;14.2963706;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31614;2460982.79481565;9.07555667;1.3;_
2025-11-03T09:04:32.072 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:32.073 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:32.073 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:32.074 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:32.074 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:32.074 [INFO] [Thread-88547 (handle)] [driver.py] [get_status()] Telra = 14.2963706, teldec = -24.256625
2025-11-03T09:04:32.074 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2963706 -24.256625
2025-11-03T09:04:32.074 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2963706 -24.256625
2025-11-03T09:04:32.074 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2963706 -24.256625
2025-11-03T09:04:32.075 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 17;14.2963706;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31614;2460982.79481568;9.07555667;1.3;_14.2722383512078 -24.1377792672974
2025-11-03T09:04:32.075 [INFO] [Thread-88547 (handle)] [driver.py] [get_status()] ra_j2k = 14.2722383512078     dec_j2k = -24.1377792672974
2025-11-03T09:04:32.075 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:32.075 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:32.075 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 140;0.0966782457811963;171.162362694745;_
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response 140;0.0966782457811963;171.162362694745;_
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:32.076 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:32.077 [DEBUG] [Thread-88547 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:32.077 [DEBUG] [Thread-88547 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:32.077 [DEBUG] [Thread-88547 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33323)
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:32.080 [DEBUG] [Thread-88547 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:32.088 [DEBUG] [Thread-88547 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:32.088 [INFO] [Thread-88547 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79481565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966782457811963, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2963706, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31614, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2722383512078, telescope_dec_j2k=-24.1377792672974, observability=1)
2025-11-03T09:04:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:32
2025-11-03T09:04:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6723639965057373s
2025-11-03T09:04:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6723639965057373
2025-11-03T09:04:34.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:34
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.6702468395233154s
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2971001;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31687;2460982.79484675;9.07628417;1.3;_
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2971001;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31687;2460982.79484675;9.07628417;1.3;_
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:34.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2971001, teldec = -24.256625
2025-11-03T09:04:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2971001 -24.256625
2025-11-03T09:04:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2971001 -24.256625
2025-11-03T09:04:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2971001 -24.256625
2025-11-03T09:04:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2971001;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31687;2460982.79484677;9.07628417;1.3;_14.2729671725123 -24.1377939612015
2025-11-03T09:04:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2729671725123     dec_j2k = -24.1377939612015
2025-11-03T09:04:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966785666767388;171.162362694745;_
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966785666767388;171.162362694745;_
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46307)
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:34.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:34.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:34.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79484675, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966785666767388, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2971001, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31687, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2729671725123, telescope_dec_j2k=-24.1377939612015, observability=1)
2025-11-03T09:04:36.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:36
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9856088161468506s
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2976516;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31742;2460982.79486992;9.07683417;1.3;_
2025-11-03T09:04:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2976516;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31742;2460982.79486992;9.07683417;1.3;_
2025-11-03T09:04:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2976516, teldec = -24.256625
2025-11-03T09:04:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2976516 -24.256625
2025-11-03T09:04:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2976516 -24.256625
2025-11-03T09:04:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2976516 -24.256625
2025-11-03T09:04:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2976797;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31745;2460982.79486994;9.07686222;1.3;_14.2735181594677 -24.1378050726653
2025-11-03T09:04:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2735181594677     dec_j2k = -24.1378050726653
2025-11-03T09:04:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966793689155949;171.162357330327;_
2025-11-03T09:04:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966793689155949;171.162357330327;_
2025-11-03T09:04:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59649)
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:36.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:36.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:36.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79486992, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966793689155949, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2976516, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31742, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2735181594677, telescope_dec_j2k=-24.1378050726653, observability=1)
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:37.433 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:37.434 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:37.435 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:04:37.435 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:04:37.435 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:04:37.435 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:38
2025-11-03T09:04:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985032558441162s
2025-11-03T09:04:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2982131;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31798;2460982.7948931;9.07739417;1.3;_
2025-11-03T09:04:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2982131;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31798;2460982.7948931;9.07739417;1.3;_
2025-11-03T09:04:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2982131, teldec = -24.256625
2025-11-03T09:04:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2982131 -24.256625
2025-11-03T09:04:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2982131 -24.256625
2025-11-03T09:04:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2982131 -24.256625
2025-11-03T09:04:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2982131;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31798;2460982.79489312;9.07739417;1.3;_14.2740791371622 -24.1378163881823
2025-11-03T09:04:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2740791371622     dec_j2k = -24.1378163881823
2025-11-03T09:04:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966788875722812;171.162362694745;_
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966788875722812;171.162362694745;_
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40437)
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:38.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7948931, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966788875722812, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2982131, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31798, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2740791371622, telescope_dec_j2k=-24.1378163881823, observability=1)
2025-11-03T09:04:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:40
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980792760848999s
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2987738;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31854;2460982.79491624;9.07795333;1.3;_
2025-11-03T09:04:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2987738;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31854;2460982.79491624;9.07795333;1.3;_
2025-11-03T09:04:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2987738, teldec = -24.256625
2025-11-03T09:04:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2987738 -24.256625
2025-11-03T09:04:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2987738 -24.256625
2025-11-03T09:04:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2987738 -24.256625
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2987738;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31854;2460982.79491626;9.07795333;1.3;_14.2746393156431 -24.137827690171
2025-11-03T09:04:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2746393156431     dec_j2k = -24.137827690171
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966794491394805;171.162351965909;_
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966794491394805;171.162351965909;_
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40475)
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:40.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:40.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:40.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:40.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:40.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79491624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966794491394805, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2987738, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31854, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2746393156431, telescope_dec_j2k=-24.137827690171, observability=1)
2025-11-03T09:04:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:42
2025-11-03T09:04:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981480598449707s
2025-11-03T09:04:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2993259;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31909;2460982.79493936;9.07850389;1.3;_
2025-11-03T09:04:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2993259;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31909;2460982.79493936;9.07850389;1.3;_
2025-11-03T09:04:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2993259, teldec = -24.256625
2025-11-03T09:04:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2993259 -24.256625
2025-11-03T09:04:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2993259 -24.256625
2025-11-03T09:04:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2993259 -24.256625
2025-11-03T09:04:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2993259;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31909;2460982.79493939;9.07850389;1.3;_14.2751909021642 -24.1378388213423
2025-11-03T09:04:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2751909021642     dec_j2k = -24.1378388213423
2025-11-03T09:04:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966797299230801;171.162357330327;_
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966797299230801;171.162357330327;_
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45701)
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:42.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:42.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:42.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79493936, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966797299230801, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2993259, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31909, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2751909021642, telescope_dec_j2k=-24.1378388213423, observability=1)
2025-11-03T09:04:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:44
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833271503448486s
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2998869;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31966;2460982.79496252;9.07906333;1.3;_
2025-11-03T09:04:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.2998869;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31966;2460982.79496252;9.07906333;1.3;_
2025-11-03T09:04:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.2998869, teldec = -24.256625
2025-11-03T09:04:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.2998869 -24.256625
2025-11-03T09:04:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.2998869 -24.256625
2025-11-03T09:04:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.2998869 -24.256625
2025-11-03T09:04:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.2998869;-24.256625;50.108607;89.993051;50.08601;90.12017;11.31966;2460982.79496255;9.07906333;1.3;_14.2757513804497 -24.1378501345245
2025-11-03T09:04:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2757513804497     dec_j2k = -24.1378501345245
2025-11-03T09:04:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966792485797665;171.162362694745;_
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966792485797665;171.162362694745;_
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50941)
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:44.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:44.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:44.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:44.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:44.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79496252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966792485797665, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.2998869, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.31966, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2757513804497, telescope_dec_j2k=-24.1378501345245, observability=1)
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Status age = 1.8493728637695312s
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:46.629 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:46.630 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:46.631 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:46.631 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 17;14.3004183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32019;2460982.79498416;9.07959333;1.3;_
2025-11-03T09:04:46.631 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response 17;14.3004183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32019;2460982.79498416;9.07959333;1.3;_
2025-11-03T09:04:46.632 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:46.632 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:46.632 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:46.632 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:46.633 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:46.633 [INFO] [Thread-88548 (handle)] [driver.py] [get_status()] Telra = 14.3004183, teldec = -24.256625
2025-11-03T09:04:46.633 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3004183 -24.256625
2025-11-03T09:04:46.633 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3004183 -24.256625
2025-11-03T09:04:46.633 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3004183 -24.256625
2025-11-03T09:04:46.634 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 17;14.3004183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32019;2460982.79498419;9.07959333;1.3;_14.2762822863014 -24.1378608531821
2025-11-03T09:04:46.634 [INFO] [Thread-88548 (handle)] [driver.py] [get_status()] ra_j2k = 14.2762822863014     dec_j2k = -24.1378608531821
2025-11-03T09:04:46.634 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:46.634 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:46.634 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 140;0.0966793689155949;171.162362694745;_
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response 140;0.0966793689155949;171.162362694745;_
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:46.635 [DEBUG] [Thread-88548 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:46.636 [DEBUG] [Thread-88548 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:46.638 [DEBUG] [Thread-88548 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43481)
2025-11-03T09:04:46.638 [DEBUG] [Thread-88548 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:46.638 [DEBUG] [Thread-88548 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:46.639 [DEBUG] [Thread-88548 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:46.639 [DEBUG] [Thread-88548 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:46.639 [DEBUG] [Thread-88548 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:46.646 [DEBUG] [Thread-88548 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:46.646 [INFO] [Thread-88548 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79498416, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966793689155949, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3004183, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2762822863014, telescope_dec_j2k=-24.1378608531821, observability=1)
2025-11-03T09:04:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:46
2025-11-03T09:04:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11627435684204102s
2025-11-03T09:04:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11627435684204102
2025-11-03T09:04:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:48
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.111689805984497s
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3010261;-24.256625;50.108607;89.993051;50.08601;90.12017;11.3208;2460982.79500881;9.08019944;1.3;_
2025-11-03T09:04:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3010261;-24.256625;50.108607;89.993051;50.08601;90.12017;11.3208;2460982.79500881;9.08019944;1.3;_
2025-11-03T09:04:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:48.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3010261, teldec = -24.256625
2025-11-03T09:04:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3010261 -24.256625
2025-11-03T09:04:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3010261 -24.256625
2025-11-03T09:04:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3010261 -24.256625
2025-11-03T09:04:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3010261;-24.256625;50.108607;89.993051;50.08601;90.12017;11.3208;2460982.79500883;9.08019944;1.3;_14.2768895211551 -24.1378731157267
2025-11-03T09:04:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2768895211551     dec_j2k = -24.1378731157267
2025-11-03T09:04:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966796095872517;171.162362694745;_
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966796095872517;171.162362694745;_
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46811)
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:48.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79500881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966796095872517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3010261, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3208, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2768895211551, telescope_dec_j2k=-24.1378731157267, observability=1)
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Status age = 1.4087417125701904s
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:50.183 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 17;14.3014183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32119;2460982.79502528;9.08059056;1.3;_
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response 17;14.3014183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32119;2460982.79502528;9.08059056;1.3;_
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:50.184 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:50.185 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:50.185 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:50.185 [INFO] [Thread-88549 (handle)] [driver.py] [get_status()] Telra = 14.3014183, teldec = -24.256625
2025-11-03T09:04:50.185 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3014183 -24.256625
2025-11-03T09:04:50.185 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3014183 -24.256625
2025-11-03T09:04:50.185 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3014183 -24.256625
2025-11-03T09:04:50.186 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 17;14.3014183;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32119;2460982.7950253;9.08059056;1.3;_14.277281356505 -24.1378810300934
2025-11-03T09:04:50.186 [INFO] [Thread-88549 (handle)] [driver.py] [get_status()] ra_j2k = 14.277281356505     dec_j2k = -24.1378810300934
2025-11-03T09:04:50.186 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:50.186 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 140;0.0966795694753089;171.162357330327;_
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response 140;0.0966795694753089;171.162357330327;_
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:50.187 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:50.188 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:50.189 [DEBUG] [Thread-88549 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:50.189 [DEBUG] [Thread-88549 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:50.189 [DEBUG] [Thread-88549 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39597)
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:50.193 [DEBUG] [Thread-88549 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:50.200 [DEBUG] [Thread-88549 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:50.201 [INFO] [Thread-88549 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79502528, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966795694753089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3014183, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32119, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.277281356505, telescope_dec_j2k=-24.1378810300934, observability=1)
2025-11-03T09:04:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:50
2025-11-03T09:04:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5585672855377197s
2025-11-03T09:04:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5585672855377197
2025-11-03T09:04:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:52
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5574727058410645s
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3021177;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32189;2460982.7950551;9.08128806;1.3;_
2025-11-03T09:04:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3021177;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32189;2460982.7950551;9.08128806;1.3;_
2025-11-03T09:04:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3021177, teldec = -24.256625
2025-11-03T09:04:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3021177 -24.256625
2025-11-03T09:04:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3021177 -24.256625
2025-11-03T09:04:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3021177 -24.256625
2025-11-03T09:04:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3021177;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32189;2460982.79505513;9.08128806;1.3;_14.2779801062852 -24.1378951467216
2025-11-03T09:04:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2779801062852     dec_j2k = -24.1378951467216
2025-11-03T09:04:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966789677961668;171.162362694745;_
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966789677961668;171.162362694745;_
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42845)
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:52.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:52.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:52.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:52.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:52.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7950551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966789677961668, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3021177, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2779801062852, telescope_dec_j2k=-24.1378951467216, observability=1)
2025-11-03T09:04:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:54
2025-11-03T09:04:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804315567016602s
2025-11-03T09:04:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3026684;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32244;2460982.79507825;9.08183722;1.3;_
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3026684;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32244;2460982.79507825;9.08183722;1.3;_
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3026684, teldec = -24.256625
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3026684 -24.256625
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3026684 -24.256625
2025-11-03T09:04:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3026684 -24.256625
2025-11-03T09:04:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3026684;-24.256625;50.108607;89.993051;50.08601;90.12017;11.32244;2460982.79507826;9.08183722;1.3;_14.2785302943554 -24.1379062648378
2025-11-03T09:04:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2785302943554     dec_j2k = -24.1379062648378
2025-11-03T09:04:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966800508186226;171.162357330327;_
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966800508186226;171.162357330327;_
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41661)
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:54.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:54.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:54.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:54.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:54.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79507825, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966800508186226, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3026684, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32244, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2785302943554, telescope_dec_j2k=-24.1379062648378, observability=1)
2025-11-03T09:04:56.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:56
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9900603294372559s
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3032291;-24.256625;50.108607;89.993051;50.08601;90.12017;11.323;2460982.79510147;9.08239639;1.3;_
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3032291;-24.256625;50.108607;89.993051;50.08601;90.12017;11.323;2460982.79510147;9.08239639;1.3;_
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3032291, teldec = -24.256625
2025-11-03T09:04:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3032291 -24.256625
2025-11-03T09:04:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3032291 -24.256625
2025-11-03T09:04:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3032291 -24.256625
2025-11-03T09:04:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3032291;-24.256625;50.108607;89.993051;50.08601;90.12017;11.323;2460982.79510149;9.08239639;1.3;_14.2790904731714 -24.1379175874113
2025-11-03T09:04:56.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2790904731714     dec_j2k = -24.1379175874113
2025-11-03T09:04:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966796095872517;171.162357330327;_
2025-11-03T09:04:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966796095872517;171.162357330327;_
2025-11-03T09:04:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:04:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44757)
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:56.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:56.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79510147, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966796095872517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108607, telescope_az=89.993051, telescope_ra=14.3032291, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.323, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2790904731714, telescope_dec_j2k=-24.1379175874113, observability=1)
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2993741035461426s
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:04:58.081 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:04:58.082 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:04:58.082 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:04:58.082 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:04:58.082 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3035931;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32336;2460982.7951167;9.08275944;1.3;_
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.3035931;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32336;2460982.7951167;9.08275944;1.3;_
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:04:58.083 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:04:58.084 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:04:58.084 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:58.085 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:04:58.085 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.3035931, teldec = -24.256625
2025-11-03T09:04:58.085 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3035931 -24.256625
2025-11-03T09:04:58.085 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3035931 -24.256625
2025-11-03T09:04:58.085 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3035931 -24.256625
2025-11-03T09:04:58.086 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3035931;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32336;2460982.79511674;9.08275944;1.3;_14.2794541348473 -24.1379249392822
2025-11-03T09:04:58.086 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.2794541348473     dec_j2k = -24.1379249392822
2025-11-03T09:04:58.086 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:04:58.086 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:04:58.086 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966791282439381;171.162357330327;_
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966791282439381;171.162357330327;_
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:58.087 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:04:58.088 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:04:58.089 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:58.089 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:04:58.089 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41121)
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:04:58.091 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:04:58.099 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:04:58.099 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7951167, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966791282439381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3035931, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32336, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2794541348473, telescope_dec_j2k=-24.1379249392822, observability=1)
2025-11-03T09:04:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:04:58
2025-11-03T09:04:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6594138145446777s
2025-11-03T09:04:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6594138145446777
2025-11-03T09:04:58.769 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:04:58.769 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6701653003692627s
2025-11-03T09:04:58.769 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6701653003692627
2025-11-03T09:05:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:00
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.6620969772338867s
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.304368;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32414;2460982.79514772;9.08353222;1.3;_
2025-11-03T09:05:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.304368;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32414;2460982.79514772;9.08353222;1.3;_
2025-11-03T09:05:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.304368, teldec = -24.256625
2025-11-03T09:05:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.304368 -24.256625
2025-11-03T09:05:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.304368 -24.256625
2025-11-03T09:05:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.304368 -24.256625
2025-11-03T09:05:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.304368;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32414;2460982.79514775;9.08353222;1.3;_14.2802283146668 -24.1379405939186
2025-11-03T09:05:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2802283146668     dec_j2k = -24.1379405939186
2025-11-03T09:05:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966800508186226;171.162346601491;_
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966800508186226;171.162346601491;_
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52463)
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79514772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966800508186226, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.304368, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32414, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2802283146668, telescope_dec_j2k=-24.1379405939186, observability=1)
2025-11-03T09:05:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:02
2025-11-03T09:05:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981374979019165s
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3049009;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32467;2460982.79517086;9.08406361;1.3;_
2025-11-03T09:05:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3049009;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32467;2460982.79517086;9.08406361;1.3;_
2025-11-03T09:05:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:02.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3049009, teldec = -24.256625
2025-11-03T09:05:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3049009 -24.256625
2025-11-03T09:05:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3049009 -24.256625
2025-11-03T09:05:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3049009 -24.256625
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3049009;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32467;2460982.79517089;9.08406361;1.3;_14.2807607194443 -24.1379513625074
2025-11-03T09:05:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2807607194443     dec_j2k = -24.1379513625074
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966796095872517;171.162357330327;_
2025-11-03T09:05:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966796095872517;171.162357330327;_
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33381)
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:02.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:02.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79517086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966796095872517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3049009, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32467, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2807607194443, telescope_dec_j2k=-24.1379513625074, observability=1)
2025-11-03T09:05:04.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:04
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804692268371582s
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.305461;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32523;2460982.79519397;9.08462222;1.3;_
2025-11-03T09:05:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.305461;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32523;2460982.79519397;9.08462222;1.3;_
2025-11-03T09:05:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.305461, teldec = -24.256625
2025-11-03T09:05:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.305461 -24.256625
2025-11-03T09:05:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.305461 -24.256625
2025-11-03T09:05:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.305461 -24.256625
2025-11-03T09:05:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.305461;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32523;2460982.79519399;9.08462222;1.3;_14.281320298986 -24.1379626832613
2025-11-03T09:05:04.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.281320298986     dec_j2k = -24.1379626832613
2025-11-03T09:05:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966799304827942;171.162357330327;_
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966799304827942;171.162357330327;_
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45471)
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:04.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:04.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79519397, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966799304827942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.305461, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32523, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.281320298986, telescope_dec_j2k=-24.1379626832613, observability=1)
2025-11-03T09:05:06.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:06
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.007020950317383s
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3060396;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32581;2460982.79521737;9.08519917;1.3;_
2025-11-03T09:05:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3060396;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32581;2460982.79521737;9.08519917;1.3;_
2025-11-03T09:05:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:06.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3060396, teldec = -24.256625
2025-11-03T09:05:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3060396 -24.256625
2025-11-03T09:05:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3060396 -24.256625
2025-11-03T09:05:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3060396 -24.256625
2025-11-03T09:05:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3060396;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32581;2460982.79521741;9.08519917;1.3;_14.2818983613814 -24.1379743806501
2025-11-03T09:05:06.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2818983613814     dec_j2k = -24.1379743806501
2025-11-03T09:05:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966792084678237;171.162357330327;_
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966792084678237;171.162357330327;_
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:06.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:06.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:06.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:06.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36491)
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:06.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:06.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:06.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79521737, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966792084678237, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3060396, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32581, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2818983613814, telescope_dec_j2k=-24.1379743806501, observability=1)
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Status age = 1.4598267078399658s
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:08.256 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:08.257 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:08.258 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 17;14.306432;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3262;2460982.79523447;9.08559056;1.3;_
2025-11-03T09:05:08.258 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response 17;14.306432;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3262;2460982.79523447;9.08559056;1.3;_
2025-11-03T09:05:08.258 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:08.258 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:08.258 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:08.259 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:08.259 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:08.259 [INFO] [Thread-88550 (handle)] [driver.py] [get_status()] Telra = 14.306432, teldec = -24.256625
2025-11-03T09:05:08.259 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] UnCookCoordinates 14.306432 -24.256625
2025-11-03T09:05:08.259 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.306432 -24.256625
2025-11-03T09:05:08.259 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.306432 -24.256625
2025-11-03T09:05:08.260 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 17;14.306432;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3262;2460982.79523449;9.08559056;1.3;_14.2822903968096 -24.1379823152557
2025-11-03T09:05:08.260 [INFO] [Thread-88550 (handle)] [driver.py] [get_status()] ra_j2k = 14.2822903968096     dec_j2k = -24.1379823152557
2025-11-03T09:05:08.260 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:08.260 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:08.260 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 140;0.0966799304827942;171.162351965909;_
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response 140;0.0966799304827942;171.162351965909;_
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:08.261 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:08.262 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:08.262 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:08.262 [DEBUG] [Thread-88550 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:08.262 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:08.263 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:08.263 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:08.263 [DEBUG] [Thread-88550 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:08.263 [DEBUG] [Thread-88550 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:08.263 [DEBUG] [Thread-88550 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36339)
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:08.264 [DEBUG] [Thread-88550 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:08.272 [DEBUG] [Thread-88550 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:08.272 [INFO] [Thread-88550 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79523447, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966799304827942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.306432, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3262, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2822903968096, telescope_dec_j2k=-24.1379823152557, observability=1)
2025-11-03T09:05:08.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:08
2025-11-03T09:05:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4858837127685547s
2025-11-03T09:05:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4858837127685547
2025-11-03T09:05:10.148 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:05:10
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8759114742279053s
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:10.148 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:10.149 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:10.150 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3069646;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32673;2460982.79525637;9.08612167;1.3;_
2025-11-03T09:05:10.150 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.3069646;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32673;2460982.79525637;9.08612167;1.3;_
2025-11-03T09:05:10.150 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:10.150 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:10.150 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:10.151 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:10.151 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:10.151 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.3069646, teldec = -24.256625
2025-11-03T09:05:10.151 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3069646 -24.256625
2025-11-03T09:05:10.151 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3069646 -24.256625
2025-11-03T09:05:10.151 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3069646 -24.256625
2025-11-03T09:05:10.152 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3069646;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32673;2460982.79525639;9.08612167;1.3;_14.2828225020137 -24.1379930868325
2025-11-03T09:05:10.152 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2828225020137     dec_j2k = -24.1379930868325
2025-11-03T09:05:10.152 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:10.152 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:10.152 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.096680371714165;171.162351965909;_
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.096680371714165;171.162351965909;_
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:10.153 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:10.154 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:10.155 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:10.155 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:10.155 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:10.161 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60565)
2025-11-03T09:05:10.162 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:10.162 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:10.162 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:10.162 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:10.162 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:10.169 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:10.169 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79525637, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096680371714165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3069646, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32673, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:04:11.415623', telescope_ra_j2k=14.2828225020137, telescope_dec_j2k=-24.1379930868325, observability=1)
2025-11-03T09:05:10.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:10
2025-11-03T09:05:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5984592437744141s
2025-11-03T09:05:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5984592437744141
2025-11-03T09:05:11.558 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:11.558 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:11.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:11.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:11.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:11.559 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:11.559 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:11.560 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:11.560 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:11.560 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:11.560 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:05:11.560 [INFO] [ThreadPoolExecutor-3381_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:05:11.561 [INFO] [ThreadPoolExecutor-3381_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:05:12.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:12
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5866479873657227s
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3076921;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32746;2460982.79528654;9.08684722;1.3;_
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3076921;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32746;2460982.79528654;9.08684722;1.3;_
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:12.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3076921, teldec = -24.256625
2025-11-03T09:05:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3076921 -24.256625
2025-11-03T09:05:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3076921 -24.256625
2025-11-03T09:05:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3076921 -24.256625
2025-11-03T09:05:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3076921;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32746;2460982.79528657;9.08684722;1.3;_14.2835493262136 -24.1380078039402
2025-11-03T09:05:12.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2835493262136     dec_j2k = -24.1380078039402
2025-11-03T09:05:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966803316022222;171.162357330327;_
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966803316022222;171.162357330327;_
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35469)
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:12.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:12.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79528654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966803316022222, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3076921, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2835493262136, telescope_dec_j2k=-24.1380078039402, observability=1)
2025-11-03T09:05:13.537 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:05:13.537 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7602918148040771s
2025-11-03T09:05:13.537 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7602918148040771
2025-11-03T09:05:13.537 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3889403343200684 seconds ago
2025-11-03T09:05:14.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:14
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835453033447266s
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3082431;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32801;2460982.79530975;9.08739667;1.3;_
2025-11-03T09:05:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3082431;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32801;2460982.79530975;9.08739667;1.3;_
2025-11-03T09:05:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3082431, teldec = -24.256625
2025-11-03T09:05:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3082431 -24.256625
2025-11-03T09:05:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3082431 -24.256625
2025-11-03T09:05:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3082431 -24.256625
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3082431;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32801;2460982.7953098;9.08739667;1.3;_14.2840998144178 -24.1380189534047
2025-11-03T09:05:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2840998144178     dec_j2k = -24.1380189534047
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966811338410783;171.162362694745;_
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966811338410783;171.162362694745;_
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52467)
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79530975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966811338410783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3082431, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32801, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2840998144178, telescope_dec_j2k=-24.1380189534047, observability=1)
2025-11-03T09:05:16.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:16
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818189144134521s
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3088038;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32857;2460982.7953329;9.08795583;1.3;_
2025-11-03T09:05:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3088038;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32857;2460982.7953329;9.08795583;1.3;_
2025-11-03T09:05:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:16.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3088038, teldec = -24.256625
2025-11-03T09:05:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3088038 -24.256625
2025-11-03T09:05:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3088038 -24.256625
2025-11-03T09:05:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3088038 -24.256625
2025-11-03T09:05:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3088038;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32857;2460982.79533294;9.08795583;1.3;_14.2846599936542 -24.1380303017133
2025-11-03T09:05:16.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2846599936542     dec_j2k = -24.1380303017133
2025-11-03T09:05:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966807327216503;171.162362694745;_
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966807327216503;171.162362694745;_
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45287)
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:16.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:16.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7953329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966807327216503, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3088038, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32857, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2846599936542, telescope_dec_j2k=-24.1380303017133, observability=1)
2025-11-03T09:05:18.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:18
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979085922241211s
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3093634;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32913;2460982.79535604;9.08851389;1.3;_
2025-11-03T09:05:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3093634;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32913;2460982.79535604;9.08851389;1.3;_
2025-11-03T09:05:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3093634, teldec = -24.256625
2025-11-03T09:05:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3093634 -24.256625
2025-11-03T09:05:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3093634 -24.256625
2025-11-03T09:05:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3093634 -24.256625
2025-11-03T09:05:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3093634;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32913;2460982.79535606;9.08851389;1.3;_14.2852190739544 -24.1380416303379
2025-11-03T09:05:18.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2852190739544     dec_j2k = -24.1380416303379
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966807327216503;171.162351965909;_
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966807327216503;171.162351965909;_
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43163)
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:18.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:18.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:18.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79535604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966807327216503, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3093634, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2852190739544, telescope_dec_j2k=-24.1380416303379, observability=1)
2025-11-03T09:05:20.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:20
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778270721435547s
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3099154;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32968;2460982.79537914;9.08906444;1.3;_
2025-11-03T09:05:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3099154;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32968;2460982.79537914;9.08906444;1.3;_
2025-11-03T09:05:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:20.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3099154, teldec = -24.256625
2025-11-03T09:05:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3099154 -24.256625
2025-11-03T09:05:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3099154 -24.256625
2025-11-03T09:05:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3099154 -24.256625
2025-11-03T09:05:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3099154;-24.256625;50.108606;89.993051;50.08601;90.12017;11.32968;2460982.79537917;9.08906444;1.3;_14.2857705613541 -24.1380528076314
2025-11-03T09:05:20.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2857705613541     dec_j2k = -24.1380528076314
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966810937291355;171.162346601491;_
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966810937291355;171.162346601491;_
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59469)
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:20.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79537914, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966810937291355, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3099154, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.32968, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2857705613541, telescope_dec_j2k=-24.1380528076314, observability=1)
2025-11-03T09:05:22.803 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:22
2025-11-03T09:05:22.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:22.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0304391384124756s
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:22.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:22.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:22.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3105048;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33027;2460982.79540285;9.08965222;1.3;_
2025-11-03T09:05:22.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3105048;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33027;2460982.79540285;9.08965222;1.3;_
2025-11-03T09:05:22.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:22.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:22.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:22.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:22.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:22.807 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3105048, teldec = -24.256625
2025-11-03T09:05:22.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3105048 -24.256625
2025-11-03T09:05:22.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3105048 -24.256625
2025-11-03T09:05:22.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3105048 -24.256625
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3105048;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33027;2460982.79540287;9.08965222;1.3;_14.2863594140686 -24.1380647449945
2025-11-03T09:05:22.808 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2863594140686     dec_j2k = -24.1380647449945
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966811338410783;171.162362694745;_
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966811338410783;171.162362694745;_
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:22.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:22.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:22.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:22.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:22.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45599)
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:22.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:22.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:22.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:22.819 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:22.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:22.820 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79540285, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966811338410783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3105048, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33027, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2863594140686, telescope_dec_j2k=-24.1380647449945, observability=1)
2025-11-03T09:05:24.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:24
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9369885921478271s
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3110274;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3308;2460982.79542544;9.09017333;1.3;_
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3110274;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3308;2460982.79542544;9.09017333;1.3;_
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:24.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3110274, teldec = -24.256625
2025-11-03T09:05:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3110274 -24.256625
2025-11-03T09:05:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3110274 -24.256625
2025-11-03T09:05:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3110274 -24.256625
2025-11-03T09:05:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3110274;-24.256625;50.108606;89.993051;50.08601;90.12017;11.3308;2460982.79542546;9.09017333;1.3;_14.2868815288492 -24.1380753318199
2025-11-03T09:05:24.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2868815288492     dec_j2k = -24.1380753318199
2025-11-03T09:05:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966806123858219;171.162368059163;_
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966806123858219;171.162368059163;_
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34141)
2025-11-03T09:05:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:24.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:24.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79542544, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966806123858219, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3110274, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3308, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2868815288492, telescope_dec_j2k=-24.1380753318199, observability=1)
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Status age = 1.5386192798614502s
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:26.317 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 17;14.3114764;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33125;2460982.7954435;9.09062111;1.3;_
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response 17;14.3114764;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33125;2460982.7954435;9.09062111;1.3;_
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:26.318 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:26.319 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:26.319 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:26.319 [INFO] [Thread-88551 (handle)] [driver.py] [get_status()] Telra = 14.3114764, teldec = -24.256625
2025-11-03T09:05:26.319 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3114764 -24.256625
2025-11-03T09:05:26.320 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3114764 -24.256625
2025-11-03T09:05:26.320 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3114764 -24.256625
2025-11-03T09:05:26.320 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 17;14.3114764;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33125;2460982.79544352;9.09062111;1.3;_14.2873301119947 -24.1380844294516
2025-11-03T09:05:26.321 [INFO] [Thread-88551 (handle)] [driver.py] [get_status()] ra_j2k = 14.2873301119947     dec_j2k = -24.1380844294516
2025-11-03T09:05:26.321 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:26.321 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:26.321 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 140;0.0966807728335931;171.162357330327;_
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response 140;0.0966807728335931;171.162357330327;_
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:26.322 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:26.323 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:26.324 [DEBUG] [Thread-88551 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:26.324 [DEBUG] [Thread-88551 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:26.324 [DEBUG] [Thread-88551 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46641)
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:26.326 [DEBUG] [Thread-88551 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:26.333 [DEBUG] [Thread-88551 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:26.333 [INFO] [Thread-88551 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7954435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966807728335931, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3114764, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33125, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2873301119947, telescope_dec_j2k=-24.1380844294516, observability=1)
2025-11-03T09:05:26.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:26
2025-11-03T09:05:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42502880096435547s
2025-11-03T09:05:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42502880096435547
2025-11-03T09:05:28.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:28
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.423546075820923s
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3121493;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33192;2460982.79547175;9.09129222;1.3;_
2025-11-03T09:05:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3121493;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33192;2460982.79547175;9.09129222;1.3;_
2025-11-03T09:05:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:28.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3121493, teldec = -24.256625
2025-11-03T09:05:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3121493 -24.256625
2025-11-03T09:05:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3121493 -24.256625
2025-11-03T09:05:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3121493 -24.256625
2025-11-03T09:05:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3121493;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33192;2460982.79547177;9.09129222;1.3;_14.2880023873209 -24.1380980668466
2025-11-03T09:05:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2880023873209     dec_j2k = -24.1380980668466
2025-11-03T09:05:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966817756321632;171.162357330327;_
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966817756321632;171.162357330327;_
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49921)
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:28.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:28.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79547175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966817756321632, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3121493, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33192, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2880023873209, telescope_dec_j2k=-24.1380980668466, observability=1)
2025-11-03T09:05:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:30
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983403205871582s
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3127014;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33247;2460982.79549494;9.09184278;1.3;_
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3127014;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33247;2460982.79549494;9.09184278;1.3;_
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3127014, teldec = -24.256625
2025-11-03T09:05:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3127014 -24.256625
2025-11-03T09:05:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3127014 -24.256625
2025-11-03T09:05:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3127014 -24.256625
2025-11-03T09:05:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3127014;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33247;2460982.79549497;9.09184278;1.3;_14.2885539748351 -24.1381092588175
2025-11-03T09:05:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2885539748351     dec_j2k = -24.1381092588175
2025-11-03T09:05:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966816552963348;171.162357330327;_
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966816552963348;171.162357330327;_
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40029)
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79549494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966816552963348, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3127014, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33247, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2885539748351, telescope_dec_j2k=-24.1381092588175, observability=1)
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:05:32.436 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:32.437 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:32.438 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.438 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:32.438 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:32.438 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.439 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:05:32.440 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.441 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.441 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.441 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:32.441 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:32.441 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Park
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:05:32.442 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:05:32.443 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 29;14.3131785;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33295;2460982.79551439;9.09231861;1.3;_Park Command Successful
2025-11-03T09:05:32.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:32
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768617153167725s
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3132626;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33303;2460982.79551806;9.0924025;1.3;_
2025-11-03T09:05:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3132626;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33303;2460982.79551806;9.0924025;1.3;_
2025-11-03T09:05:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3132626, teldec = -24.256625
2025-11-03T09:05:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3132626 -24.256625
2025-11-03T09:05:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3132626 -24.256625
2025-11-03T09:05:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3132626 -24.256625
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3132626;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33303;2460982.79551808;9.0924025;1.3;_14.2891146539444 -24.1381206378293
2025-11-03T09:05:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2891146539444     dec_j2k = -24.1381206378293
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966813745127352;171.162357330327;_
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966813745127352;171.162357330327;_
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57373)
2025-11-03T09:05:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:32.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:32.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79551806, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966813745127352, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3132626, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33303, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2891146539444, telescope_dec_j2k=-24.1381206378293, observability=1)
2025-11-03T09:05:33.443 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:05:33.443 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:05:33.443 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:05:33.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:05:33.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:05:34.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:05:34.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:05:34.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:05:34.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:05:34.444 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:05:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:34
2025-11-03T09:05:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9871177673339844s
2025-11-03T09:05:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3138139;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33358;2460982.79554124;9.09295222;1.3;_
2025-11-03T09:05:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3138139;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33358;2460982.79554124;9.09295222;1.3;_
2025-11-03T09:05:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:34.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3138139, teldec = -24.256625
2025-11-03T09:05:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3138139 -24.256625
2025-11-03T09:05:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3138139 -24.256625
2025-11-03T09:05:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3138139 -24.256625
2025-11-03T09:05:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3138139;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33358;2460982.79554127;9.09295222;1.3;_14.289665442284 -24.1381318186283
2025-11-03T09:05:34.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.289665442284     dec_j2k = -24.1381318186283
2025-11-03T09:05:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966814948485636;171.162357330327;_
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966814948485636;171.162357330327;_
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:34.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36575)
2025-11-03T09:05:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:34.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:34.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:34.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:34.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:34.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:34.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:34.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:34.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79554124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966814948485636, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3138139, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33358, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.289665442284, telescope_dec_j2k=-24.1381318186283, observability=1)
2025-11-03T09:05:35.445 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:05:35.445 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:05:35.445 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:05:35.446 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:05:35.446 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:05:36.446 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:05:36.446 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:05:36.446 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:36.447 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:05:36.448 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:05:36.449 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:36
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9769158363342285s
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3143754;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33414;2460982.79556436;9.09351222;1.3;_
2025-11-03T09:05:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3143754;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33414;2460982.79556436;9.09351222;1.3;_
2025-11-03T09:05:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3143754, teldec = -24.256625
2025-11-03T09:05:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3143754 -24.256625
2025-11-03T09:05:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3143754 -24.256625
2025-11-03T09:05:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3143754 -24.256625
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3143754;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33414;2460982.79556439;9.09351222;1.3;_14.2902264211992 -24.13814320886
2025-11-03T09:05:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2902264211992     dec_j2k = -24.13814320886
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966822168635341;171.162357330327;_
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966822168635341;171.162357330327;_
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48937)
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:36.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:36.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:36.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79556436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966822168635341, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3143754, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33414, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2902264211992, telescope_dec_j2k=-24.13814320886, observability=1)
2025-11-03T09:05:37.449 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:37.449 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:37.449 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:37.449 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:37.449 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:37.450 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:37.450 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:05:37.451 [DEBUG] [ThreadPoolExecutor-3380_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:37.452 [INFO] [ThreadPoolExecutor-3380_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:05:38.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:38
2025-11-03T09:05:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806628227233887s
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3149364;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33471;2460982.7955875;9.09407167;1.3;_
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3149364;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33471;2460982.7955875;9.09407167;1.3;_
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:38.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3149364, teldec = -24.256625
2025-11-03T09:05:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3149364 -24.256625
2025-11-03T09:05:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3149364 -24.256625
2025-11-03T09:05:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3149364 -24.256625
2025-11-03T09:05:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3149364;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33471;2460982.79558752;9.09407167;1.3;_14.2907869006209 -24.1381545915377
2025-11-03T09:05:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2907869006209     dec_j2k = -24.1381545915377
2025-11-03T09:05:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966823773113053;171.162362694745;_
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966823773113053;171.162362694745;_
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:38.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56427)
2025-11-03T09:05:38.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:38.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:38.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7955875, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966823773113053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3149364, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2907869006209, telescope_dec_j2k=-24.1381545915377, observability=1)
2025-11-03T09:05:40.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:40
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975393533706665s
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.315489;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33526;2460982.7956106;9.09462278;1.3;_
2025-11-03T09:05:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.315489;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33526;2460982.7956106;9.09462278;1.3;_
2025-11-03T09:05:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:40.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.315489, teldec = -24.256625
2025-11-03T09:05:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.315489 -24.256625
2025-11-03T09:05:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.315489 -24.256625
2025-11-03T09:05:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.315489 -24.256625
2025-11-03T09:05:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.315489;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33526;2460982.79561064;9.09462278;1.3;_14.2913389878789 -24.1381658063089
2025-11-03T09:05:40.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2913389878789     dec_j2k = -24.1381658063089
2025-11-03T09:05:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966822168635341;171.162362694745;_
2025-11-03T09:05:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966822168635341;171.162362694745;_
2025-11-03T09:05:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55979)
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:40.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:40.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7956106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966822168635341, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.315489, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33526, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2913389878789, telescope_dec_j2k=-24.1381658063089, observability=1)
2025-11-03T09:05:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:42
2025-11-03T09:05:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9849512577056885s
2025-11-03T09:05:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3160503;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33582;2460982.79563381;9.0951825;1.3;_
2025-11-03T09:05:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3160503;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33582;2460982.79563381;9.0951825;1.3;_
2025-11-03T09:05:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3160503, teldec = -24.256625
2025-11-03T09:05:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3160503 -24.256625
2025-11-03T09:05:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3160503 -24.256625
2025-11-03T09:05:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3160503 -24.256625
2025-11-03T09:05:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3160503;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33582;2460982.79563383;9.0951825;1.3;_14.2918997671066 -24.1381772002123
2025-11-03T09:05:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2918997671066     dec_j2k = -24.1381772002123
2025-11-03T09:05:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966821767515913;171.162357330327;_
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966821767515913;171.162357330327;_
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:05:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:05:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39051)
2025-11-03T09:05:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79563381, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966821767515913, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3160503, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33582, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2918997671066, telescope_dec_j2k=-24.1381772002123, observability=1)
2025-11-03T09:05:44.442 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Status age = 1.6631519794464111s
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:44.443 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:44.444 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 17;14.3165177;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33629;2460982.79565329;9.09564861;1.3;_
2025-11-03T09:05:44.445 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response 17;14.3165177;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33629;2460982.79565329;9.09564861;1.3;_
2025-11-03T09:05:44.445 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:44.445 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:44.445 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:44.446 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:44.446 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:44.446 [INFO] [Thread-88552 (handle)] [driver.py] [get_status()] Telra = 14.3165177, teldec = -24.256625
2025-11-03T09:05:44.446 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3165177 -24.256625
2025-11-03T09:05:44.446 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3165177 -24.256625
2025-11-03T09:05:44.446 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3165177 -24.256625
2025-11-03T09:05:44.447 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 17;14.3165177;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33629;2460982.79565332;9.09564861;1.3;_14.292366733487 -24.1381866900031
2025-11-03T09:05:44.447 [INFO] [Thread-88552 (handle)] [driver.py] [get_status()] ra_j2k = 14.292366733487     dec_j2k = -24.1381866900031
2025-11-03T09:05:44.447 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:44.447 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:44.447 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 140;0.0966824575351909;171.162357330327;_
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response 140;0.0966824575351909;171.162357330327;_
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:44.448 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:44.449 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:44.450 [DEBUG] [Thread-88552 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:44.450 [DEBUG] [Thread-88552 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:44.450 [DEBUG] [Thread-88552 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52031)
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:44.452 [DEBUG] [Thread-88552 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:44.459 [DEBUG] [Thread-88552 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:44.460 [INFO] [Thread-88552 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79565329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966824575351909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3165177, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33629, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.292366733487, telescope_dec_j2k=-24.1381866900031, observability=1)
2025-11-03T09:05:44.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:44
2025-11-03T09:05:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29495716094970703s
2025-11-03T09:05:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29495716094970703
2025-11-03T09:05:46.697 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:46.697 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Status age = 2.237807035446167s
2025-11-03T09:05:46.697 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:46.697 [DEBUG] [Thread-88553 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:46.697 [DEBUG] [Thread-88553 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:46.698 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:46.699 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 17;14.3171622;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33693;2460982.79567939;9.09629139;1.3;_
2025-11-03T09:05:46.699 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response 17;14.3171622;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33693;2460982.79567939;9.09629139;1.3;_
2025-11-03T09:05:46.699 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:46.699 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:46.699 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:46.700 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:46.700 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:46.700 [INFO] [Thread-88553 (handle)] [driver.py] [get_status()] Telra = 14.3171622, teldec = -24.256625
2025-11-03T09:05:46.700 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3171622 -24.256625
2025-11-03T09:05:46.700 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3171622 -24.256625
2025-11-03T09:05:46.700 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3171622 -24.256625
2025-11-03T09:05:46.701 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 17;14.3171622;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33693;2460982.79567941;9.09629139;1.3;_14.2930106356153 -24.1381997784637
2025-11-03T09:05:46.701 [INFO] [Thread-88553 (handle)] [driver.py] [get_status()] ra_j2k = 14.2930106356153     dec_j2k = -24.1381997784637
2025-11-03T09:05:46.701 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:46.701 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:46.701 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 140;0.0966828987665618;171.162351965909;_
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response 140;0.0966828987665618;171.162351965909;_
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:46.702 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:46.703 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:46.704 [DEBUG] [Thread-88553 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:46.704 [DEBUG] [Thread-88553 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:46.704 [DEBUG] [Thread-88553 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38801)
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:46.708 [DEBUG] [Thread-88553 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:46.715 [DEBUG] [Thread-88553 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:46.716 [INFO] [Thread-88553 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79567939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966828987665618, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3171622, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33693, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2930106356153, telescope_dec_j2k=-24.1381997784637, observability=1)
2025-11-03T09:05:46.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:46
2025-11-03T09:05:46.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:46.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04048871994018555s
2025-11-03T09:05:46.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04048871994018555
2025-11-03T09:05:48.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:48
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.053551197052002s
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3177218;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33749;2460982.79570337;9.09684944;1.3;_
2025-11-03T09:05:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3177218;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33749;2460982.79570337;9.09684944;1.3;_
2025-11-03T09:05:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:48.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3177218, teldec = -24.256625
2025-11-03T09:05:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3177218 -24.256625
2025-11-03T09:05:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3177218 -24.256625
2025-11-03T09:05:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3177218 -24.256625
2025-11-03T09:05:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3177218;-24.256625;50.108606;89.993051;50.08601;90.12017;11.33749;2460982.7957034;9.09684944;1.3;_14.2935697165468 -24.1382111455497
2025-11-03T09:05:48.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2935697165468     dec_j2k = -24.1382111455497
2025-11-03T09:05:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966824976471337;171.162357330327;_
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966824976471337;171.162357330327;_
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45441)
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:48.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79570337, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966824976471337, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108606, telescope_az=89.993051, telescope_ra=14.3177218, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33749, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2935697165468, telescope_dec_j2k=-24.1382111455497, observability=1)
2025-11-03T09:05:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:50
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9761433601379395s
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3182727;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33804;2460982.79572644;9.09739889;1.3;_
2025-11-03T09:05:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3182727;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33804;2460982.79572644;9.09739889;1.3;_
2025-11-03T09:05:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3182727, teldec = -24.256625
2025-11-03T09:05:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3182727 -24.256625
2025-11-03T09:05:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3182727 -24.256625
2025-11-03T09:05:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3182727 -24.256625
2025-11-03T09:05:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3182727;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33804;2460982.79572646;9.09739889;1.3;_14.2941201055895 -24.138222338427
2025-11-03T09:05:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2941201055895     dec_j2k = -24.138222338427
2025-11-03T09:05:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966823773113053;171.162357330327;_
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966823773113053;171.162357330327;_
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38693)
2025-11-03T09:05:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:50.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:50.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79572644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966823773113053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3182727, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33804, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2941201055895, telescope_dec_j2k=-24.138222338427, observability=1)
2025-11-03T09:05:52.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:52
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9739429950714111s
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3188334;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3386;2460982.79574951;9.09795806;1.3;_
2025-11-03T09:05:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3188334;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3386;2460982.79574951;9.09795806;1.3;_
2025-11-03T09:05:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:52.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3188334, teldec = -24.256625
2025-11-03T09:05:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3188334 -24.256625
2025-11-03T09:05:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3188334 -24.256625
2025-11-03T09:05:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3188334 -24.256625
2025-11-03T09:05:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3188334;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3386;2460982.79574954;9.09795806;1.3;_14.294680285585 -24.1382337329756
2025-11-03T09:05:52.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.294680285585     dec_j2k = -24.1382337329756
2025-11-03T09:05:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966826580949049;171.162357330327;_
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966826580949049;171.162357330327;_
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55449)
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:52.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:52.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:52.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79574951, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966826580949049, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3188334, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3386, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.294680285585, telescope_dec_j2k=-24.1382337329756, observability=1)
2025-11-03T09:05:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:54
2025-11-03T09:05:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9855027198791504s
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3193927;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33916;2460982.7957727;9.09851583;1.3;_
2025-11-03T09:05:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3193927;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33916;2460982.7957727;9.09851583;1.3;_
2025-11-03T09:05:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3193927, teldec = -24.256625
2025-11-03T09:05:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3193927 -24.256625
2025-11-03T09:05:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3193927 -24.256625
2025-11-03T09:05:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3193927 -24.256625
2025-11-03T09:05:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3193927;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33916;2460982.79577272;9.09851583;1.3;_14.2952390669212 -24.1382451016464
2025-11-03T09:05:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2952390669212     dec_j2k = -24.1382451016464
2025-11-03T09:05:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966826179829621;171.162362694745;_
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966826179829621;171.162362694745;_
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39647)
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7957727, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966826179829621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3193927, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33916, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2952390669212, telescope_dec_j2k=-24.1382451016464, observability=1)
2025-11-03T09:05:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:56
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853332042694092s
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3199434;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33971;2460982.7957959;9.099065;1.3;_
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3199434;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33971;2460982.7957959;9.099065;1.3;_
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3199434, teldec = -24.256625
2025-11-03T09:05:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3199434 -24.256625
2025-11-03T09:05:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3199434 -24.256625
2025-11-03T09:05:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3199434 -24.256625
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3199434;-24.256625;50.108605;89.993051;50.08601;90.12017;11.33971;2460982.79579593;9.099065;1.3;_14.2957892562739 -24.138256298019
2025-11-03T09:05:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2957892562739     dec_j2k = -24.138256298019
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966826982068477;171.162357330327;_
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966826982068477;171.162357330327;_
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49681)
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:56.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:56.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:56.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7957959, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966826982068477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3199434, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.33971, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2957892562739, telescope_dec_j2k=-24.138256298019, observability=1)
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.0785975456237793s
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:05:57.863 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:05:57.864 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:05:57.865 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.3202515;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34002;2460982.79580862;9.09937222;1.3;_
2025-11-03T09:05:57.865 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.3202515;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34002;2460982.79580862;9.09937222;1.3;_
2025-11-03T09:05:57.865 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:05:57.865 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:05:57.865 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:05:57.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:57.866 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:05:57.866 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.3202515, teldec = -24.256625
2025-11-03T09:05:57.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3202515 -24.256625
2025-11-03T09:05:57.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3202515 -24.256625
2025-11-03T09:05:57.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3202515 -24.256625
2025-11-03T09:05:57.867 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.3202515;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34002;2460982.79580865;9.09937222;1.3;_14.2960970706001 -24.1382625631377
2025-11-03T09:05:57.867 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.2960970706001     dec_j2k = -24.1382625631377
2025-11-03T09:05:57.867 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:05:57.867 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:05:57.867 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966830191023902;171.162351965909;_
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966830191023902;171.162351965909;_
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:57.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:05:57.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:05:57.870 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:57.870 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:05:57.870 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:05:57.876 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55661)
2025-11-03T09:05:57.877 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:05:57.877 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:05:57.877 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:05:57.877 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:05:57.877 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:05:57.884 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:05:57.885 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79580862, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966830191023902, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3202515, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34002, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2960970706001, telescope_dec_j2k=-24.1382625631377, observability=1)
2025-11-03T09:05:57.936 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:57.936 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.051189422607421875s
2025-11-03T09:05:57.936 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.051189422607421875
2025-11-03T09:05:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:05:58
2025-11-03T09:05:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:05:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8785264492034912s
2025-11-03T09:05:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8785264492034912
2025-11-03T09:06:00.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:00
2025-11-03T09:06:00.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.8699593544006348s
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3210643;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34083;2460982.79584209;9.10018278;1.3;_
2025-11-03T09:06:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3210643;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34083;2460982.79584209;9.10018278;1.3;_
2025-11-03T09:06:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:00.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3210643, teldec = -24.256625
2025-11-03T09:06:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3210643 -24.256625
2025-11-03T09:06:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3210643 -24.256625
2025-11-03T09:06:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3210643 -24.256625
2025-11-03T09:06:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3210643;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34083;2460982.79584212;9.10018278;1.3;_14.2969091170245 -24.1382790949167
2025-11-03T09:06:00.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2969091170245     dec_j2k = -24.1382790949167
2025-11-03T09:06:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966831795501614;171.162362694745;_
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966831795501614;171.162362694745;_
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49233)
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:00.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:00.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79584209, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966831795501614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3210643, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34083, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2969091170245, telescope_dec_j2k=-24.1382790949167, observability=1)
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Status age = 1.7229957580566406s
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:02.497 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:02.498 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:02.499 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 17;14.32154;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34131;2460982.79586226;9.10065722;1.3;_
2025-11-03T09:06:02.499 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response 17;14.32154;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34131;2460982.79586226;9.10065722;1.3;_
2025-11-03T09:06:02.499 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:02.499 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:02.499 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:02.500 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:02.500 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:02.500 [INFO] [Thread-88554 (handle)] [driver.py] [get_status()] Telra = 14.32154, teldec = -24.256625
2025-11-03T09:06:02.500 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] UnCookCoordinates 14.32154 -24.256625
2025-11-03T09:06:02.500 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.32154 -24.256625
2025-11-03T09:06:02.500 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.32154 -24.256625
2025-11-03T09:06:02.501 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 17;14.32154;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34131;2460982.79586228;9.10065722;1.3;_14.2973843760277 -24.1382887728362
2025-11-03T09:06:02.501 [INFO] [Thread-88554 (handle)] [driver.py] [get_status()] ra_j2k = 14.2973843760277     dec_j2k = -24.1382887728362
2025-11-03T09:06:02.501 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:02.501 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:02.501 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 140;0.0966826580949049;171.162357330327;_
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response 140;0.0966826580949049;171.162357330327;_
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:02.502 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:02.503 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:02.504 [DEBUG] [Thread-88554 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:02.504 [DEBUG] [Thread-88554 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:02.504 [DEBUG] [Thread-88554 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56055)
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:02.511 [DEBUG] [Thread-88554 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:02.518 [DEBUG] [Thread-88554 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:02.519 [DEBUG] [Thread-88554 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:02.519 [INFO] [Thread-88554 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79586226, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966826580949049, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.32154, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34131, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2973843760277, telescope_dec_j2k=-24.1382887728362, observability=1)
2025-11-03T09:06:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:02
2025-11-03T09:06:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2459268569946289s
2025-11-03T09:06:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2459268569946289
2025-11-03T09:06:04.898 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:04
2025-11-03T09:06:04.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:04.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.379410743713379s
2025-11-03T09:06:04.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:04.898 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:04.898 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:04.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:04.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3222316;-24.256625;50.108605;89.993051;50.08601;90.12017;11.342;2460982.79589005;9.10134694;1.3;_
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3222316;-24.256625;50.108605;89.993051;50.08601;90.12017;11.342;2460982.79589005;9.10134694;1.3;_
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:04.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:04.902 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3222316, teldec = -24.256625
2025-11-03T09:06:04.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3222316 -24.256625
2025-11-03T09:06:04.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3222316 -24.256625
2025-11-03T09:06:04.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3222316 -24.256625
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3222316;-24.256625;50.108605;89.993051;50.08601;90.12017;11.342;2460982.79589007;9.10134694;1.3;_14.2980753349359 -24.1383028464662
2025-11-03T09:06:04.903 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2980753349359     dec_j2k = -24.1383028464662
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966825778710193;171.162362694745;_
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966825778710193;171.162362694745;_
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:04.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:04.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:04.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:04.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:04.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:04.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:04.908 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39471)
2025-11-03T09:06:04.908 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:04.908 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:04.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:04.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:04.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:04.916 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:04.916 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79589005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966825778710193, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3222316, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2980753349359, telescope_dec_j2k=-24.1383028464662, observability=1)
2025-11-03T09:06:06.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:06
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8619258403778076s
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:06.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3227361;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3425;2460982.79591181;9.10185;1.3;_
2025-11-03T09:06:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3227361;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3425;2460982.79591181;9.10185;1.3;_
2025-11-03T09:06:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:06.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:06.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3227361, teldec = -24.256625
2025-11-03T09:06:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3227361 -24.256625
2025-11-03T09:06:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3227361 -24.256625
2025-11-03T09:06:06.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3227361 -24.256625
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3227361;-24.256625;50.108605;89.993051;50.08601;90.12017;11.3425;2460982.79591184;9.10185;1.3;_14.2985793673209 -24.1383131152048
2025-11-03T09:06:06.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2985793673209     dec_j2k = -24.1383131152048
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966829388785046;171.162373423581;_
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966829388785046;171.162373423581;_
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:06.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:06.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:06.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:06.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33265)
2025-11-03T09:06:06.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:06.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:06.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:06.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:06.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:06.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:06.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79591181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966829388785046, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3227361, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3425, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2985793673209, telescope_dec_j2k=-24.1383131152048, observability=1)
2025-11-03T09:06:08.321 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:08
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5228462219238281s
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:08.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:08.322 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:08.322 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:08.322 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3231845;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34295;2460982.79592966;9.10229722;1.3;_
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3231845;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34295;2460982.79592966;9.10229722;1.3;_
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:08.323 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:08.324 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:08.324 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:08.324 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3231845, teldec = -24.256625
2025-11-03T09:06:08.324 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3231845 -24.256625
2025-11-03T09:06:08.324 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3231845 -24.256625
2025-11-03T09:06:08.324 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3231845 -24.256625
2025-11-03T09:06:08.325 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3231845;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34295;2460982.79592969;9.10229722;1.3;_14.2990273517333 -24.1383222438218
2025-11-03T09:06:08.325 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2990273517333     dec_j2k = -24.1383222438218
2025-11-03T09:06:08.325 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:08.325 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:08.325 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096683460333761;171.162362694745;_
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096683460333761;171.162362694745;_
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:08.326 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:08.327 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:08.328 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:08.328 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:08.328 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:08.333 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46391)
2025-11-03T09:06:08.333 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:08.333 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:08.333 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:08.334 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:08.334 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:08.341 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:08.341 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79592966, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096683460333761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3231845, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34295, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2990273517333, telescope_dec_j2k=-24.1383222438218, observability=1)
2025-11-03T09:06:08.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:08
2025-11-03T09:06:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.01907491683959961s
2025-11-03T09:06:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.01907491683959961
2025-11-03T09:06:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:08
2025-11-03T09:06:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41778063774108887s
2025-11-03T09:06:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41778063774108887
2025-11-03T09:06:10.230 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:06:10
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8888204097747803s
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:10.230 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3237076;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34348;2460982.79595175;9.10281889;1.3;_
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.3237076;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34348;2460982.79595175;9.10281889;1.3;_
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:10.231 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:10.232 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:10.232 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:10.232 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.3237076, teldec = -24.256625
2025-11-03T09:06:10.233 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3237076 -24.256625
2025-11-03T09:06:10.233 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3237076 -24.256625
2025-11-03T09:06:10.233 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3237076 -24.256625
2025-11-03T09:06:10.234 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3237076;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34348;2460982.79595178;9.10281889;1.3;_14.2995499669464 -24.1383328952822
2025-11-03T09:06:10.234 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.2995499669464     dec_j2k = -24.1383328952822
2025-11-03T09:06:10.234 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:10.234 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:10.234 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966831795501614;171.162362694745;_
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966831795501614;171.162362694745;_
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:10.235 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:10.236 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:10.236 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:10.236 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48367)
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:10.239 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:10.246 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:10.246 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:10.247 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:10.247 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79595175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966831795501614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3237076, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2995499669464, telescope_dec_j2k=-24.1383328952822, observability=1)
2025-11-03T09:06:10.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:10
2025-11-03T09:06:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5095829963684082s
2025-11-03T09:06:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5095829963684082
2025-11-03T09:06:11.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:11
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1559364795684814s
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:11.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3240441;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34381;2460982.79596534;9.10315444;1.3;_
2025-11-03T09:06:11.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3240441;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34381;2460982.79596534;9.10315444;1.3;_
2025-11-03T09:06:11.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:11.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:11.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:11.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:11.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:11.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3240441, teldec = -24.256625
2025-11-03T09:06:11.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3240441 -24.256625
2025-11-03T09:06:11.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3240441 -24.256625
2025-11-03T09:06:11.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3240441 -24.256625
2025-11-03T09:06:11.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3240441;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34381;2460982.79596536;9.10315444;1.3;_14.2998861551122 -24.1383397483455
2025-11-03T09:06:11.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.2998861551122     dec_j2k = -24.1383397483455
2025-11-03T09:06:11.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:11.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:11.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966832196621042;171.162357330327;_
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966832196621042;171.162357330327;_
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:11.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:11.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:11.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:11.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:11.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:11.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43035)
2025-11-03T09:06:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:11.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:11.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:11.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79596534, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966832196621042, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3240441, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:05:11.557777', telescope_ra_j2k=14.2998861551122, telescope_dec_j2k=-24.1383397483455, observability=1)
2025-11-03T09:06:11.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:11
2025-11-03T09:06:11.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:11.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03219866752624512s
2025-11-03T09:06:11.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03219866752624512
2025-11-03T09:06:11.711 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:11.711 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:11.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:11.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:11.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:11.712 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:11.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:11.713 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:11.713 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:11.713 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:11.713 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:06:11.713 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:11.713 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:11.713 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:11.713 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:11.713 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:06:11.714 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:06:11.715 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:12.715 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:12.715 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:12.715 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:12.715 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:12.715 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:12.716 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:12.716 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:12.716 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:12.716 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:12.716 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:12.717 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:06:12.717 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:06:12.717 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:06:12.717 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:12.718 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:12.718 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:12.718 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:12.718 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:12.718 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:12.719 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:12.719 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:12.719 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:12.719 [DEBUG] [ThreadPoolExecutor-3382_0] [payload.py] [to_registers()] [0]
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45813)
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:12.722 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:12.729 [DEBUG] [ThreadPoolExecutor-3382_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:12
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3392093181610107s
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3244078;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34418;2460982.79598102;9.10351722;1.3;_
2025-11-03T09:06:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3244078;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34418;2460982.79598102;9.10351722;1.3;_
2025-11-03T09:06:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:12.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3244078, teldec = -24.256625
2025-11-03T09:06:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3244078 -24.256625
2025-11-03T09:06:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3244078 -24.256625
2025-11-03T09:06:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3244078 -24.256625
2025-11-03T09:06:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3244078;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34418;2460982.79598104;9.10351722;1.3;_14.3002495180889 -24.1383471564014
2025-11-03T09:06:12.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3002495180889     dec_j2k = -24.1383471564014
2025-11-03T09:06:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966830191023902;171.162362694745;_
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966830191023902;171.162362694745;_
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56225)
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:12.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:12.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79598102, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966830191023902, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3244078, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34418, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3002495180889, telescope_dec_j2k=-24.1383471564014, observability=1)
2025-11-03T09:06:13.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:13
2025-11-03T09:06:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845870971679688s
2025-11-03T09:06:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845870971679688
2025-11-03T09:06:13.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:13
2025-11-03T09:06:13.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:13.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6111154556274414s
2025-11-03T09:06:13.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6111154556274414
2025-11-03T09:06:13.597 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:06:13.597 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8190758228302002s
2025-11-03T09:06:13.597 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8190758228302002
2025-11-03T09:06:13.597 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3669259548187256 seconds ago
2025-11-03T09:06:14.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:14
2025-11-03T09:06:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807536602020264s
2025-11-03T09:06:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3249582;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34473;2460982.79600417;9.10406611;1.3;_
2025-11-03T09:06:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3249582;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34473;2460982.79600417;9.10406611;1.3;_
2025-11-03T09:06:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:14.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3249582, teldec = -24.256625
2025-11-03T09:06:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3249582 -24.256625
2025-11-03T09:06:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3249582 -24.256625
2025-11-03T09:06:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3249582 -24.256625
2025-11-03T09:06:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3249582;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34473;2460982.79600419;9.10406611;1.3;_14.3007994080939 -24.1383583693376
2025-11-03T09:06:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3007994080939     dec_j2k = -24.1383583693376
2025-11-03T09:06:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096683460333761;171.162357330327;_
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096683460333761;171.162357330327;_
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49039)
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:14.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:14.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:14.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79600417, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096683460333761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3249582, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34473, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3007994080939, telescope_dec_j2k=-24.1383583693376, observability=1)
2025-11-03T09:06:15.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:15
2025-11-03T09:06:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5875129699707031s
2025-11-03T09:06:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5875129699707031
2025-11-03T09:06:15.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:15
2025-11-03T09:06:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6092021465301514s
2025-11-03T09:06:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6092021465301514
2025-11-03T09:06:16.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:16
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.000582695007324s
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3255189;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34529;2460982.79602752;9.10462528;1.3;_
2025-11-03T09:06:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3255189;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34529;2460982.79602752;9.10462528;1.3;_
2025-11-03T09:06:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:16.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3255189, teldec = -24.256625
2025-11-03T09:06:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3255189 -24.256625
2025-11-03T09:06:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3255189 -24.256625
2025-11-03T09:06:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3255189 -24.256625
2025-11-03T09:06:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3255189;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34529;2460982.79602755;9.10462528;1.3;_14.3013595885973 -24.1383697946652
2025-11-03T09:06:16.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3013595885973     dec_j2k = -24.1383697946652
2025-11-03T09:06:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096683460333761;171.162362694745;_
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096683460333761;171.162362694745;_
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39209)
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:16.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:16.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79602752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096683460333761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3255189, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34529, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3013595885973, telescope_dec_j2k=-24.1383697946652, observability=1)
2025-11-03T09:06:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:17
2025-11-03T09:06:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5647013187408447s
2025-11-03T09:06:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5647013187408447
2025-11-03T09:06:17.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:17
2025-11-03T09:06:17.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:17.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5861363410949707s
2025-11-03T09:06:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5861363410949707
2025-11-03T09:06:18.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:18
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.959528923034668s
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3260791;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34585;2460982.79605044;9.10518389;1.3;_
2025-11-03T09:06:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3260791;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34585;2460982.79605044;9.10518389;1.3;_
2025-11-03T09:06:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:18.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3260791, teldec = -24.256625
2025-11-03T09:06:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3260791 -24.256625
2025-11-03T09:06:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3260791 -24.256625
2025-11-03T09:06:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3260791 -24.256625
2025-11-03T09:06:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3260791;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34585;2460982.79605046;9.10518389;1.3;_14.3019192696066 -24.1383812123807
2025-11-03T09:06:18.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3019192696066     dec_j2k = -24.1383812123807
2025-11-03T09:06:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966837411173607;171.162362694745;_
2025-11-03T09:06:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966837411173607;171.162362694745;_
2025-11-03T09:06:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34895)
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:18.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:18.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79605044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966837411173607, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3260791, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34585, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3019192696066, telescope_dec_j2k=-24.1383812123807, observability=1)
2025-11-03T09:06:19.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:19
2025-11-03T09:06:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5911009311676025s
2025-11-03T09:06:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5911009311676025
2025-11-03T09:06:19.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:19
2025-11-03T09:06:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.612555742263794s
2025-11-03T09:06:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.612555742263794
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Status age = 1.876636028289795s
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:20.650 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:20.651 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 17;14.3266105;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34638;2460982.79607235;9.10571389;1.3;_
2025-11-03T09:06:20.651 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response 17;14.3266105;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34638;2460982.79607235;9.10571389;1.3;_
2025-11-03T09:06:20.651 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:20.652 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:20.652 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:20.652 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:20.652 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:20.653 [INFO] [Thread-88555 (handle)] [driver.py] [get_status()] Telra = 14.3266105, teldec = -24.256625
2025-11-03T09:06:20.653 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3266105 -24.256625
2025-11-03T09:06:20.653 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3266105 -24.256625
2025-11-03T09:06:20.653 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3266105 -24.256625
2025-11-03T09:06:20.654 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 17;14.3266105;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34638;2460982.79607238;9.10571389;1.3;_14.3024501773366 -24.1383920454889
2025-11-03T09:06:20.654 [INFO] [Thread-88555 (handle)] [driver.py] [get_status()] ra_j2k = 14.3024501773366     dec_j2k = -24.1383920454889
2025-11-03T09:06:20.654 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:20.654 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:20.654 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 140;0.0966837812293035;171.162357330327;_
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response 140;0.0966837812293035;171.162357330327;_
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:20.655 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:20.656 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:20.657 [DEBUG] [Thread-88555 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:20.657 [DEBUG] [Thread-88555 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:20.657 [DEBUG] [Thread-88555 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40883)
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:20.662 [DEBUG] [Thread-88555 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:20.669 [DEBUG] [Thread-88555 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:20.669 [DEBUG] [Thread-88555 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:20.669 [DEBUG] [Thread-88555 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:20.670 [DEBUG] [Thread-88555 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:20.670 [INFO] [Thread-88555 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79607235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966837812293035, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3266105, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34638, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3024501773366, telescope_dec_j2k=-24.1383920454889, observability=1)
2025-11-03T09:06:20.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:20
2025-11-03T09:06:20.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:20.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1249232292175293s
2025-11-03T09:06:20.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1249232292175293
2025-11-03T09:06:21.578 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:21
2025-11-03T09:06:21.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:21.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.908306360244751s
2025-11-03T09:06:21.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.908306360244751
2025-11-03T09:06:21.607 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:21
2025-11-03T09:06:21.607 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:21.607 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9374532699584961s
2025-11-03T09:06:21.607 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9374532699584961
2025-11-03T09:06:22.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:22
2025-11-03T09:06:22.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:22.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.124525308609009s
2025-11-03T09:06:22.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:22.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:22.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3271902;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34696;2460982.79609718;9.10629194;1.3;_
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3271902;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34696;2460982.79609718;9.10629194;1.3;_
2025-11-03T09:06:22.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:22.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:22.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:22.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:22.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:22.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3271902, teldec = -24.256625
2025-11-03T09:06:22.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3271902 -24.256625
2025-11-03T09:06:22.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3271902 -24.256625
2025-11-03T09:06:22.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3271902 -24.256625
2025-11-03T09:06:22.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3271902;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34696;2460982.79609721;9.10629194;1.3;_14.3030293403671 -24.1384038658819
2025-11-03T09:06:22.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3030293403671     dec_j2k = -24.1384038658819
2025-11-03T09:06:22.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:22.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:22.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966838213412463;171.162351965909;_
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966838213412463;171.162351965909;_
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:22.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:22.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:22.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:22.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:22.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36569)
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:22.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:22.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:22.816 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79609718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966838213412463, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3271902, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3030293403671, telescope_dec_j2k=-24.1384038658819, observability=1)
2025-11-03T09:06:23.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:23
2025-11-03T09:06:23.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:23.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5561611652374268s
2025-11-03T09:06:23.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5561611652374268
2025-11-03T09:06:23.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:23
2025-11-03T09:06:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5781264305114746s
2025-11-03T09:06:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5781264305114746
2025-11-03T09:06:24.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:24
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9400324821472168s
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:24.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3277506;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34752;2460982.79611988;9.10685083;1.3;_
2025-11-03T09:06:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3277506;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34752;2460982.79611988;9.10685083;1.3;_
2025-11-03T09:06:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:24.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3277506, teldec = -24.256625
2025-11-03T09:06:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3277506 -24.256625
2025-11-03T09:06:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3277506 -24.256625
2025-11-03T09:06:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3277506 -24.256625
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3277506;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34752;2460982.79611991;9.10685083;1.3;_14.3035892213182 -24.1384152953583
2025-11-03T09:06:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3035892213182     dec_j2k = -24.1384152953583
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966841021248459;171.162357330327;_
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966841021248459;171.162357330327;_
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47365)
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:24.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:24.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79611988, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966841021248459, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3277506, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34752, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3035892213182, telescope_dec_j2k=-24.1384152953583, observability=1)
2025-11-03T09:06:25.371 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:25
2025-11-03T09:06:25.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:25.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.593177080154419s
2025-11-03T09:06:25.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.593177080154419
2025-11-03T09:06:25.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:25
2025-11-03T09:06:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6161737442016602s
2025-11-03T09:06:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6161737442016602
2025-11-03T09:06:26.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:26
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9922733306884766s
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3283102;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34808;2460982.79614319;9.10740889;1.3;_
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3283102;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34808;2460982.79614319;9.10740889;1.3;_
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:26.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3283102, teldec = -24.256625
2025-11-03T09:06:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3283102 -24.256625
2025-11-03T09:06:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3283102 -24.256625
2025-11-03T09:06:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3283102 -24.256625
2025-11-03T09:06:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3283102;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34808;2460982.79614322;9.10740889;1.3;_14.304148303053 -24.1384267110891
2025-11-03T09:06:26.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.304148303053     dec_j2k = -24.1384267110891
2025-11-03T09:06:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966839817890175;171.162357330327;_
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966839817890175;171.162357330327;_
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47227)
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:26.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:26.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79614319, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966839817890175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3283102, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34808, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.304148303053, telescope_dec_j2k=-24.1384267110891, observability=1)
2025-11-03T09:06:27.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:27
2025-11-03T09:06:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5743677616119385s
2025-11-03T09:06:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5743677616119385
2025-11-03T09:06:27.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:27
2025-11-03T09:06:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5955588817596436s
2025-11-03T09:06:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5955588817596436
2025-11-03T09:06:28.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:28
2025-11-03T09:06:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9675366878509521s
2025-11-03T09:06:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3288639;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34863;2460982.79616618;9.10796111;1.3;_
2025-11-03T09:06:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3288639;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34863;2460982.79616618;9.10796111;1.3;_
2025-11-03T09:06:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:28.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3288639, teldec = -24.256625
2025-11-03T09:06:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3288639 -24.256625
2025-11-03T09:06:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3288639 -24.256625
2025-11-03T09:06:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3288639 -24.256625
2025-11-03T09:06:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3288639;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34863;2460982.7961662;9.10796111;1.3;_14.3047014902938 -24.138438008989
2025-11-03T09:06:28.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3047014902938     dec_j2k = -24.138438008989
2025-11-03T09:06:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966839817890175;171.162357330327;_
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966839817890175;171.162357330327;_
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57719)
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:28.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:28.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79616618, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966839817890175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3288639, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34863, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3047014902938, telescope_dec_j2k=-24.138438008989, observability=1)
2025-11-03T09:06:29.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:29
2025-11-03T09:06:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5871384143829346s
2025-11-03T09:06:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5871384143829346
2025-11-03T09:06:29.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:29
2025-11-03T09:06:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6085391044616699s
2025-11-03T09:06:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6085391044616699
2025-11-03T09:06:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:30
2025-11-03T09:06:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9898872375488281s
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3294249;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34919;2460982.79618943;9.10852056;1.3;_
2025-11-03T09:06:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3294249;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34919;2460982.79618943;9.10852056;1.3;_
2025-11-03T09:06:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3294249, teldec = -24.256625
2025-11-03T09:06:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3294249 -24.256625
2025-11-03T09:06:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3294249 -24.256625
2025-11-03T09:06:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3294249 -24.256625
2025-11-03T09:06:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3294249;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34919;2460982.79618946;9.10852056;1.3;_14.3052619708169 -24.1384494584051
2025-11-03T09:06:30.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3052619708169     dec_j2k = -24.1384494584051
2025-11-03T09:06:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966839416770747;171.162368059163;_
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966839416770747;171.162368059163;_
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33933)
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:30.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:30.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79618943, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966839416770747, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3294249, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34919, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3052619708169, telescope_dec_j2k=-24.1384494584051, observability=1)
2025-11-03T09:06:31.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:31
2025-11-03T09:06:31.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:31.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5897207260131836s
2025-11-03T09:06:31.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5897207260131836
2025-11-03T09:06:31.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:31
2025-11-03T09:06:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113247871398926s
2025-11-03T09:06:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113247871398926
2025-11-03T09:06:32.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:32
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0147085189819336s
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:32.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:32.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:32.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.329977;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34975;2460982.79621296;9.10907111;1.3;_
2025-11-03T09:06:32.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.329977;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34975;2460982.79621296;9.10907111;1.3;_
2025-11-03T09:06:32.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:32.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:32.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:32.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:32.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:32.801 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.329977, teldec = -24.256625
2025-11-03T09:06:32.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.329977 -24.256625
2025-11-03T09:06:32.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.329977 -24.256625
2025-11-03T09:06:32.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.329977 -24.256625
2025-11-03T09:06:32.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.329977;-24.256625;50.108605;89.993051;50.08601;90.12017;11.34975;2460982.79621299;9.10907111;1.3;_14.305813559623 -24.1384607287014
2025-11-03T09:06:32.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.305813559623     dec_j2k = -24.1384607287014
2025-11-03T09:06:32.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:32.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:32.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:32.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966834202218182;171.162357330327;_
2025-11-03T09:06:32.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966834202218182;171.162357330327;_
2025-11-03T09:06:32.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:32.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:32.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:32.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:32.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:32.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:32.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:32.809 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47017)
2025-11-03T09:06:32.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:32.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:32.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:32.809 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:32.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:32.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:32.817 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:32.817 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79621296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966834202218182, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.329977, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.34975, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.305813559623, telescope_dec_j2k=-24.1384607287014, observability=1)
2025-11-03T09:06:33.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:33
2025-11-03T09:06:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5454177856445312s
2025-11-03T09:06:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5454177856445312
2025-11-03T09:06:33.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:33
2025-11-03T09:06:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5677666664123535s
2025-11-03T09:06:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5677666664123535
2025-11-03T09:06:34.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:34
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9412872791290283s
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3305382;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35031;2460982.79623565;9.10963083;1.3;_
2025-11-03T09:06:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3305382;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35031;2460982.79623565;9.10963083;1.3;_
2025-11-03T09:06:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3305382, teldec = -24.256625
2025-11-03T09:06:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3305382 -24.256625
2025-11-03T09:06:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3305382 -24.256625
2025-11-03T09:06:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3305382 -24.256625
2025-11-03T09:06:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3305382;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35031;2460982.79623567;9.10963083;1.3;_14.3063742400459 -24.138472187322
2025-11-03T09:06:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3063742400459     dec_j2k = -24.138472187322
2025-11-03T09:06:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096684503244274;171.162368059163;_
2025-11-03T09:06:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096684503244274;171.162368059163;_
2025-11-03T09:06:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46909)
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:34.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:34.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:34.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79623565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096684503244274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3305382, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35031, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3063742400459, telescope_dec_j2k=-24.138472187322, observability=1)
2025-11-03T09:06:35.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:35
2025-11-03T09:06:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.583770751953125s
2025-11-03T09:06:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.583770751953125
2025-11-03T09:06:35.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:35
2025-11-03T09:06:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6049518585205078s
2025-11-03T09:06:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6049518585205078
2025-11-03T09:06:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:36
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97818922996521s
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3310911;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35086;2460982.7962588;9.11018222;1.3;_
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3310911;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35086;2460982.7962588;9.11018222;1.3;_
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3310911, teldec = -24.256625
2025-11-03T09:06:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3310911 -24.256625
2025-11-03T09:06:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3310911 -24.256625
2025-11-03T09:06:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3310911 -24.256625
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3310911;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35086;2460982.79625883;9.11018222;1.3;_14.3069266281951 -24.1384834789979
2025-11-03T09:06:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3069266281951     dec_j2k = -24.1384834789979
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966837010054179;171.162362694745;_
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966837010054179;171.162362694745;_
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55383)
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:36.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:36.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:36.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7962588, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966837010054179, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3310911, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35086, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3069266281951, telescope_dec_j2k=-24.1384834789979, observability=1)
2025-11-03T09:06:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:37
2025-11-03T09:06:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5880470275878906s
2025-11-03T09:06:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5880470275878906
2025-11-03T09:06:37.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:37
2025-11-03T09:06:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6097817420959473s
2025-11-03T09:06:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6097817420959473
2025-11-03T09:06:37.730 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:37.730 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:37.730 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:37.730 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:37.730 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:37.731 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:06:37.732 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:06:37.733 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Status age = 1.945735216140747s
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:38.720 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:38.721 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:38.722 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 17;14.3316516;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35142;2460982.7962815;9.11074111;1.3;_
2025-11-03T09:06:38.722 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response 17;14.3316516;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35142;2460982.7962815;9.11074111;1.3;_
2025-11-03T09:06:38.722 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:38.722 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:38.722 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:38.723 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:38.723 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:38.723 [INFO] [Thread-88556 (handle)] [driver.py] [get_status()] Telra = 14.3316516, teldec = -24.256625
2025-11-03T09:06:38.723 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3316516 -24.256625
2025-11-03T09:06:38.723 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3316516 -24.256625
2025-11-03T09:06:38.723 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3316516 -24.256625
2025-11-03T09:06:38.724 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 17;14.3316516;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35142;2460982.79628153;9.11074111;1.3;_14.307486609351 -24.1384949284439
2025-11-03T09:06:38.724 [INFO] [Thread-88556 (handle)] [driver.py] [get_status()] ra_j2k = 14.307486609351     dec_j2k = -24.1384949284439
2025-11-03T09:06:38.724 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:38.724 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:38.724 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:38.725 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 140;0.0966839416770747;171.162357330327;_
2025-11-03T09:06:38.725 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response 140;0.0966839416770747;171.162357330327;_
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:38.726 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:38.727 [DEBUG] [Thread-88556 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:38.727 [DEBUG] [Thread-88556 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:38.727 [DEBUG] [Thread-88556 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47291)
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:38.728 [DEBUG] [Thread-88556 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:38.735 [DEBUG] [Thread-88556 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:38.736 [DEBUG] [Thread-88556 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:38.736 [DEBUG] [Thread-88556 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:38.736 [INFO] [Thread-88556 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7962815, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966839416770747, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3316516, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35142, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.307486609351, telescope_dec_j2k=-24.1384949284439, observability=1)
2025-11-03T09:06:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:38
2025-11-03T09:06:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024610519409179688s
2025-11-03T09:06:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024610519409179688
2025-11-03T09:06:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:39
2025-11-03T09:06:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6262142658233643s
2025-11-03T09:06:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6262142658233643
2025-11-03T09:06:39.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:39
2025-11-03T09:06:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.647730827331543s
2025-11-03T09:06:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.647730827331543
2025-11-03T09:06:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:40
2025-11-03T09:06:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0246942043304443s
2025-11-03T09:06:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3322111;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35198;2460982.79630513;9.11129917;1.3;_
2025-11-03T09:06:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3322111;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35198;2460982.79630513;9.11129917;1.3;_
2025-11-03T09:06:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3322111, teldec = -24.256625
2025-11-03T09:06:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3322111 -24.256625
2025-11-03T09:06:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3322111 -24.256625
2025-11-03T09:06:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3322111 -24.256625
2025-11-03T09:06:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3322111;-24.256625;50.108605;89.993051;50.08601;90.12017;11.35198;2460982.79630515;9.11129917;1.3;_14.3080455914752 -24.138506360031
2025-11-03T09:06:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3080455914752     dec_j2k = -24.138506360031
2025-11-03T09:06:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966843427965028;171.162351965909;_
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966843427965028;171.162351965909;_
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42291)
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:40.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79630513, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966843427965028, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108605, telescope_az=89.993051, telescope_ra=14.3322111, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3080455914752, telescope_dec_j2k=-24.138506360031, observability=1)
2025-11-03T09:06:41.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:41
2025-11-03T09:06:41.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:41.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5861546993255615s
2025-11-03T09:06:41.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5861546993255615
2025-11-03T09:06:41.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:41
2025-11-03T09:06:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6080272197723389s
2025-11-03T09:06:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6080272197723389
2025-11-03T09:06:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:42
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979731559753418s
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3327621;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35253;2460982.79632823;9.11184861;1.3;_
2025-11-03T09:06:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3327621;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35253;2460982.79632823;9.11184861;1.3;_
2025-11-03T09:06:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3327621, teldec = -24.256625
2025-11-03T09:06:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3327621 -24.256625
2025-11-03T09:06:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3327621 -24.256625
2025-11-03T09:06:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3327621 -24.256625
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3327621;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35253;2460982.79632826;9.11184861;1.3;_14.3085960815087 -24.1385176204556
2025-11-03T09:06:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3085960815087     dec_j2k = -24.1385176204556
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966838614531891;171.162357330327;_
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966838614531891;171.162357330327;_
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49861)
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79632823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966838614531891, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3327621, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35253, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3085960815087, telescope_dec_j2k=-24.1385176204556, observability=1)
2025-11-03T09:06:43.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:43
2025-11-03T09:06:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5846543312072754s
2025-11-03T09:06:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5846543312072754
2025-11-03T09:06:43.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:43
2025-11-03T09:06:43.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:43.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6130378246307373s
2025-11-03T09:06:43.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6130378246307373
2025-11-03T09:06:44.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:44
2025-11-03T09:06:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9761197566986084s
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3333228;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35309;2460982.79635135;9.11240778;1.3;_
2025-11-03T09:06:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3333228;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35309;2460982.79635135;9.11240778;1.3;_
2025-11-03T09:06:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:44.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3333228, teldec = -24.256625
2025-11-03T09:06:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3333228 -24.256625
2025-11-03T09:06:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3333228 -24.256625
2025-11-03T09:06:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3333228 -24.256625
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3333228;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35309;2460982.79635138;9.11240778;1.3;_14.309156262607 -24.1385290816671
2025-11-03T09:06:44.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.309156262607     dec_j2k = -24.1385290816671
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966841021248459;171.162362694745;_
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966841021248459;171.162362694745;_
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39605)
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:44.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79635135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966841021248459, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3333228, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35309, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.309156262607, telescope_dec_j2k=-24.1385290816671, observability=1)
2025-11-03T09:06:45.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:45
2025-11-03T09:06:45.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:45.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6012167930603027s
2025-11-03T09:06:45.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6012167930603027
2025-11-03T09:06:45.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:45
2025-11-03T09:06:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6226325035095215s
2025-11-03T09:06:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6226325035095215
2025-11-03T09:06:46.758 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Status age = 1.9874324798583984s
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:46.759 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:46.760 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:46.761 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.79637455;9.11296611;1.3;_
2025-11-03T09:06:46.761 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.79637455;9.11296611;1.3;_
2025-11-03T09:06:46.761 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:46.761 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:46.761 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:46.762 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:46.762 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:46.762 [INFO] [Thread-88557 (handle)] [driver.py] [get_status()] Telra = 14.3338827, teldec = -24.256625
2025-11-03T09:06:46.762 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.762 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.763 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.763 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.79637457;9.11296611;1.3;_14.3097156444884 -24.1385405290967
2025-11-03T09:06:46.764 [INFO] [Thread-88557 (handle)] [driver.py] [get_status()] ra_j2k = 14.3097156444884     dec_j2k = -24.1385405290967
2025-11-03T09:06:46.764 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:46.764 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:46.764 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:46.764 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:46.765 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:46.766 [DEBUG] [Thread-88557 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:46.766 [DEBUG] [Thread-88557 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:46.766 [DEBUG] [Thread-88557 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:46.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:46
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.000443935394287s
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47159)
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:46.773 [DEBUG] [Thread-88557 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.7963747;9.11296611;1.3;_
2025-11-03T09:06:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.7963747;9.11296611;1.3;_
2025-11-03T09:06:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:46.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3338827, teldec = -24.256625
2025-11-03T09:06:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3338827 -24.256625
2025-11-03T09:06:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3338827;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35365;2460982.79637472;9.11296611;1.3;_14.3097156444884 -24.1385405290967
2025-11-03T09:06:46.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3097156444884     dec_j2k = -24.1385405290967
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33307)
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:46.780 [DEBUG] [Thread-88557 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:46.781 [DEBUG] [Thread-88557 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:46.781 [DEBUG] [Thread-88557 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:46.781 [DEBUG] [Thread-88557 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:46.781 [INFO] [Thread-88557 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79637455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966848642517592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3338827, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3097156444884, telescope_dec_j2k=-24.1385405290967, observability=1)
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:46.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:46.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7963747, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966848642517592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3338827, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3097156444884, telescope_dec_j2k=-24.1385405290967, observability=1)
2025-11-03T09:06:47.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:47
2025-11-03T09:06:47.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:47.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6300632953643799s
2025-11-03T09:06:47.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6300632953643799
2025-11-03T09:06:47.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:47
2025-11-03T09:06:47.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:47.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6521079540252686s
2025-11-03T09:06:47.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6521079540252686
2025-11-03T09:06:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:48
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9714937210083008s
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3344339;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3542;2460982.79639771;9.11351583;1.3;_
2025-11-03T09:06:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3344339;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3542;2460982.79639771;9.11351583;1.3;_
2025-11-03T09:06:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3344339, teldec = -24.256625
2025-11-03T09:06:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3344339 -24.256625
2025-11-03T09:06:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3344339 -24.256625
2025-11-03T09:06:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3344339 -24.256625
2025-11-03T09:06:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3344339;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3542;2460982.79639774;9.11351583;1.3;_14.3102663344624 -24.1385518011597
2025-11-03T09:06:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3102663344624     dec_j2k = -24.1385518011597
2025-11-03T09:06:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966841422367887;171.162362694745;_
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966841422367887;171.162362694745;_
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38443)
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:48.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:48.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:48.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:48.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:48.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79639771, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966841422367887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3344339, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3542, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3102663344624, telescope_dec_j2k=-24.1385518011597, observability=1)
2025-11-03T09:06:49.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:49
2025-11-03T09:06:49.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:49.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5919201374053955s
2025-11-03T09:06:49.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5919201374053955
2025-11-03T09:06:49.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:49
2025-11-03T09:06:49.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:49.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6126480102539062s
2025-11-03T09:06:49.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6126480102539062
2025-11-03T09:06:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:50
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819343090057373s
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3349943;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35476;2460982.79642084;9.11407472;1.3;_
2025-11-03T09:06:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3349943;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35476;2460982.79642084;9.11407472;1.3;_
2025-11-03T09:06:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3349943, teldec = -24.256625
2025-11-03T09:06:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3349943 -24.256625
2025-11-03T09:06:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3349943 -24.256625
2025-11-03T09:06:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3349943 -24.256625
2025-11-03T09:06:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3349943;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35476;2460982.79642087;9.11407472;1.3;_14.310826215966 -24.1385632639151
2025-11-03T09:06:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.310826215966     dec_j2k = -24.1385632639151
2025-11-03T09:06:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966846235801024;171.162362694745;_
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966846235801024;171.162362694745;_
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46275)
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:50.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:50.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79642084, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966846235801024, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3349943, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.310826215966, telescope_dec_j2k=-24.1385632639151, observability=1)
2025-11-03T09:06:51.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:51
2025-11-03T09:06:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5824544429779053s
2025-11-03T09:06:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5824544429779053
2025-11-03T09:06:51.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:51
2025-11-03T09:06:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6047446727752686s
2025-11-03T09:06:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6047446727752686
2025-11-03T09:06:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:52
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835915565490723s
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3355539;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35532;2460982.79644404;9.11463278;1.3;_
2025-11-03T09:06:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3355539;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35532;2460982.79644404;9.11463278;1.3;_
2025-11-03T09:06:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:52.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3355539, teldec = -24.256625
2025-11-03T09:06:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3355539 -24.256625
2025-11-03T09:06:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3355539 -24.256625
2025-11-03T09:06:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3355539 -24.256625
2025-11-03T09:06:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3355539;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35532;2460982.79644406;9.11463278;1.3;_14.3113852982525 -24.1385747128743
2025-11-03T09:06:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3113852982525     dec_j2k = -24.1385747128743
2025-11-03T09:06:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966842625726172;171.162357330327;_
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966842625726172;171.162357330327;_
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48045)
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:52.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:52.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79644404, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966842625726172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3355539, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35532, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3113852982525, telescope_dec_j2k=-24.1385747128743, observability=1)
2025-11-03T09:06:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:53
2025-11-03T09:06:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5767216682434082s
2025-11-03T09:06:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5767216682434082
2025-11-03T09:06:53.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:53
2025-11-03T09:06:53.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:53.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5979259014129639s
2025-11-03T09:06:53.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5979259014129639
2025-11-03T09:06:54.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:54
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9723403453826904s
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:54.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3361043;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35587;2460982.79646711;9.11518167;1.3;_
2025-11-03T09:06:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3361043;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35587;2460982.79646711;9.11518167;1.3;_
2025-11-03T09:06:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:54.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3361043, teldec = -24.256625
2025-11-03T09:06:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3361043 -24.256625
2025-11-03T09:06:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3361043 -24.256625
2025-11-03T09:06:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3361043 -24.256625
2025-11-03T09:06:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3361043;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35587;2460982.79646714;9.11518167;1.3;_14.311935189092 -24.1385859761113
2025-11-03T09:06:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.311935189092     dec_j2k = -24.1385859761113
2025-11-03T09:06:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966841823487316;171.162357330327;_
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966841823487316;171.162357330327;_
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57569)
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:54.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79646711, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966841823487316, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3361043, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.311935189092, telescope_dec_j2k=-24.1385859761113, observability=1)
2025-11-03T09:06:55.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:55
2025-11-03T09:06:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5844616889953613s
2025-11-03T09:06:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5844616889953613
2025-11-03T09:06:55.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:55
2025-11-03T09:06:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:55.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6060571670532227s
2025-11-03T09:06:55.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6060571670532227
2025-11-03T09:06:56.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:56
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793226718902588s
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.336665;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35643;2460982.79649028;9.11574083;1.3;_
2025-11-03T09:06:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.336665;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35643;2460982.79649028;9.11574083;1.3;_
2025-11-03T09:06:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.336665, teldec = -24.256625
2025-11-03T09:06:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.336665 -24.256625
2025-11-03T09:06:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.336665 -24.256625
2025-11-03T09:06:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.336665 -24.256625
2025-11-03T09:06:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.336665;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35643;2460982.7964903;9.11574083;1.3;_14.3124953704458 -24.1385974526762
2025-11-03T09:06:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3124953704458     dec_j2k = -24.1385974526762
2025-11-03T09:06:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096684904363702;171.162362694745;_
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096684904363702;171.162362694745;_
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50331)
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79649028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096684904363702, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.336665, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3124953704458, telescope_dec_j2k=-24.1385974526762, observability=1)
2025-11-03T09:06:56.781 [DEBUG] [Thread-88558 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:56.781 [DEBUG] [Thread-88558 (handle)] [server.py] [get_status()] Status age = 0.0012586116790771484s
2025-11-03T09:06:56.781 [DEBUG] [Thread-88558 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0012586116790771484
2025-11-03T09:06:56.969 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:56.969 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.18970274925231934s
2025-11-03T09:06:56.969 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18970274925231934
2025-11-03T09:06:57.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:57
2025-11-03T09:06:57.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:57.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.587599515914917s
2025-11-03T09:06:57.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.587599515914917
2025-11-03T09:06:57.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:57
2025-11-03T09:06:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6083159446716309s
2025-11-03T09:06:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6083159446716309
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2075996398925781s
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3370012;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35677;2460982.7965045;9.11607611;1.3;_
2025-11-03T09:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.3370012;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35677;2460982.7965045;9.11607611;1.3;_
2025-11-03T09:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:57.990 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.3370012, teldec = -24.256625
2025-11-03T09:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3370012 -24.256625
2025-11-03T09:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3370012 -24.256625
2025-11-03T09:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3370012 -24.256625
2025-11-03T09:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3370012;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35677;2460982.79650453;9.11607611;1.3;_14.3128312594822 -24.138604335347
2025-11-03T09:06:57.991 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.3128312594822     dec_j2k = -24.138604335347
2025-11-03T09:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966848642517592;171.162362694745;_
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966848642517592;171.162362694745;_
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33337)
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:58.007 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:58.008 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7965045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966848642517592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3370012, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3128312594822, telescope_dec_j2k=-24.138604335347, observability=1)
2025-11-03T09:06:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:58
2025-11-03T09:06:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7516367435455322s
2025-11-03T09:06:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7516367435455322
2025-11-03T09:06:59.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:59
2025-11-03T09:06:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3528945446014404s
2025-11-03T09:06:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:06:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:06:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3373931;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35716;2460982.79652038;9.11646694;1.3;_
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3373931;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35716;2460982.79652038;9.11646694;1.3;_
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:06:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:06:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:06:59.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3373931, teldec = -24.256625
2025-11-03T09:06:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3373931 -24.256625
2025-11-03T09:06:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3373931 -24.256625
2025-11-03T09:06:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3373931 -24.256625
2025-11-03T09:06:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3373931;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35716;2460982.7965204;9.11646694;1.3;_14.313222797019 -24.1386123594741
2025-11-03T09:06:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.313222797019     dec_j2k = -24.1386123594741
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966846636920452;171.162362694745;_
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966846636920452;171.162362694745;_
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:06:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:06:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:06:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46141)
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:06:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:06:59.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:06:59.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79652038, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966846636920452, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3373931, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35716, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.313222797019, telescope_dec_j2k=-24.1386123594741, observability=1)
2025-11-03T09:06:59.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:06:59
2025-11-03T09:06:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:06:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021851301193237305s
2025-11-03T09:06:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021851301193237305
2025-11-03T09:07:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:00
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3824951648712158s
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3377847;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35755;2460982.79653662;9.1168575;1.3;_
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3377847;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35755;2460982.79653662;9.1168575;1.3;_
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3377847, teldec = -24.256625
2025-11-03T09:07:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3377847 -24.256625
2025-11-03T09:07:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3377847 -24.256625
2025-11-03T09:07:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3377847 -24.256625
2025-11-03T09:07:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3377847;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35755;2460982.79653664;9.1168575;1.3;_14.3136140348543 -24.138620378715
2025-11-03T09:07:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3136140348543     dec_j2k = -24.138620378715
2025-11-03T09:07:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966854258189585;171.162362694745;_
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966854258189585;171.162362694745;_
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55217)
2025-11-03T09:07:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79653662, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966854258189585, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3377847, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35755, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3136140348543, telescope_dec_j2k=-24.138620378715, observability=1)
2025-11-03T09:07:01.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:01
2025-11-03T09:07:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5881400108337402s
2025-11-03T09:07:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5881400108337402
2025-11-03T09:07:01.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:01
2025-11-03T09:07:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6164290904998779s
2025-11-03T09:07:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6164290904998779
2025-11-03T09:07:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:02
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979797601699829s
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3383368;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35811;2460982.79655973;9.11740806;1.3;_
2025-11-03T09:07:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3383368;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35811;2460982.79655973;9.11740806;1.3;_
2025-11-03T09:07:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:02.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3383368, teldec = -24.256625
2025-11-03T09:07:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3383368 -24.256625
2025-11-03T09:07:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3383368 -24.256625
2025-11-03T09:07:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3383368 -24.256625
2025-11-03T09:07:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3383368;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35811;2460982.79655976;9.11740806;1.3;_14.3141656242893 -24.1386316868311
2025-11-03T09:07:02.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3141656242893     dec_j2k = -24.1386316868311
2025-11-03T09:07:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966850648114733;171.162362694745;_
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966850648114733;171.162362694745;_
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57769)
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:02.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:02.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79655973, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966850648114733, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3383368, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35811, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3141656242893, telescope_dec_j2k=-24.1386316868311, observability=1)
2025-11-03T09:07:03.371 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:03
2025-11-03T09:07:03.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:03.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5939896106719971s
2025-11-03T09:07:03.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5939896106719971
2025-11-03T09:07:03.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:03
2025-11-03T09:07:03.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:03.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6151144504547119s
2025-11-03T09:07:03.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6151144504547119
2025-11-03T09:07:04.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:04
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0019612312316895s
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3388969;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35867;2460982.7965831;9.11796667;1.3;_
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3388969;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35867;2460982.7965831;9.11796667;1.3;_
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:04.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:04.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:04.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:04.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3388969, teldec = -24.256625
2025-11-03T09:07:04.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3388969 -24.256625
2025-11-03T09:07:04.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3388969 -24.256625
2025-11-03T09:07:04.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3388969 -24.256625
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3388969;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35867;2460982.79658314;9.11796667;1.3;_14.3147252063687 -24.1386431613535
2025-11-03T09:07:04.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3147252063687     dec_j2k = -24.1386431613535
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966843427965028;171.162357330327;_
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966843427965028;171.162357330327;_
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:04.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:04.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:04.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:04.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:04.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:04.789 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38361)
2025-11-03T09:07:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:04.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:04.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:04.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:04.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:04.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:04.797 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7965831, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966843427965028, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3388969, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3147252063687, telescope_dec_j2k=-24.1386431613535, observability=1)
2025-11-03T09:07:05.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:05
2025-11-03T09:07:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5665342807769775s
2025-11-03T09:07:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5665342807769775
2025-11-03T09:07:05.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:05
2025-11-03T09:07:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5885012149810791s
2025-11-03T09:07:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5885012149810791
2025-11-03T09:07:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:06
2025-11-03T09:07:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9623026847839355s
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3394568;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35923;2460982.79660604;9.118525;1.3;_
2025-11-03T09:07:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3394568;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35923;2460982.79660604;9.118525;1.3;_
2025-11-03T09:07:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3394568, teldec = -24.256625
2025-11-03T09:07:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3394568 -24.256625
2025-11-03T09:07:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3394568 -24.256625
2025-11-03T09:07:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3394568 -24.256625
2025-11-03T09:07:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3394568;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35923;2460982.79660606;9.118525;1.3;_14.3152845886759 -24.1386546343457
2025-11-03T09:07:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3152845886759     dec_j2k = -24.1386546343457
2025-11-03T09:07:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966851450353589;171.162362694745;_
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966851450353589;171.162362694745;_
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53305)
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:06.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:06.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79660604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966851450353589, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3394568, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35923, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3152845886759, telescope_dec_j2k=-24.1386546343457, observability=1)
2025-11-03T09:07:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:07
2025-11-03T09:07:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5787754058837891s
2025-11-03T09:07:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5787754058837891
2025-11-03T09:07:07.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:07
2025-11-03T09:07:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6014077663421631s
2025-11-03T09:07:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6014077663421631
2025-11-03T09:07:08.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:08
2025-11-03T09:07:08.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:08.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9719185829162598s
2025-11-03T09:07:08.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.340008;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35978;2460982.79662912;9.11907472;1.3;_
2025-11-03T09:07:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.340008;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35978;2460982.79662912;9.11907472;1.3;_
2025-11-03T09:07:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:08.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.340008, teldec = -24.256625
2025-11-03T09:07:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.340008 -24.256625
2025-11-03T09:07:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.340008 -24.256625
2025-11-03T09:07:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.340008 -24.256625
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.340008;-24.256625;50.108604;89.993051;50.08601;90.12017;11.35978;2460982.79662916;9.11907472;1.3;_14.3158352790691 -24.1386659315718
2025-11-03T09:07:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3158352790691     dec_j2k = -24.1386659315718
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966848642517592;171.162357330327;_
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48701)
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:08.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:08.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79662912, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966848642517592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.340008, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.35978, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3158352790691, telescope_dec_j2k=-24.1386659315718, observability=1)
2025-11-03T09:07:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:09
2025-11-03T09:07:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5881454944610596s
2025-11-03T09:07:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5881454944610596
2025-11-03T09:07:09.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:09
2025-11-03T09:07:09.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:09.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6094715595245361s
2025-11-03T09:07:09.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6094715595245361
2025-11-03T09:07:10.308 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:07:10
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.535712718963623s
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:10.308 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:10.309 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:10.310 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3404292;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3602;2460982.79664711;9.11949472;1.3;_
2025-11-03T09:07:10.310 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.3404292;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3602;2460982.79664711;9.11949472;1.3;_
2025-11-03T09:07:10.310 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:10.310 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:10.310 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:10.311 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:10.311 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:10.311 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.3404292, teldec = -24.256625
2025-11-03T09:07:10.311 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3404292 -24.256625
2025-11-03T09:07:10.311 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3404292 -24.256625
2025-11-03T09:07:10.311 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3404292 -24.256625
2025-11-03T09:07:10.312 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3404292;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3602;2460982.79664713;9.11949472;1.3;_14.3162560896806 -24.1386745660341
2025-11-03T09:07:10.312 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.3162560896806     dec_j2k = -24.1386745660341
2025-11-03T09:07:10.312 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:10.312 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:10.313 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:10.313 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966852653711873;171.162351965909;_
2025-11-03T09:07:10.313 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966852653711873;171.162351965909;_
2025-11-03T09:07:10.313 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:10.314 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:10.315 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:10.315 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:10.315 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:10.316 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39873)
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:10.317 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:10.324 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:10.325 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:10.325 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79664711, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966852653711873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3404292, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3602, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3162560896806, telescope_dec_j2k=-24.1386745660341, observability=1)
2025-11-03T09:07:10.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:10
2025-11-03T09:07:10.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:10.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42998385429382324s
2025-11-03T09:07:10.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42998385429382324
2025-11-03T09:07:11.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:11
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0428838729858398s
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:11.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3407384;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36051;2460982.79665938;9.11980306;1.3;_
2025-11-03T09:07:11.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3407384;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36051;2460982.79665938;9.11980306;1.3;_
2025-11-03T09:07:11.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:11.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:11.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:11.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:11.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:11.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3407384, teldec = -24.256625
2025-11-03T09:07:11.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3407384 -24.256625
2025-11-03T09:07:11.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3407384 -24.256625
2025-11-03T09:07:11.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3407384 -24.256625
2025-11-03T09:07:11.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3407384;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36051;2460982.7966594;9.11980306;1.3;_14.3165650038486 -24.1386809054572
2025-11-03T09:07:11.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3165650038486     dec_j2k = -24.1386809054572
2025-11-03T09:07:11.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:11.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:11.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966853455950729;171.162362694745;_
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966853455950729;171.162362694745;_
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:11.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:11.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:11.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:11.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:11.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:11.383 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48619)
2025-11-03T09:07:11.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:11.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:11.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:11.384 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:11.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:11.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:11.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:11.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79665938, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966853455950729, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3407384, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36051, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:06:11.710712', telescope_ra_j2k=14.3165650038486, telescope_dec_j2k=-24.1386809054572, observability=1)
2025-11-03T09:07:11.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:11
2025-11-03T09:07:11.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:11.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024689912796020508s
2025-11-03T09:07:11.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024689912796020508
2025-11-03T09:07:11.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:11
2025-11-03T09:07:11.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:11.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39129042625427246s
2025-11-03T09:07:11.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39129042625427246
2025-11-03T09:07:11.855 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:11.855 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:11.855 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:11.855 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:11.855 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:11.856 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:11.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:11.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:11.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:11.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:11.857 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:07:11.857 [INFO] [ThreadPoolExecutor-3383_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:07:11.857 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T09:07:12.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:12
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4217917919158936s
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:12.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:12.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:12.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3411211;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36089;2460982.7966761;9.12018472;1.3;_
2025-11-03T09:07:12.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3411211;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36089;2460982.7966761;9.12018472;1.3;_
2025-11-03T09:07:12.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:12.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:12.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:12.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:12.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:12.816 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3411211, teldec = -24.256625
2025-11-03T09:07:12.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3411211 -24.256625
2025-11-03T09:07:12.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3411211 -24.256625
2025-11-03T09:07:12.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3411211 -24.256625
2025-11-03T09:07:12.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3411211;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36089;2460982.79667612;9.12018472;1.3;_14.3169473500895 -24.1386887529096
2025-11-03T09:07:12.817 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3169473500895     dec_j2k = -24.1386887529096
2025-11-03T09:07:12.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:12.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:12.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966852252592445;171.162373423581;_
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966852252592445;171.162373423581;_
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:12.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:12.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:12.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:12.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:12.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58823)
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:12.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:12.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:12.833 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:12.833 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:12.833 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7966761, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966852252592445, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3411211, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36089, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3169473500895, telescope_dec_j2k=-24.1386887529096, observability=1)
2025-11-03T09:07:13.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:13
2025-11-03T09:07:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5321204662322998s
2025-11-03T09:07:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5321204662322998
2025-11-03T09:07:13.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:13
2025-11-03T09:07:13.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:13.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5576395988464355s
2025-11-03T09:07:13.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5576395988464355
2025-11-03T09:07:13.657 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:07:13.657 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8241629600524902s
2025-11-03T09:07:13.657 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8241629600524902
2025-11-03T09:07:13.657 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.349120855331421 seconds ago
2025-11-03T09:07:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:14
2025-11-03T09:07:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9517688751220703s
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:14.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:14.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3416826;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36145;2460982.79669891;9.12074472;1.3;_
2025-11-03T09:07:14.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3416826;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36145;2460982.79669891;9.12074472;1.3;_
2025-11-03T09:07:14.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:14.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:14.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:14.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:14.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:14.787 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3416826, teldec = -24.256625
2025-11-03T09:07:14.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3416826 -24.256625
2025-11-03T09:07:14.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3416826 -24.256625
2025-11-03T09:07:14.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3416826 -24.256625
2025-11-03T09:07:14.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3416826;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36145;2460982.79669894;9.12074472;1.3;_14.317508331088 -24.1387002689138
2025-11-03T09:07:14.788 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.317508331088     dec_j2k = -24.1387002689138
2025-11-03T09:07:14.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:14.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:14.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966847439159308;171.162362694745;_
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966847439159308;171.162362694745;_
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:14.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:14.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:14.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:14.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:14.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37801)
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:14.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:14.800 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:14.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:14.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79669891, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966847439159308, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3416826, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.317508331088, telescope_dec_j2k=-24.1387002689138, observability=1)
2025-11-03T09:07:14.900 [DEBUG] [Thread-88559 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:14.900 [DEBUG] [Thread-88559 (handle)] [server.py] [get_status()] Status age = 0.10042619705200195s
2025-11-03T09:07:14.900 [DEBUG] [Thread-88559 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10042619705200195
2025-11-03T09:07:15.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:15
2025-11-03T09:07:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5638449192047119s
2025-11-03T09:07:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5638449192047119
2025-11-03T09:07:15.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:15
2025-11-03T09:07:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5855197906494141s
2025-11-03T09:07:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5855197906494141
2025-11-03T09:07:16.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:16
2025-11-03T09:07:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9637832641601562s
2025-11-03T09:07:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3422436;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36201;2460982.79672182;9.12130417;1.3;_
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3422436;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36201;2460982.79672182;9.12130417;1.3;_
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:16.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3422436, teldec = -24.256625
2025-11-03T09:07:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3422436 -24.256625
2025-11-03T09:07:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3422436 -24.256625
2025-11-03T09:07:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3422436 -24.256625
2025-11-03T09:07:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3422436;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36201;2460982.79672184;9.12130417;1.3;_14.3180688125918 -24.1387117772398
2025-11-03T09:07:16.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3180688125918     dec_j2k = -24.1387117772398
2025-11-03T09:07:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966856263786725;171.162351965909;_
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966856263786725;171.162351965909;_
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38173)
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79672182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966856263786725, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3422436, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36201, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3180688125918, telescope_dec_j2k=-24.1387117772398, observability=1)
2025-11-03T09:07:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:17
2025-11-03T09:07:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5780117511749268s
2025-11-03T09:07:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5780117511749268
2025-11-03T09:07:17.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:17
2025-11-03T09:07:17.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:17.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5989398956298828s
2025-11-03T09:07:17.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5989398956298828
2025-11-03T09:07:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:18
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818201065063477s
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3427959;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36256;2460982.79674499;9.121855;1.3;_
2025-11-03T09:07:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3427959;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36256;2460982.79674499;9.121855;1.3;_
2025-11-03T09:07:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3427959, teldec = -24.256625
2025-11-03T09:07:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3427959 -24.256625
2025-11-03T09:07:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3427959 -24.256625
2025-11-03T09:07:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3427959 -24.256625
2025-11-03T09:07:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3427959;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36256;2460982.79674501;9.121855;1.3;_14.3186206021785 -24.1387231096101
2025-11-03T09:07:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3186206021785     dec_j2k = -24.1387231096101
2025-11-03T09:07:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966855461547869;171.162357330327;_
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966855461547869;171.162357330327;_
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38977)
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79674499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966855461547869, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3427959, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36256, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3186206021785, telescope_dec_j2k=-24.1387231096101, observability=1)
2025-11-03T09:07:19.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:19
2025-11-03T09:07:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5780706405639648s
2025-11-03T09:07:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5780706405639648
2025-11-03T09:07:19.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:19
2025-11-03T09:07:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6008932590484619s
2025-11-03T09:07:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6008932590484619
2025-11-03T09:07:20.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:20
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.972473382949829s
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3433569;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36313;2460982.79676804;9.12241444;1.3;_
2025-11-03T09:07:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3433569;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36313;2460982.79676804;9.12241444;1.3;_
2025-11-03T09:07:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:20.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3433569, teldec = -24.256625
2025-11-03T09:07:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3433569 -24.256625
2025-11-03T09:07:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3433569 -24.256625
2025-11-03T09:07:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3433569 -24.256625
2025-11-03T09:07:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3433569;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36313;2460982.79676807;9.12241444;1.3;_14.3191810837677 -24.1387346230464
2025-11-03T09:07:20.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3191810837677     dec_j2k = -24.1387346230464
2025-11-03T09:07:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966852252592445;171.162357330327;_
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966852252592445;171.162357330327;_
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:20.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42303)
2025-11-03T09:07:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:20.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:20.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79676804, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966852252592445, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3433569, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36313, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3191810837677, telescope_dec_j2k=-24.1387346230464, observability=1)
2025-11-03T09:07:21.483 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:21
2025-11-03T09:07:21.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:21.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7043569087982178s
2025-11-03T09:07:21.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7043569087982178
2025-11-03T09:07:21.524 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:21
2025-11-03T09:07:21.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:21.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7457585334777832s
2025-11-03T09:07:21.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7457585334777832
2025-11-03T09:07:22.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:22
2025-11-03T09:07:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9755263328552246s
2025-11-03T09:07:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3439073;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36368;2460982.79679116;9.12296333;1.3;_
2025-11-03T09:07:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3439073;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36368;2460982.79679116;9.12296333;1.3;_
2025-11-03T09:07:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:22.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3439073, teldec = -24.256625
2025-11-03T09:07:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3439073 -24.256625
2025-11-03T09:07:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3439073 -24.256625
2025-11-03T09:07:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3439073 -24.256625
2025-11-03T09:07:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3439073;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36368;2460982.79679119;9.12296333;1.3;_14.319730975194 -24.1387459214404
2025-11-03T09:07:22.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.319730975194     dec_j2k = -24.1387459214404
2025-11-03T09:07:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966858269383866;171.162351965909;_
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966858269383866;171.162351965909;_
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55669)
2025-11-03T09:07:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:22.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:22.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:22.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79679116, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966858269383866, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3439073, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36368, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.319730975194, telescope_dec_j2k=-24.1387459214404, observability=1)
2025-11-03T09:07:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:23
2025-11-03T09:07:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5860204696655273s
2025-11-03T09:07:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5860204696655273
2025-11-03T09:07:23.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:23
2025-11-03T09:07:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6085293292999268s
2025-11-03T09:07:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6085293292999268
2025-11-03T09:07:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:24
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815282821655273s
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.344468;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36424;2460982.79681435;9.1235225;1.3;_
2025-11-03T09:07:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.344468;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36424;2460982.79681435;9.1235225;1.3;_
2025-11-03T09:07:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.344468, teldec = -24.256625
2025-11-03T09:07:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.344468 -24.256625
2025-11-03T09:07:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.344468 -24.256625
2025-11-03T09:07:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.344468 -24.256625
2025-11-03T09:07:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.344468;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36424;2460982.79681438;9.1235225;1.3;_14.3202911571457 -24.1387574338168
2025-11-03T09:07:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3202911571457     dec_j2k = -24.1387574338168
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966851049234161;171.162351965909;_
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966851049234161;171.162351965909;_
2025-11-03T09:07:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60655)
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:24.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:24.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:24.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:24.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:24.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79681435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966851049234161, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.344468, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36424, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3202911571457, telescope_dec_j2k=-24.1387574338168, observability=1)
2025-11-03T09:07:25.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:25
2025-11-03T09:07:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5864353179931641s
2025-11-03T09:07:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5864353179931641
2025-11-03T09:07:25.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:25
2025-11-03T09:07:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6088707447052002s
2025-11-03T09:07:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6088707447052002
2025-11-03T09:07:26.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:26
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814722537994385s
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3450281;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3648;2460982.79683749;9.12408111;1.3;_
2025-11-03T09:07:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3450281;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3648;2460982.79683749;9.12408111;1.3;_
2025-11-03T09:07:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3450281, teldec = -24.256625
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3450281 -24.256625
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3450281 -24.256625
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3450281 -24.256625
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3450281;-24.256625;50.108604;89.993051;50.08601;90.12017;11.3648;2460982.7968375;9.12408111;1.3;_14.3208507396948 -24.1387689364413
2025-11-03T09:07:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3208507396948     dec_j2k = -24.1387689364413
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966857066025582;171.162357330327;_
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966857066025582;171.162357330327;_
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54307)
2025-11-03T09:07:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:26.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79683749, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966857066025582, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3450281, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3648, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3208507396948, telescope_dec_j2k=-24.1387689364413, observability=1)
2025-11-03T09:07:28.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:28
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805407524108887s
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3455822;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36535;2460982.79686065;9.12463361;1.3;_
2025-11-03T09:07:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3455822;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36535;2460982.79686065;9.12463361;1.3;_
2025-11-03T09:07:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3455822, teldec = -24.256625
2025-11-03T09:07:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3455822 -24.256625
2025-11-03T09:07:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3455822 -24.256625
2025-11-03T09:07:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3455822 -24.256625
2025-11-03T09:07:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3455822;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36535;2460982.79686067;9.12463361;1.3;_14.3214043278293 -24.1387803183701
2025-11-03T09:07:28.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3214043278293     dec_j2k = -24.1387803183701
2025-11-03T09:07:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966852653711873;171.162351965909;_
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966852653711873;171.162351965909;_
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:28.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48505)
2025-11-03T09:07:28.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:28.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:28.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:28.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:28.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:28.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:28.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79686065, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966852653711873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3455822, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36535, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3214043278293, telescope_dec_j2k=-24.1387803183701, observability=1)
2025-11-03T09:07:30.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:30
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9929230213165283s
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3461431;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36591;2460982.79688392;9.12519306;1.3;_
2025-11-03T09:07:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3461431;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36591;2460982.79688392;9.12519306;1.3;_
2025-11-03T09:07:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:30.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3461431, teldec = -24.256625
2025-11-03T09:07:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3461431 -24.256625
2025-11-03T09:07:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3461431 -24.256625
2025-11-03T09:07:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3461431 -24.256625
2025-11-03T09:07:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3461431;-24.256625;50.108604;89.993051;50.08601;90.12017;11.36591;2460982.79688395;9.12519306;1.3;_14.3219647097249 -24.1387918425368
2025-11-03T09:07:30.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3219647097249     dec_j2k = -24.1387918425368
2025-11-03T09:07:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966855060428441;171.162362694745;_
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966855060428441;171.162362694745;_
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53959)
2025-11-03T09:07:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:30.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:30.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79688392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966855060428441, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3461431, telescope_dec=-24.256625, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3219647097249, telescope_dec_j2k=-24.1387918425368, observability=1)
2025-11-03T09:07:32.733 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.733 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.733 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:32.733 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:32.733 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:07:32.734 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:32.735 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:32.736 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:07:32.737 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:32.738 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Park
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:07:32.739 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:07:32.740 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 29;14.3466946;-24.256624;50.108604;89.993051;50.08601;90.12017;11.36646;2460982.79690671;9.12574306;1.3;_Park Command Successful
2025-11-03T09:07:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:32
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9673352241516113s
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.3466946;-24.256624;50.108604;89.993051;50.08601;90.12017;11.36646;2460982.79690693;9.12574306;1.3;_
2025-11-03T09:07:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 29;14.3466946;-24.256624;50.108604;89.993051;50.08601;90.12017;11.36646;2460982.79690693;9.12574306;1.3;_
2025-11-03T09:07:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3466946, teldec = -24.256624
2025-11-03T09:07:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3466946 -24.256624
2025-11-03T09:07:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3466946 -24.256624
2025-11-03T09:07:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3466946 -24.256624
2025-11-03T09:07:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.3466946;-24.256624;50.108604;89.993051;50.08601;90.12017;11.36646;2460982.79690696;9.12574306;1.3;_14.3225157004551 -24.1388021760807
2025-11-03T09:07:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3225157004551     dec_j2k = -24.1388021760807
2025-11-03T09:07:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096686147833929;171.162351965909;_
2025-11-03T09:07:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096686147833929;171.162351965909;_
2025-11-03T09:07:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47249)
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:32.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:32.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:32.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79690693, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096686147833929, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108604, telescope_az=89.993051, telescope_ra=14.3466946, telescope_dec=-24.256624, telescope_slewing=True, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36646, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3225157004551, telescope_dec_j2k=-24.1388021760807, observability=1)
2025-11-03T09:07:32.873 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:32
2025-11-03T09:07:32.873 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:32.873 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0945589542388916s
2025-11-03T09:07:32.873 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0945589542388916
2025-11-03T09:07:32.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:32
2025-11-03T09:07:32.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:32.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11608695983886719s
2025-11-03T09:07:32.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11608695983886719
2025-11-03T09:07:32.941 [DEBUG] [Thread-88560 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:32.941 [DEBUG] [Thread-88560 (handle)] [server.py] [get_status()] Status age = 0.1624617576599121s
2025-11-03T09:07:32.941 [DEBUG] [Thread-88560 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1624617576599121
2025-11-03T09:07:33.740 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:07:33.740 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:07:33.740 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:07:33.741 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:07:33.741 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:07:34.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:34
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6721444129943848s
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:34.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:34.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:34.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3471718;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36694;2460982.79692654;9.12621889;1.3;_
2025-11-03T09:07:34.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3471718;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36694;2460982.79692654;9.12621889;1.3;_
2025-11-03T09:07:34.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:34.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:34.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:34.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:34.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:34.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3471718, teldec = -24.256624
2025-11-03T09:07:34.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3471718 -24.256624
2025-11-03T09:07:34.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3471718 -24.256624
2025-11-03T09:07:34.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3471718 -24.256624
2025-11-03T09:07:34.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3471718;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36694;2460982.79692656;9.12621889;1.3;_14.3229924597346 -24.1388119847371
2025-11-03T09:07:34.455 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3229924597346     dec_j2k = -24.1388119847371
2025-11-03T09:07:34.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:34.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:34.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966862681697574;171.162357330327;_
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966862681697574;171.162357330327;_
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:34.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:34.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:34.462 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58033)
2025-11-03T09:07:34.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:34.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:34.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:34.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:34.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:34.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:34.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79692654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966862681697574, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3471718, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3229924597346, telescope_dec_j2k=-24.1388119847371, observability=1)
2025-11-03T09:07:34.492 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:34
2025-11-03T09:07:34.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:34.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022226810455322266s
2025-11-03T09:07:34.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022226810455322266
2025-11-03T09:07:34.741 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:07:34.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:07:34.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:07:34.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:07:34.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:07:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:34
2025-11-03T09:07:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28989672660827637s
2025-11-03T09:07:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28989672660827637
2025-11-03T09:07:35.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:07:35.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:07:35.742 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:07:35.743 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:07:35.743 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:07:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:36
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.891024112701416s
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3477049;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36747;2460982.79694865;9.12675056;1.3;_
2025-11-03T09:07:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3477049;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36747;2460982.79694865;9.12675056;1.3;_
2025-11-03T09:07:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3477049, teldec = -24.256624
2025-11-03T09:07:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3477049 -24.256624
2025-11-03T09:07:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3477049 -24.256624
2025-11-03T09:07:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3477049 -24.256624
2025-11-03T09:07:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3477049;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36747;2460982.79694868;9.12675056;1.3;_14.3235250674243 -24.1388229445974
2025-11-03T09:07:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3235250674243     dec_j2k = -24.1388229445974
2025-11-03T09:07:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966868297369567;171.162362694745;_
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966868297369567;171.162362694745;_
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54247)
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:36.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79694865, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966868297369567, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3477049, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36747, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3235250674243, telescope_dec_j2k=-24.1388229445974, observability=1)
2025-11-03T09:07:36.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:36
2025-11-03T09:07:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021230697631835938s
2025-11-03T09:07:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021230697631835938
2025-11-03T09:07:36.743 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:07:36.743 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:07:36.743 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:36.744 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:07:36.745 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:07:36.746 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:36
2025-11-03T09:07:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795130252838135s
2025-11-03T09:07:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795130252838135
2025-11-03T09:07:37.746 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:37.746 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:37.746 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:37.746 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:37.746 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:37.747 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:37.747 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:37.747 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:37.747 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:37.747 [DEBUG] [ThreadPoolExecutor-3382_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:37.748 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:07:37.748 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:07:37.748 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:07:37.748 [DEBUG] [ThreadPoolExecutor-3382_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:37.748 [INFO] [ThreadPoolExecutor-3382_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:07:38.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:38
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.070394277572632s
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3482845;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36805;2460982.79697282;9.12732861;1.3;_
2025-11-03T09:07:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3482845;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36805;2460982.79697282;9.12732861;1.3;_
2025-11-03T09:07:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:38.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3482845, teldec = -24.256624
2025-11-03T09:07:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3482845 -24.256624
2025-11-03T09:07:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3482845 -24.256624
2025-11-03T09:07:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3482845 -24.256624
2025-11-03T09:07:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3482845;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36805;2460982.79697286;9.12732861;1.3;_14.3241041322161 -24.1388348630747
2025-11-03T09:07:38.455 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3241041322161     dec_j2k = -24.1388348630747
2025-11-03T09:07:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966859071622722;171.162346601491;_
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966859071622722;171.162346601491;_
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:38.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:38.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:38.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:38.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:38.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47453)
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:38.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:38.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:38.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79697282, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966859071622722, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3482845, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36805, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3241041322161, telescope_dec_j2k=-24.1388348630747, observability=1)
2025-11-03T09:07:38.491 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:38
2025-11-03T09:07:38.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:38.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021932125091552734s
2025-11-03T09:07:38.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021932125091552734
2025-11-03T09:07:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:38
2025-11-03T09:07:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2937331199645996s
2025-11-03T09:07:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2937331199645996
2025-11-03T09:07:40.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:40
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8936657905578613s
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3488177;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36859;2460982.79699496;9.12786028;1.3;_
2025-11-03T09:07:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3488177;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36859;2460982.79699496;9.12786028;1.3;_
2025-11-03T09:07:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3488177, teldec = -24.256624
2025-11-03T09:07:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3488177 -24.256624
2025-11-03T09:07:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3488177 -24.256624
2025-11-03T09:07:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3488177 -24.256624
2025-11-03T09:07:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3488177;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36859;2460982.79699499;9.12786028;1.3;_14.3246368398948 -24.1388458298409
2025-11-03T09:07:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3246368398948     dec_j2k = -24.1388458298409
2025-11-03T09:07:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966860274981006;171.162362694745;_
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966860274981006;171.162362694745;_
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52713)
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:40.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:40.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79699496, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966860274981006, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3488177, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36859, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3246368398948, telescope_dec_j2k=-24.1388458298409, observability=1)
2025-11-03T09:07:40.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:40
2025-11-03T09:07:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02170705795288086s
2025-11-03T09:07:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02170705795288086
2025-11-03T09:07:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:40
2025-11-03T09:07:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38023805618286133s
2025-11-03T09:07:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38023805618286133
2025-11-03T09:07:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:42
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779112339019775s
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3493683;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36914;2460982.79701808;9.12840944;1.3;_
2025-11-03T09:07:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3493683;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36914;2460982.79701808;9.12840944;1.3;_
2025-11-03T09:07:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3493683, teldec = -24.256624
2025-11-03T09:07:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3493683 -24.256624
2025-11-03T09:07:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3493683 -24.256624
2025-11-03T09:07:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3493683 -24.256624
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3493683;-24.256624;50.108603;89.993051;50.08601;90.12017;11.36914;2460982.79701811;9.12840944;1.3;_14.3251869315485 -24.138857156926
2025-11-03T09:07:42.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3251869315485     dec_j2k = -24.138857156926
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966863885055858;171.162351965909;_
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966863885055858;171.162351965909;_
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33203)
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:42.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:42.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79701808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966863885055858, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3493683, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.36914, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3251869315485, telescope_dec_j2k=-24.138857156926, observability=1)
2025-11-03T09:07:42.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:42
2025-11-03T09:07:42.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:42.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02126145362854004s
2025-11-03T09:07:42.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02126145362854004
2025-11-03T09:07:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:42
2025-11-03T09:07:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3851182460784912s
2025-11-03T09:07:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3851182460784912
2025-11-03T09:07:44.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:44
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9863812923431396s
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3499285;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3697;2460982.79704125;9.12896806;1.3;_
2025-11-03T09:07:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3499285;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3697;2460982.79704125;9.12896806;1.3;_
2025-11-03T09:07:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3499285, teldec = -24.256624
2025-11-03T09:07:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3499285 -24.256624
2025-11-03T09:07:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3499285 -24.256624
2025-11-03T09:07:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3499285 -24.256624
2025-11-03T09:07:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3499285;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3697;2460982.79704127;9.12896806;1.3;_14.3257466143816 -24.1388686840474
2025-11-03T09:07:44.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3257466143816     dec_j2k = -24.1388686840474
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096685947274215;171.162362694745;_
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096685947274215;171.162362694745;_
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56347)
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:44.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:44.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79704125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096685947274215, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3499285, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3257466143816, telescope_dec_j2k=-24.1388686840474, observability=1)
2025-11-03T09:07:44.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:44
2025-11-03T09:07:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022379398345947266s
2025-11-03T09:07:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022379398345947266
2025-11-03T09:07:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:44
2025-11-03T09:07:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37511205673217773s
2025-11-03T09:07:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37511205673217773
2025-11-03T09:07:46.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:46
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.374643564224243s
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3506006;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37037;2460982.79706898;9.12963833;1.3;_
2025-11-03T09:07:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3506006;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37037;2460982.79706898;9.12963833;1.3;_
2025-11-03T09:07:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:46.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3506006, teldec = -24.256624
2025-11-03T09:07:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3506006 -24.256624
2025-11-03T09:07:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3506006 -24.256624
2025-11-03T09:07:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3506006 -24.256624
2025-11-03T09:07:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3506006;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37037;2460982.797069;9.12963833;1.3;_14.3264180939673 -24.1388825170964
2025-11-03T09:07:46.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3264180939673     dec_j2k = -24.1388825170964
2025-11-03T09:07:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966865890652999;171.162362694745;_
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966865890652999;171.162362694745;_
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:46.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35851)
2025-11-03T09:07:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:46.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:46.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:46.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79706898, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966865890652999, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3506006, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37037, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3264180939673, telescope_dec_j2k=-24.1388825170964, observability=1)
2025-11-03T09:07:46.845 [DEBUG] [Thread-88561 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:46.845 [DEBUG] [Thread-88561 (handle)] [server.py] [get_status()] Status age = 0.07006454467773438s
2025-11-03T09:07:46.845 [DEBUG] [Thread-88561 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07006454467773438
2025-11-03T09:07:48.675 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:48
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9006094932556152s
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:48.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:48.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:48.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3511321;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3709;2460982.79709118;9.13016833;1.3;_
2025-11-03T09:07:48.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3511321;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3709;2460982.79709118;9.13016833;1.3;_
2025-11-03T09:07:48.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:48.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:48.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:48.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:48.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:48.679 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3511321, teldec = -24.256624
2025-11-03T09:07:48.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3511321 -24.256624
2025-11-03T09:07:48.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3511321 -24.256624
2025-11-03T09:07:48.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3511321 -24.256624
2025-11-03T09:07:48.680 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3511321;-24.256624;50.108603;89.993051;50.08601;90.12017;11.3709;2460982.7970912;9.13016833;1.3;_14.3269491033846 -24.1388934589534
2025-11-03T09:07:48.680 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3269491033846     dec_j2k = -24.1388934589534
2025-11-03T09:07:48.680 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:48.680 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:48.680 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966862280578146;171.162357330327;_
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966862280578146;171.162357330327;_
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:48.681 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:48.682 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:48.683 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:48.683 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:07:48.683 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34251)
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:48.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:48.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:48.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79709118, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966862280578146, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3511321, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3269491033846, telescope_dec_j2k=-24.1388934589534, observability=1)
2025-11-03T09:07:48.723 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:48
2025-11-03T09:07:48.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:48.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025537967681884766s
2025-11-03T09:07:48.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025537967681884766
2025-11-03T09:07:48.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:48
2025-11-03T09:07:48.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:48.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.057943105697631836s
2025-11-03T09:07:48.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.057943105697631836
2025-11-03T09:07:50.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:50
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6656949520111084s
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3515994;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37137;2460982.79711072;9.13063444;1.3;_
2025-11-03T09:07:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3515994;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37137;2460982.79711072;9.13063444;1.3;_
2025-11-03T09:07:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:50.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3515994, teldec = -24.256624
2025-11-03T09:07:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3515994 -24.256624
2025-11-03T09:07:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3515994 -24.256624
2025-11-03T09:07:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3515994 -24.256624
2025-11-03T09:07:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3515994;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37137;2460982.79711074;9.13063444;1.3;_14.3274159720915 -24.1389030810477
2025-11-03T09:07:50.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3274159720915     dec_j2k = -24.1389030810477
2025-11-03T09:07:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966865088414143;171.162351965909;_
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966865088414143;171.162351965909;_
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35841)
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:50.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:50.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:50.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79711072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966865088414143, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3515994, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3274159720915, telescope_dec_j2k=-24.1389030810477, observability=1)
2025-11-03T09:07:50.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:50
2025-11-03T09:07:50.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:50.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02313518524169922s
2025-11-03T09:07:50.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02313518524169922
2025-11-03T09:07:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:50
2025-11-03T09:07:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37424421310424805s
2025-11-03T09:07:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37424421310424805
2025-11-03T09:07:51.018 [DEBUG] [Thread-88562 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:51.018 [DEBUG] [Thread-88562 (handle)] [server.py] [get_status()] Status age = 0.6319892406463623s
2025-11-03T09:07:51.018 [DEBUG] [Thread-88562 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6319892406463623
2025-11-03T09:07:52.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:52
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976038932800293s
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3521599;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37193;2460982.79713384;9.13119333;1.3;_
2025-11-03T09:07:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3521599;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37193;2460982.79713384;9.13119333;1.3;_
2025-11-03T09:07:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3521599, teldec = -24.256624
2025-11-03T09:07:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3521599 -24.256624
2025-11-03T09:07:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3521599 -24.256624
2025-11-03T09:07:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3521599 -24.256624
2025-11-03T09:07:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3521599;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37193;2460982.79713388;9.13119333;1.3;_14.3279759548194 -24.1389146245603
2025-11-03T09:07:52.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3279759548194     dec_j2k = -24.1389146245603
2025-11-03T09:07:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966863885055858;171.162362694745;_
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966863885055858;171.162362694745;_
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:52.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38981)
2025-11-03T09:07:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:52.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:52.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:52.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79713384, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966863885055858, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3521599, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3279759548194, telescope_dec_j2k=-24.1389146245603, observability=1)
2025-11-03T09:07:52.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:52
2025-11-03T09:07:52.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:52.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026215553283691406s
2025-11-03T09:07:52.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026215553283691406
2025-11-03T09:07:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:52
2025-11-03T09:07:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3747708797454834s
2025-11-03T09:07:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3747708797454834
2025-11-03T09:07:54.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:54
2025-11-03T09:07:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773991107940674s
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3527195;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37249;2460982.797157;9.13175139;1.3;_
2025-11-03T09:07:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3527195;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37249;2460982.797157;9.13175139;1.3;_
2025-11-03T09:07:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:54.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3527195, teldec = -24.256624
2025-11-03T09:07:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3527195 -24.256624
2025-11-03T09:07:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3527195 -24.256624
2025-11-03T09:07:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3527195 -24.256624
2025-11-03T09:07:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3527195;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37249;2460982.79715703;9.13175139;1.3;_14.3285350384209 -24.1389261520976
2025-11-03T09:07:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3285350384209     dec_j2k = -24.1389261520976
2025-11-03T09:07:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966863082817002;171.162357330327;_
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966863082817002;171.162357330327;_
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42497)
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.797157, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966863082817002, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3527195, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37249, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3285350384209, telescope_dec_j2k=-24.1389261520976, observability=1)
2025-11-03T09:07:54.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:54
2025-11-03T09:07:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022322654724121094s
2025-11-03T09:07:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022322654724121094
2025-11-03T09:07:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:54
2025-11-03T09:07:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3759167194366455s
2025-11-03T09:07:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3759167194366455
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6708004474639893s
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:56.053 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:56.054 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:56.055 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.353186;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37295;2460982.79717656;9.13221667;1.3;_
2025-11-03T09:07:56.055 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.353186;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37295;2460982.79717656;9.13221667;1.3;_
2025-11-03T09:07:56.055 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:56.055 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:56.055 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:56.056 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:56.056 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:56.056 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.353186, teldec = -24.256624
2025-11-03T09:07:56.056 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.353186 -24.256624
2025-11-03T09:07:56.056 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.353186 -24.256624
2025-11-03T09:07:56.056 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.353186 -24.256624
2025-11-03T09:07:56.057 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.353186;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37295;2460982.79717659;9.13221667;1.3;_14.3290011079679 -24.1389357637667
2025-11-03T09:07:56.057 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.3290011079679     dec_j2k = -24.1389357637667
2025-11-03T09:07:56.057 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:56.057 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:56.057 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:56.057 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966866692891855;171.162362694745;_
2025-11-03T09:07:56.058 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966866692891855;171.162362694745;_
2025-11-03T09:07:56.058 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:56.058 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:56.058 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:56.058 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:56.059 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:56.060 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:56.060 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:56.060 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58335)
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:56.064 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:56.071 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:56.072 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79717656, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966866692891855, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.353186, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37295, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3290011079679, telescope_dec_j2k=-24.1389357637667, observability=1)
2025-11-03T09:07:56.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:56
2025-11-03T09:07:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29069972038269043s
2025-11-03T09:07:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29069972038269043
2025-11-03T09:07:56.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:56
2025-11-03T09:07:56.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:56.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3126990795135498s
2025-11-03T09:07:56.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3126990795135498
2025-11-03T09:07:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:56
2025-11-03T09:07:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.689366340637207s
2025-11-03T09:07:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.689366340637207
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.8536431789398193s
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:07:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:07:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:07:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3536907;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37346;2460982.79719823;9.13272;1.3;_
2025-11-03T09:07:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.3536907;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37346;2460982.79719823;9.13272;1.3;_
2025-11-03T09:07:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:07:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:07:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:07:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:07:57.928 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.3536907, teldec = -24.256624
2025-11-03T09:07:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3536907 -24.256624
2025-11-03T09:07:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3536907 -24.256624
2025-11-03T09:07:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3536907 -24.256624
2025-11-03T09:07:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3536907;-24.256624;50.108603;89.993051;50.08601;90.12017;11.37346;2460982.79719825;9.13272;1.3;_14.3295053423004 -24.1389461645023
2025-11-03T09:07:57.930 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.3295053423004     dec_j2k = -24.1389461645023
2025-11-03T09:07:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:07:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:07:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:07:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966864286175287;171.162351965909;_
2025-11-03T09:07:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966864286175287;171.162351965909;_
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:07:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:07:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:07:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:07:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37461)
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:07:57.934 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:07:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:07:57.941 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79719823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966864286175287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993051, telescope_ra=14.3536907, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37346, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3295053423004, telescope_dec_j2k=-24.1389461645023, observability=1)
2025-11-03T09:07:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:58
2025-11-03T09:07:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4200725555419922s
2025-11-03T09:07:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4200725555419922
2025-11-03T09:07:58.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:58
2025-11-03T09:07:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4423799514770508s
2025-11-03T09:07:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4423799514770508
2025-11-03T09:07:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:07:58
2025-11-03T09:07:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:07:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8239457607269287s
2025-11-03T09:07:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8239457607269287
2025-11-03T09:08:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:00
2025-11-03T09:08:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4201464653015137s
2025-11-03T09:08:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3543907;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37416;2460982.79722642;9.13341806;1.3;_
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3543907;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37416;2460982.79722642;9.13341806;1.3;_
2025-11-03T09:08:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3543907, teldec = -24.256624
2025-11-03T09:08:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3543907 -24.256624
2025-11-03T09:08:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3543907 -24.256624
2025-11-03T09:08:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3543907 -24.256624
2025-11-03T09:08:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3543907;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37416;2460982.79722646;9.13341806;1.3;_14.330204696495 -24.1389605933764
2025-11-03T09:08:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.330204696495     dec_j2k = -24.1389605933764
2025-11-03T09:08:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966862681697574;171.162368059163;_
2025-11-03T09:08:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966862681697574;171.162368059163;_
2025-11-03T09:08:00.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41379)
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:00.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:00.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79722642, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966862681697574, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3543907, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37416, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.330204696495, telescope_dec_j2k=-24.1389605933764, observability=1)
2025-11-03T09:08:00.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:00
2025-11-03T09:08:00.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:00.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021862030029296875s
2025-11-03T09:08:00.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021862030029296875
2025-11-03T09:08:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:00
2025-11-03T09:08:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3773305416107178s
2025-11-03T09:08:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3773305416107178
2025-11-03T09:08:02.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:02
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795703887939453s
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3549425;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37471;2460982.79724957;9.13396833;1.3;_
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3549425;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37471;2460982.79724957;9.13396833;1.3;_
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3549425, teldec = -24.256624
2025-11-03T09:08:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3549425 -24.256624
2025-11-03T09:08:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3549425 -24.256624
2025-11-03T09:08:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3549425 -24.256624
2025-11-03T09:08:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3549425;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37471;2460982.79724961;9.13396833;1.3;_14.3307559874633 -24.1389719702718
2025-11-03T09:08:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3307559874633     dec_j2k = -24.1389719702718
2025-11-03T09:08:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966868297369567;171.162357330327;_
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966868297369567;171.162357330327;_
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49823)
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:02.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:02.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79724957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966868297369567, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3549425, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3307559874633, telescope_dec_j2k=-24.1389719702718, observability=1)
2025-11-03T09:08:02.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:02
2025-11-03T09:08:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021758556365966797s
2025-11-03T09:08:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021758556365966797
2025-11-03T09:08:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:02
2025-11-03T09:08:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3921654224395752s
2025-11-03T09:08:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3921654224395752
2025-11-03T09:08:04.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:04
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.006927013397217s
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:04.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:04.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3555051;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37527;2460982.79727297;9.13452944;1.3;_
2025-11-03T09:08:04.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3555051;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37527;2460982.79727297;9.13452944;1.3;_
2025-11-03T09:08:04.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:04.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:04.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:04.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:04.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:04.387 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3555051, teldec = -24.256624
2025-11-03T09:08:04.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3555051 -24.256624
2025-11-03T09:08:04.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3555051 -24.256624
2025-11-03T09:08:04.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3555051 -24.256624
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3555051;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37527;2460982.79727301;9.13452944;1.3;_14.3313180685118 -24.1389835723988
2025-11-03T09:08:04.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3313180685118     dec_j2k = -24.1389835723988
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966870302966707;171.162351965909;_
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966870302966707;171.162351965909;_
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:04.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:04.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:04.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:04.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51191)
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:04.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:04.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79727297, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966870302966707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3555051, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37527, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3313180685118, telescope_dec_j2k=-24.1389835723988, observability=1)
2025-11-03T09:08:04.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:04
2025-11-03T09:08:04.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:04.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022949695587158203s
2025-11-03T09:08:04.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022949695587158203
2025-11-03T09:08:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:04
2025-11-03T09:08:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3548746109008789s
2025-11-03T09:08:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3548746109008789
2025-11-03T09:08:06.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:06
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851012229919434s
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:06.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3560653;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37583;2460982.79729618;9.13508806;1.3;_
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3560653;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37583;2460982.79729618;9.13508806;1.3;_
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:06.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:06.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:06.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:06.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3560653, teldec = -24.256624
2025-11-03T09:08:06.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3560653 -24.256624
2025-11-03T09:08:06.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3560653 -24.256624
2025-11-03T09:08:06.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3560653 -24.256624
2025-11-03T09:08:06.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3560653;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37583;2460982.7972962;9.13508806;1.3;_14.3318777518174 -24.1389951275997
2025-11-03T09:08:06.392 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3318777518174     dec_j2k = -24.1389951275997
2025-11-03T09:08:06.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:06.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:06.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966867896250139;171.162362694745;_
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966867896250139;171.162362694745;_
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41605)
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:06.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:06.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79729618, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966867896250139, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3560653, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3318777518174, telescope_dec_j2k=-24.1389951275997, observability=1)
2025-11-03T09:08:06.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:06
2025-11-03T09:08:06.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:06.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0218048095703125s
2025-11-03T09:08:06.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0218048095703125
2025-11-03T09:08:06.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:06
2025-11-03T09:08:06.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:06.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3506627082824707s
2025-11-03T09:08:06.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3506627082824707
2025-11-03T09:08:08.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:08
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9571762084960938s
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3566168;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37639;2460982.79731903;9.13563806;1.3;_
2025-11-03T09:08:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3566168;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37639;2460982.79731903;9.13563806;1.3;_
2025-11-03T09:08:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3566168, teldec = -24.256624
2025-11-03T09:08:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3566168 -24.256624
2025-11-03T09:08:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3566168 -24.256624
2025-11-03T09:08:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3566168 -24.256624
2025-11-03T09:08:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3566168;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37639;2460982.79731905;9.13563806;1.3;_14.3324287431896 -24.1390065058488
2025-11-03T09:08:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3324287431896     dec_j2k = -24.1390065058488
2025-11-03T09:08:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966867495130711;171.162357330327;_
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966867495130711;171.162357330327;_
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36103)
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:08.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:08.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79731903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966867495130711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3566168, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37639, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3324287431896, telescope_dec_j2k=-24.1390065058488, observability=1)
2025-11-03T09:08:08.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:08
2025-11-03T09:08:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02245640754699707s
2025-11-03T09:08:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02245640754699707
2025-11-03T09:08:08.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:08
2025-11-03T09:08:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3772461414337158s
2025-11-03T09:08:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3772461414337158
2025-11-03T09:08:09.133 [DEBUG] [Thread-88563 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:09.133 [DEBUG] [Thread-88563 (handle)] [server.py] [get_status()] Status age = 0.7524893283843994s
2025-11-03T09:08:09.133 [DEBUG] [Thread-88563 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7524893283843994
2025-11-03T09:08:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:10
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810187816619873s
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.357178;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37695;2460982.79734218;9.13619778;1.3;_
2025-11-03T09:08:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.357178;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37695;2460982.79734218;9.13619778;1.3;_
2025-11-03T09:08:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.357178, teldec = -24.256624
2025-11-03T09:08:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.357178 -24.256624
2025-11-03T09:08:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.357178 -24.256624
2025-11-03T09:08:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.357178 -24.256624
2025-11-03T09:08:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.357178;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37695;2460982.7973422;9.13619778;1.3;_14.3329894256588 -24.1390180867715
2025-11-03T09:08:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3329894256588     dec_j2k = -24.1390180867715
2025-11-03T09:08:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966860676100434;171.162341237072;_
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966860676100434;171.162341237072;_
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:10.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57103)
2025-11-03T09:08:10.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:10.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:10.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:10.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:10.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79734218, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966860676100434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.357178, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37695, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:07:11.854523', telescope_ra_j2k=14.3329894256588, telescope_dec_j2k=-24.1390180867715, observability=1)
2025-11-03T09:08:10.386 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:08:10
2025-11-03T09:08:10.386 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:10.386 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.008225440979003906s
2025-11-03T09:08:10.386 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008225440979003906
2025-11-03T09:08:10.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:10
2025-11-03T09:08:10.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022505760192871094s
2025-11-03T09:08:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022505760192871094
2025-11-03T09:08:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:10
2025-11-03T09:08:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38079190254211426s
2025-11-03T09:08:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38079190254211426
2025-11-03T09:08:11.997 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:11.997 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:11.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:11.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:11.997 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:11.998 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:11.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:11.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:11.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:11.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:11.999 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:12.000 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:08:12.001 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:08:12.001 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:08:12.001 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:12
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852378368377686s
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3577293;-24.256624;50.108603;89.993052;50.08601;90.12017;11.3775;2460982.79736534;9.1367475;1.3;_
2025-11-03T09:08:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3577293;-24.256624;50.108603;89.993052;50.08601;90.12017;11.3775;2460982.79736534;9.1367475;1.3;_
2025-11-03T09:08:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3577293, teldec = -24.256624
2025-11-03T09:08:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3577293 -24.256624
2025-11-03T09:08:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3577293 -24.256624
2025-11-03T09:08:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3577293 -24.256624
2025-11-03T09:08:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3577293;-24.256624;50.108603;89.993052;50.08601;90.12017;11.3775;2460982.79736536;9.1367475;1.3;_14.3335402172998 -24.1390294659006
2025-11-03T09:08:12.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3335402172998     dec_j2k = -24.1390294659006
2025-11-03T09:08:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966871506324991;171.162351965909;_
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966871506324991;171.162351965909;_
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:12.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:12.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58555)
2025-11-03T09:08:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:12.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:12.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:12.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79736534, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966871506324991, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3577293, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3775, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3335402172998, telescope_dec_j2k=-24.1390294659006, observability=1)
2025-11-03T09:08:12.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:12
2025-11-03T09:08:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0215456485748291s
2025-11-03T09:08:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0215456485748291
2025-11-03T09:08:12.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:12
2025-11-03T09:08:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3729710578918457s
2025-11-03T09:08:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3729710578918457
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:08:13.002 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:13.003 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:13.004 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:13.004 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:13.004 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:13.005 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:13.005 [DEBUG] [ThreadPoolExecutor-3384_0] [payload.py] [to_registers()] [0]
2025-11-03T09:08:13.011 [DEBUG] [ThreadPoolExecutor-3384_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39469)
2025-11-03T09:08:13.011 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:13.012 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:13.012 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:08:13.012 [DEBUG] [ThreadPoolExecutor-3384_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:13.012 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:13.019 [DEBUG] [ThreadPoolExecutor-3384_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.3329477310180664s
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:13.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:13.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:13.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:13.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:13.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:13.719 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:13.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:13.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:13.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:13.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3580939;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37786;2460982.79738101;9.13711111;1.3;_
2025-11-03T09:08:13.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.3580939;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37786;2460982.79738101;9.13711111;1.3;_
2025-11-03T09:08:13.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:13.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:13.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:13.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:13.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:13.721 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.3580939, teldec = -24.256624
2025-11-03T09:08:13.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.3580939 -24.256624
2025-11-03T09:08:13.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.3580939 -24.256624
2025-11-03T09:08:13.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3580939 -24.256624
2025-11-03T09:08:13.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3580939;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37786;2460982.79738104;9.13711111;1.3;_14.3339044811217 -24.1390369928036
2025-11-03T09:08:13.722 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.3339044811217     dec_j2k = -24.1390369928036
2025-11-03T09:08:13.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:13.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:13.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966876319758128;171.162357330327;_
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966876319758128;171.162357330327;_
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:13.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:13.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:13.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:13.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:13.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56147)
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:13.726 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:13.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:13.734 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:13.734 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:08:13.734 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79738101, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966876319758128, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3580939, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37786, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3339044811217, telescope_dec_j2k=-24.1390369928036, observability=1)
2025-11-03T09:08:13.734 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3476812839508057 seconds ago
2025-11-03T09:08:14.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:14
2025-11-03T09:08:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6283283233642578s
2025-11-03T09:08:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6283283233642578
2025-11-03T09:08:14.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:14
2025-11-03T09:08:14.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:14.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6517150402069092s
2025-11-03T09:08:14.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6517150402069092
2025-11-03T09:08:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:14
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.025531530380249s
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3584022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37817;2460982.79739307;9.13741861;1.3;_
2025-11-03T09:08:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3584022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37817;2460982.79739307;9.13741861;1.3;_
2025-11-03T09:08:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:14.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3584022, teldec = -24.256624
2025-11-03T09:08:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3584022 -24.256624
2025-11-03T09:08:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3584022 -24.256624
2025-11-03T09:08:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3584022 -24.256624
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3584022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37817;2460982.79739309;9.13741861;1.3;_14.3342124968692 -24.1390433582804
2025-11-03T09:08:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3342124968692     dec_j2k = -24.1390433582804
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40583)
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:14.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79739307, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096687391304156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3584022, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37817, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3342124968692, telescope_dec_j2k=-24.1390433582804, observability=1)
2025-11-03T09:08:16.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:16
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.651639461517334s
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3588504;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37862;2460982.79741241;9.13786556;1.3;_
2025-11-03T09:08:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3588504;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37862;2460982.79741241;9.13786556;1.3;_
2025-11-03T09:08:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:16.434 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3588504, teldec = -24.256624
2025-11-03T09:08:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3588504 -24.256624
2025-11-03T09:08:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3588504 -24.256624
2025-11-03T09:08:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3588504 -24.256624
2025-11-03T09:08:16.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3588504;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37862;2460982.79741244;9.13786556;1.3;_14.3346602836521 -24.1390526136588
2025-11-03T09:08:16.435 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3346602836521     dec_j2k = -24.1390526136588
2025-11-03T09:08:16.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:16.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:16.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966876720877556;171.162362694745;_
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966876720877556;171.162362694745;_
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:16.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:16.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34299)
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:16.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:16.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:16.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:16.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79741241, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966876720877556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3588504, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37862, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3346602836521, telescope_dec_j2k=-24.1390526136588, observability=1)
2025-11-03T09:08:16.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:16
2025-11-03T09:08:16.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:16.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03391242027282715s
2025-11-03T09:08:16.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03391242027282715
2025-11-03T09:08:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:16
2025-11-03T09:08:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3348369598388672s
2025-11-03T09:08:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3348369598388672
2025-11-03T09:08:18.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:18
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.914369821548462s
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3594022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37917;2460982.79743477;9.13841583;1.3;_
2025-11-03T09:08:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3594022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37917;2460982.79743477;9.13841583;1.3;_
2025-11-03T09:08:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3594022, teldec = -24.256624
2025-11-03T09:08:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3594022 -24.256624
2025-11-03T09:08:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3594022 -24.256624
2025-11-03T09:08:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3594022 -24.256624
2025-11-03T09:08:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3594022;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37917;2460982.79743479;9.13841583;1.3;_14.3352115749593 -24.1390640106395
2025-11-03T09:08:18.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3352115749593     dec_j2k = -24.1390640106395
2025-11-03T09:08:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:18.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46397)
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:18.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:18.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:18.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:18.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:18.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:18.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:18.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79743477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096687391304156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3594022, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37917, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3352115749593, telescope_dec_j2k=-24.1390640106395, observability=1)
2025-11-03T09:08:18.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:18
2025-11-03T09:08:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02288651466369629s
2025-11-03T09:08:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02288651466369629
2025-11-03T09:08:18.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:18
2025-11-03T09:08:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3747596740722656s
2025-11-03T09:08:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3747596740722656
2025-11-03T09:08:20.603 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:20
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.221313714981079s
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:20.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3600189;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37979;2460982.79746071;9.13903083;1.3;_
2025-11-03T09:08:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3600189;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37979;2460982.79746071;9.13903083;1.3;_
2025-11-03T09:08:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:20.607 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3600189, teldec = -24.256624
2025-11-03T09:08:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3600189 -24.256624
2025-11-03T09:08:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3600189 -24.256624
2025-11-03T09:08:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3600189 -24.256624
2025-11-03T09:08:20.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3600189;-24.256624;50.108603;89.993052;50.08601;90.12017;11.37979;2460982.79746074;9.13903083;1.3;_14.3358277064863 -24.1390767510165
2025-11-03T09:08:20.608 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3358277064863     dec_j2k = -24.1390767510165
2025-11-03T09:08:20.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:20.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:20.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09668759186387;171.162362694745;_
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09668759186387;171.162362694745;_
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:20.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:20.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:20.617 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35971)
2025-11-03T09:08:20.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:20.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:20.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:20.617 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:20.618 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:20.625 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:20.625 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79746071, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09668759186387, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3600189, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.37979, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3358277064863, telescope_dec_j2k=-24.1390767510165, observability=1)
2025-11-03T09:08:20.647 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:20
2025-11-03T09:08:20.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:20.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02174234390258789s
2025-11-03T09:08:20.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02174234390258789
2025-11-03T09:08:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:20
2025-11-03T09:08:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13482117652893066s
2025-11-03T09:08:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13482117652893066
2025-11-03T09:08:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:22
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7374966144561768s
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3604954;-24.256624;50.108603;89.993052;50.08601;90.12017;11.38026;2460982.79748106;9.13950611;1.3;_
2025-11-03T09:08:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3604954;-24.256624;50.108603;89.993052;50.08601;90.12017;11.38026;2460982.79748106;9.13950611;1.3;_
2025-11-03T09:08:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:22.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3604954, teldec = -24.256624
2025-11-03T09:08:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3604954 -24.256624
2025-11-03T09:08:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3604954 -24.256624
2025-11-03T09:08:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3604954 -24.256624
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3604954;-24.256624;50.108603;89.993052;50.08601;90.12017;11.38026;2460982.7974811;9.13950611;1.3;_14.3363037672853 -24.1390865971328
2025-11-03T09:08:22.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3363037672853     dec_j2k = -24.1390865971328
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096687190744442;171.162362694745;_
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096687190744442;171.162362694745;_
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:22.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48161)
2025-11-03T09:08:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:22.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:22.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:22.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79748106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096687190744442, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993052, telescope_ra=14.3604954, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38026, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3363037672853, telescope_dec_j2k=-24.1390865971328, observability=1)
2025-11-03T09:08:22.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:22
2025-11-03T09:08:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023798465728759766s
2025-11-03T09:08:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023798465728759766
2025-11-03T09:08:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:22
2025-11-03T09:08:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.379502534866333s
2025-11-03T09:08:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.379502534866333
2025-11-03T09:08:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:24
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824235439300537s
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3610756;-24.256631;50.108603;89.993062;50.08601;90.12018;11.38084;2460982.7975042;9.14008444;1.3;_
2025-11-03T09:08:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3610756;-24.256631;50.108603;89.993062;50.08601;90.12018;11.38084;2460982.7975042;9.14008444;1.3;_
2025-11-03T09:08:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3610756, teldec = -24.256631
2025-11-03T09:08:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3610756 -24.256631
2025-11-03T09:08:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3610756 -24.256631
2025-11-03T09:08:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3610756 -24.256631
2025-11-03T09:08:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3610756;-24.256631;50.108603;89.993062;50.08601;90.12018;11.38084;2460982.79750424;9.14008444;1.3;_14.336883431771 -24.1391055885434
2025-11-03T09:08:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.336883431771     dec_j2k = -24.1391055885434
2025-11-03T09:08:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966870302966707;171.162357330327;_
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966870302966707;171.162357330327;_
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51601)
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:24.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:24.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7975042, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966870302966707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108603, telescope_az=89.993062, telescope_ra=14.3610756, telescope_dec=-24.256631, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38084, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.336883431771, telescope_dec_j2k=-24.1391055885434, observability=1)
2025-11-03T09:08:24.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:24
2025-11-03T09:08:24.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0222165584564209s
2025-11-03T09:08:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0222165584564209
2025-11-03T09:08:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:24
2025-11-03T09:08:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3792691230773926s
2025-11-03T09:08:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3792691230773926
2025-11-03T09:08:26.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:26
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979950189590454s
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3616088;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38138;2460982.79752736;9.14061639;1.3;_
2025-11-03T09:08:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3616088;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38138;2460982.79752736;9.14061639;1.3;_
2025-11-03T09:08:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3616088, teldec = -24.256624
2025-11-03T09:08:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3616088 -24.256624
2025-11-03T09:08:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3616088 -24.256624
2025-11-03T09:08:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3616088 -24.256624
2025-11-03T09:08:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3616088;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38138;2460982.79752738;9.14061639;1.3;_14.337416141161 -24.1391096109961
2025-11-03T09:08:26.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.337416141161     dec_j2k = -24.1391096109961
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966874715280416;171.162346601491;_
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966874715280416;171.162346601491;_
2025-11-03T09:08:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35387)
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:26.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:26.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:26.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79752736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966874715280416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3616088, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38138, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.337416141161, telescope_dec_j2k=-24.1391096109961, observability=1)
2025-11-03T09:08:26.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:26
2025-11-03T09:08:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028348445892333984s
2025-11-03T09:08:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028348445892333984
2025-11-03T09:08:26.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:26
2025-11-03T09:08:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3811757564544678s
2025-11-03T09:08:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3811757564544678
2025-11-03T09:08:27.199 [DEBUG] [Thread-88564 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:27.199 [DEBUG] [Thread-88564 (handle)] [server.py] [get_status()] Status age = 0.8191697597503662s
2025-11-03T09:08:27.199 [DEBUG] [Thread-88564 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8191697597503662
2025-11-03T09:08:28.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:28
2025-11-03T09:08:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9837753772735596s
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3621879;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38196;2460982.79755053;9.14119389;1.3;_
2025-11-03T09:08:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3621879;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38196;2460982.79755053;9.14119389;1.3;_
2025-11-03T09:08:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:28.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3621879, teldec = -24.256624
2025-11-03T09:08:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3621879 -24.256624
2025-11-03T09:08:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3621879 -24.256624
2025-11-03T09:08:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3621879 -24.256624
2025-11-03T09:08:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3621879;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38196;2460982.79755056;9.14119389;1.3;_14.3379947075223 -24.1391215849301
2025-11-03T09:08:28.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3379947075223     dec_j2k = -24.1391215849301
2025-11-03T09:08:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966878325355268;171.162357330327;_
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966878325355268;171.162357330327;_
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43451)
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:28.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:28.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79755053, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966878325355268, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3621879, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38196, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3379947075223, telescope_dec_j2k=-24.1391215849301, observability=1)
2025-11-03T09:08:28.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:28
2025-11-03T09:08:28.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:28.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022159099578857422s
2025-11-03T09:08:28.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022159099578857422
2025-11-03T09:08:28.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:28
2025-11-03T09:08:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37449121475219727s
2025-11-03T09:08:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37449121475219727
2025-11-03T09:08:30.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:30
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3708724975585938s
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.362833;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3826;2460982.79757821;9.14183722;1.3;_
2025-11-03T09:08:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.362833;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3826;2460982.79757821;9.14183722;1.3;_
2025-11-03T09:08:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:30.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.362833, teldec = -24.256624
2025-11-03T09:08:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.362833 -24.256624
2025-11-03T09:08:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.362833 -24.256624
2025-11-03T09:08:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.362833 -24.256624
2025-11-03T09:08:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.362833;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3826;2460982.79757823;9.14183722;1.3;_14.3386392131194 -24.1391349267527
2025-11-03T09:08:30.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3386392131194     dec_j2k = -24.1391349267527
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966875116399844;171.162346601491;_
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966875116399844;171.162346601491;_
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:30.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53099)
2025-11-03T09:08:30.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:30.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:30.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79757821, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966875116399844, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.362833, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3826, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3386392131194, telescope_dec_j2k=-24.1391349267527, observability=1)
2025-11-03T09:08:31.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:31
2025-11-03T09:08:31.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1203639507293701s
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:31.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:31.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:31.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3631686;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38294;2460982.79759141;9.14217194;1.3;_
2025-11-03T09:08:31.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3631686;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38294;2460982.79759141;9.14217194;1.3;_
2025-11-03T09:08:31.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:31.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:31.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:31.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:31.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:31.899 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3631686, teldec = -24.256624
2025-11-03T09:08:31.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3631686 -24.256624
2025-11-03T09:08:31.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3631686 -24.256624
2025-11-03T09:08:31.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3631686 -24.256624
2025-11-03T09:08:31.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3631686;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38294;2460982.79759144;9.14217194;1.3;_14.3389745039162 -24.1391418689032
2025-11-03T09:08:31.900 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3389745039162     dec_j2k = -24.1391418689032
2025-11-03T09:08:31.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:31.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966877523116412;171.162346601491;_
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966877523116412;171.162346601491;_
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:31.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:31.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46131)
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:31.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:31.915 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:31.915 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79759141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966877523116412, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3631686, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3389745039162, telescope_dec_j2k=-24.1391418689032, observability=1)
2025-11-03T09:08:31.943 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:31
2025-11-03T09:08:31.943 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:31.943 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027559280395507812s
2025-11-03T09:08:31.943 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027559280395507812
2025-11-03T09:08:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:32
2025-11-03T09:08:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.842170000076294s
2025-11-03T09:08:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.842170000076294
2025-11-03T09:08:33.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:33
2025-11-03T09:08:33.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:33.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.450253963470459s
2025-11-03T09:08:33.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:33.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:33.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3635602;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38333;2460982.79760841;9.1425625;1.3;_
2025-11-03T09:08:33.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3635602;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38333;2460982.79760841;9.1425625;1.3;_
2025-11-03T09:08:33.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:33.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:33.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:33.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:33.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:33.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3635602, teldec = -24.256624
2025-11-03T09:08:33.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3635602 -24.256624
2025-11-03T09:08:33.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3635602 -24.256624
2025-11-03T09:08:33.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3635602 -24.256624
2025-11-03T09:08:33.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3635602;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38333;2460982.79760844;9.1425625;1.3;_14.3393657431375 -24.1391499706186
2025-11-03T09:08:33.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3393657431375     dec_j2k = -24.1391499706186
2025-11-03T09:08:33.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:33.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:33.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096687391304156;171.162357330327;_
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:33.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:33.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:33.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:33.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:33.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34019)
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:33.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:33.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79760841, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096687391304156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3635602, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38333, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3393657431375, telescope_dec_j2k=-24.1391499706186, observability=1)
2025-11-03T09:08:33.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:33
2025-11-03T09:08:33.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:33.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02203226089477539s
2025-11-03T09:08:33.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02203226089477539
2025-11-03T09:08:34.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:34
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3722360134124756s
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:34.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3639713;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38374;2460982.7976245;9.1429725;1.3;_
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3639713;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38374;2460982.7976245;9.1429725;1.3;_
2025-11-03T09:08:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:34.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3639713, teldec = -24.256624
2025-11-03T09:08:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3639713 -24.256624
2025-11-03T09:08:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3639713 -24.256624
2025-11-03T09:08:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3639713 -24.256624
2025-11-03T09:08:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3639713;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38374;2460982.79762454;9.1429725;1.3;_14.3397764644162 -24.1391584771099
2025-11-03T09:08:34.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3397764644162     dec_j2k = -24.1391584771099
2025-11-03T09:08:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966880330952409;171.162351965909;_
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966880330952409;171.162351965909;_
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48605)
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:34.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:34.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:34.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:34.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7976245, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966880330952409, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3639713, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38374, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3397764644162, telescope_dec_j2k=-24.1391584771099, observability=1)
2025-11-03T09:08:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:35
2025-11-03T09:08:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5865392684936523s
2025-11-03T09:08:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5865392684936523
2025-11-03T09:08:35.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:35
2025-11-03T09:08:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6081480979919434s
2025-11-03T09:08:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6081480979919434
2025-11-03T09:08:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:36
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9875729084014893s
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3645042;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38427;2460982.79764772;9.14350389;1.3;_
2025-11-03T09:08:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3645042;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38427;2460982.79764772;9.14350389;1.3;_
2025-11-03T09:08:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3645042, teldec = -24.256624
2025-11-03T09:08:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3645042 -24.256624
2025-11-03T09:08:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3645042 -24.256624
2025-11-03T09:08:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3645042 -24.256624
2025-11-03T09:08:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3645042;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38427;2460982.79764774;9.14350389;1.3;_14.3403088735229 -24.1391695059401
2025-11-03T09:08:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3403088735229     dec_j2k = -24.1391695059401
2025-11-03T09:08:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966879127594125;171.162357330327;_
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966879127594125;171.162357330327;_
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44583)
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:36.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:36.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79764772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966879127594125, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3645042, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38427, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3403088735229, telescope_dec_j2k=-24.1391695059401, observability=1)
2025-11-03T09:08:37.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:37
2025-11-03T09:08:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5835044384002686s
2025-11-03T09:08:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5835044384002686
2025-11-03T09:08:37.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:37
2025-11-03T09:08:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6048448085784912s
2025-11-03T09:08:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6048448085784912
2025-11-03T09:08:38.019 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:38.020 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:38.021 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:38.022 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:08:38.022 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:08:38.022 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:08:38.022 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:38
2025-11-03T09:08:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805645942687988s
2025-11-03T09:08:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3650638;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38483;2460982.79767087;9.14406194;1.3;_
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3650638;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38483;2460982.79767087;9.14406194;1.3;_
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:38.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3650638, teldec = -24.256624
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3650638 -24.256624
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3650638 -24.256624
2025-11-03T09:08:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3650638 -24.256624
2025-11-03T09:08:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3650638;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38483;2460982.79767088;9.14406194;1.3;_14.3408679580764 -24.1391810898417
2025-11-03T09:08:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3408679580764     dec_j2k = -24.1391810898417
2025-11-03T09:08:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966879528713553;171.162346601491;_
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966879528713553;171.162346601491;_
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57617)
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:38.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79767087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966879528713553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3650638, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38483, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3408679580764, telescope_dec_j2k=-24.1391810898417, observability=1)
2025-11-03T09:08:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:39
2025-11-03T09:08:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5849025249481201s
2025-11-03T09:08:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5849025249481201
2025-11-03T09:08:39.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:39
2025-11-03T09:08:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6077296733856201s
2025-11-03T09:08:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6077296733856201
2025-11-03T09:08:40.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:40
2025-11-03T09:08:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778475761413574s
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3656429;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38541;2460982.79769395;9.14463944;1.3;_
2025-11-03T09:08:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3656429;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38541;2460982.79769395;9.14463944;1.3;_
2025-11-03T09:08:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:40.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3656429, teldec = -24.256624
2025-11-03T09:08:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3656429 -24.256624
2025-11-03T09:08:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3656429 -24.256624
2025-11-03T09:08:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3656429 -24.256624
2025-11-03T09:08:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3656429;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38541;2460982.79769398;9.14463944;1.3;_14.3414465247142 -24.139193080087
2025-11-03T09:08:40.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3414465247142     dec_j2k = -24.139193080087
2025-11-03T09:08:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966876720877556;171.162357330327;_
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966876720877556;171.162357330327;_
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52263)
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:40.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:40.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:40.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79769395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966876720877556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3656429, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38541, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3414465247142, telescope_dec_j2k=-24.139193080087, observability=1)
2025-11-03T09:08:41.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:41
2025-11-03T09:08:41.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:41.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5887246131896973s
2025-11-03T09:08:41.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5887246131896973
2025-11-03T09:08:41.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:41
2025-11-03T09:08:41.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:41.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.610318660736084s
2025-11-03T09:08:41.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.610318660736084
2025-11-03T09:08:42.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:42
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823956489562988s
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3661754;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38594;2460982.79771712;9.14517056;1.3;_
2025-11-03T09:08:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3661754;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38594;2460982.79771712;9.14517056;1.3;_
2025-11-03T09:08:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3661754, teldec = -24.256624
2025-11-03T09:08:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3661754 -24.256624
2025-11-03T09:08:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3661754 -24.256624
2025-11-03T09:08:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3661754 -24.256624
2025-11-03T09:08:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3662033;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38597;2460982.79771715;9.14519833;1.3;_14.3419785343123 -24.1392041078928
2025-11-03T09:08:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3419785343123     dec_j2k = -24.1392041078928
2025-11-03T09:08:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966881935430121;171.162368059163;_
2025-11-03T09:08:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966881935430121;171.162368059163;_
2025-11-03T09:08:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53651)
2025-11-03T09:08:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:42.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:42.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:42.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:42.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:42.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:42.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79771712, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966881935430121, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3661754, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38594, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3419785343123, telescope_dec_j2k=-24.1392041078928, observability=1)
2025-11-03T09:08:43.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:43
2025-11-03T09:08:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5850260257720947s
2025-11-03T09:08:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5850260257720947
2025-11-03T09:08:43.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:43
2025-11-03T09:08:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6080389022827148s
2025-11-03T09:08:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6080389022827148
2025-11-03T09:08:44.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:44
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799625873565674s
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3667353;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3865;2460982.79774027;9.14572889;1.3;_
2025-11-03T09:08:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3667353;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3865;2460982.79774027;9.14572889;1.3;_
2025-11-03T09:08:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:44.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3667353, teldec = -24.256624
2025-11-03T09:08:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3667353 -24.256624
2025-11-03T09:08:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3667353 -24.256624
2025-11-03T09:08:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3667353 -24.256624
2025-11-03T09:08:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3667353;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3865;2460982.79774029;9.14572889;1.3;_14.3425379187189 -24.1392157056308
2025-11-03T09:08:44.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3425379187189     dec_j2k = -24.1392157056308
2025-11-03T09:08:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966875116399844;171.162357330327;_
2025-11-03T09:08:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966875116399844;171.162357330327;_
2025-11-03T09:08:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41127)
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:44.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79774027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966875116399844, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3667353, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3865, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3425379187189, telescope_dec_j2k=-24.1392157056308, observability=1)
2025-11-03T09:08:45.253 [DEBUG] [Thread-88565 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:45.253 [DEBUG] [Thread-88565 (handle)] [server.py] [get_status()] Status age = 0.4748358726501465s
2025-11-03T09:08:45.253 [DEBUG] [Thread-88565 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4748358726501465
2025-11-03T09:08:46.333 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:46
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5549602508544922s
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:46.333 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:46.334 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:46.335 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3671829;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38695;2460982.79775851;9.14617528;1.3;_
2025-11-03T09:08:46.335 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3671829;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38695;2460982.79775851;9.14617528;1.3;_
2025-11-03T09:08:46.335 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:46.335 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:46.335 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:46.336 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:46.336 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:46.336 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3671829, teldec = -24.256624
2025-11-03T09:08:46.336 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3671829 -24.256624
2025-11-03T09:08:46.336 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3671829 -24.256624
2025-11-03T09:08:46.336 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3671829 -24.256624
2025-11-03T09:08:46.337 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3671829;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38695;2460982.79775853;9.14617528;1.3;_14.3429851065701 -24.13922497903
2025-11-03T09:08:46.337 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3429851065701     dec_j2k = -24.13922497903
2025-11-03T09:08:46.337 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:46.337 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:46.337 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966880330952409;171.162351965909;_
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966880330952409;171.162351965909;_
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:46.338 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:46.339 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:46.340 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:46.340 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:46.340 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36153)
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:46.346 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:46.353 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:46.353 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:46.353 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:46.353 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:46.354 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:46.354 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:46.354 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:46.354 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:46.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:46.354 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79775851, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966880330952409, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3671829, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38695, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3429851065701, telescope_dec_j2k=-24.13922497903, observability=1)
2025-11-03T09:08:46.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:46
2025-11-03T09:08:46.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:46.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021707773208618164s
2025-11-03T09:08:46.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021707773208618164
2025-11-03T09:08:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:46
2025-11-03T09:08:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40970826148986816s
2025-11-03T09:08:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40970826148986816
2025-11-03T09:08:46.879 [DEBUG] [Thread-88566 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:46.879 [DEBUG] [Thread-88566 (handle)] [server.py] [get_status()] Status age = 0.5251715183258057s
2025-11-03T09:08:46.879 [DEBUG] [Thread-88566 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5251715183258057
2025-11-03T09:08:48.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:48
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.008120536804199s
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3677341;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3875;2460982.79778199;9.146725;1.3;_
2025-11-03T09:08:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3677341;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3875;2460982.79778199;9.146725;1.3;_
2025-11-03T09:08:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3677341, teldec = -24.256624
2025-11-03T09:08:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3677341 -24.256624
2025-11-03T09:08:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3677341 -24.256624
2025-11-03T09:08:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3677341 -24.256624
2025-11-03T09:08:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3677341;-24.256624;50.108602;89.993052;50.08601;90.12017;11.3875;2460982.79778201;9.146725;1.3;_14.3435357990648 -24.1392364010618
2025-11-03T09:08:48.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3435357990648     dec_j2k = -24.1392364010618
2025-11-03T09:08:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966876720877556;171.162362694745;_
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966876720877556;171.162362694745;_
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42651)
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:48.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79778199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966876720877556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3677341, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3875, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3435357990648, telescope_dec_j2k=-24.1392364010618, observability=1)
2025-11-03T09:08:48.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:48
2025-11-03T09:08:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022306442260742188s
2025-11-03T09:08:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022306442260742188
2025-11-03T09:08:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:48
2025-11-03T09:08:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37429022789001465s
2025-11-03T09:08:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37429022789001465
2025-11-03T09:08:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:50
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776172637939453s
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3682948;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38806;2460982.79780513;9.14728417;1.3;_
2025-11-03T09:08:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3682948;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38806;2460982.79780513;9.14728417;1.3;_
2025-11-03T09:08:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3682948, teldec = -24.256624
2025-11-03T09:08:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3682948 -24.256624
2025-11-03T09:08:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3682948 -24.256624
2025-11-03T09:08:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3682948 -24.256624
2025-11-03T09:08:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3683227;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38809;2460982.79780515;9.14731194;1.3;_14.3440959828556 -24.1392480224932
2025-11-03T09:08:50.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3440959828556     dec_j2k = -24.1392480224932
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966885545504974;171.162362694745;_
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966885545504974;171.162362694745;_
2025-11-03T09:08:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33795)
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:50.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:50.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:50.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:50.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:50.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:50.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79780513, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966885545504974, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3682948, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38806, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3440959828556, telescope_dec_j2k=-24.1392480224932, observability=1)
2025-11-03T09:08:50.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:50
2025-11-03T09:08:50.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:50.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021349430084228516s
2025-11-03T09:08:50.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021349430084228516
2025-11-03T09:08:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:50
2025-11-03T09:08:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3811817169189453s
2025-11-03T09:08:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3811817169189453
2025-11-03T09:08:52.671 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:52
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2920427322387695s
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3689383;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38871;2460982.79783186;9.14792583;1.3;_
2025-11-03T09:08:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3689383;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38871;2460982.79783186;9.14792583;1.3;_
2025-11-03T09:08:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:52.674 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3689383, teldec = -24.256624
2025-11-03T09:08:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3689383 -24.256624
2025-11-03T09:08:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3689383 -24.256624
2025-11-03T09:08:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3689383 -24.256624
2025-11-03T09:08:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3689383;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38871;2460982.79783189;9.14792583;1.3;_14.3447388904702 -24.1392613632471
2025-11-03T09:08:52.675 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3447388904702     dec_j2k = -24.1392613632471
2025-11-03T09:08:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966887551102114;171.162357330327;_
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966887551102114;171.162357330327;_
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52317)
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:52.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:52.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:52.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:52.691 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:52.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:52.691 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79783186, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966887551102114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3689383, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38871, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3447388904702, telescope_dec_j2k=-24.1392613632471, observability=1)
2025-11-03T09:08:52.715 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:52
2025-11-03T09:08:52.715 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:52.715 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02438521385192871s
2025-11-03T09:08:52.715 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02438521385192871
2025-11-03T09:08:52.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:52
2025-11-03T09:08:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06616854667663574s
2025-11-03T09:08:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06616854667663574
2025-11-03T09:08:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:54
2025-11-03T09:08:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0697708129882812s
2025-11-03T09:08:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3695452;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38931;2460982.79785604;9.14853111;1.3;_
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3695452;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38931;2460982.79785604;9.14853111;1.3;_
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3695452, teldec = -24.256624
2025-11-03T09:08:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3695452 -24.256624
2025-11-03T09:08:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3695452 -24.256624
2025-11-03T09:08:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3695452 -24.256624
2025-11-03T09:08:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3695452;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38931;2460982.79785606;9.14853111;1.3;_14.3453452318302 -24.1392739483167
2025-11-03T09:08:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3453452318302     dec_j2k = -24.1392739483167
2025-11-03T09:08:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966882737668977;171.162362694745;_
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966882737668977;171.162362694745;_
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54781)
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:54.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79785604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966882737668977, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3695452, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38931, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3453452318302, telescope_dec_j2k=-24.1392739483167, observability=1)
2025-11-03T09:08:54.986 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:54
2025-11-03T09:08:54.986 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:54.986 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2077045440673828s
2025-11-03T09:08:54.986 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2077045440673828
2025-11-03T09:08:55.008 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:55
2025-11-03T09:08:55.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:55.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2297978401184082s
2025-11-03T09:08:55.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2297978401184082
2025-11-03T09:08:55.161 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:55.161 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3832204341888428s
2025-11-03T09:08:55.161 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3832204341888428
2025-11-03T09:08:56.638 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:56
2025-11-03T09:08:56.638 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:56.638 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8604426383972168s
2025-11-03T09:08:56.638 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:56.638 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:56.638 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:56.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3700496;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38982;2460982.79787778;9.14903417;1.3;_
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3700496;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38982;2460982.79787778;9.14903417;1.3;_
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:56.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:56.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:56.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:56.641 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3700496, teldec = -24.256624
2025-11-03T09:08:56.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3700496 -24.256624
2025-11-03T09:08:56.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3700496 -24.256624
2025-11-03T09:08:56.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3700496 -24.256624
2025-11-03T09:08:56.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3700496;-24.256624;50.108602;89.993052;50.08601;90.12017;11.38982;2460982.7978778;9.14903417;1.3;_14.3458491675782 -24.1392844101627
2025-11-03T09:08:56.642 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3458491675782     dec_j2k = -24.1392844101627
2025-11-03T09:08:56.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:56.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:56.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:56.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966877121996984;171.162357330327;_
2025-11-03T09:08:56.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966877121996984;171.162357330327;_
2025-11-03T09:08:56.644 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:56.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:56.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:56.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:56.645 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:56.646 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:56.646 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:56.646 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53675)
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:56.647 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:56.654 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:56.654 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:56.654 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:56.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:56.655 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79787778, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966877121996984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3700496, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.38982, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3458491675782, telescope_dec_j2k=-24.1392844101627, observability=1)
2025-11-03T09:08:56.677 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:56
2025-11-03T09:08:56.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:56.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021915912628173828s
2025-11-03T09:08:56.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021915912628173828
2025-11-03T09:08:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:56
2025-11-03T09:08:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10611653327941895s
2025-11-03T09:08:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10611653327941895
2025-11-03T09:08:57.929 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:57.929 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2746217250823975s
2025-11-03T09:08:57.929 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:08:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3704151;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39018;2460982.79789272;9.14939861;1.3;_
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.3704151;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39018;2460982.79789272;9.14939861;1.3;_
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:08:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:08:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:08:57.932 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.3704151, teldec = -24.256624
2025-11-03T09:08:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3704151 -24.256624
2025-11-03T09:08:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3704151 -24.256624
2025-11-03T09:08:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3704151 -24.256624
2025-11-03T09:08:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.3704151;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39018;2460982.79789275;9.14939861;1.3;_14.3462143311925 -24.1392919923548
2025-11-03T09:08:57.934 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.3462143311925     dec_j2k = -24.1392919923548
2025-11-03T09:08:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:08:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:08:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966883539907833;171.162346601491;_
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966883539907833;171.162346601491;_
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:08:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:08:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:08:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:08:57.941 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38647)
2025-11-03T09:08:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:08:57.941 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:08:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:08:57.942 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:08:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:08:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:08:57.950 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:08:57.950 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:08:57.950 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79789272, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966883539907833, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3704151, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39018, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3462143311925, telescope_dec_j2k=-24.1392919923548, observability=1)
2025-11-03T09:08:58.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:58
2025-11-03T09:08:58.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:58.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4124429225921631s
2025-11-03T09:08:58.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4124429225921631
2025-11-03T09:08:58.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:58
2025-11-03T09:08:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4340360164642334s
2025-11-03T09:08:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4340360164642334
2025-11-03T09:08:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:08:58
2025-11-03T09:08:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:08:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8099558353424072s
2025-11-03T09:08:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8099558353424072
2025-11-03T09:09:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:00
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4119930267333984s
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3710788;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39085;2460982.79792088;9.15006056;1.3;_
2025-11-03T09:09:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3710788;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39085;2460982.79792088;9.15006056;1.3;_
2025-11-03T09:09:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3710788, teldec = -24.256624
2025-11-03T09:09:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3710788 -24.256624
2025-11-03T09:09:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3710788 -24.256624
2025-11-03T09:09:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3710788 -24.256624
2025-11-03T09:09:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3710788;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39085;2460982.7979209;9.15006056;1.3;_14.3468774204075 -24.139305763401
2025-11-03T09:09:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3468774204075     dec_j2k = -24.139305763401
2025-11-03T09:09:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096689236453525;171.162351965909;_
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096689236453525;171.162351965909;_
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60253)
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:00.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:00.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:00.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79792088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096689236453525, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3710788, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39085, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3468774204075, telescope_dec_j2k=-24.139305763401, observability=1)
2025-11-03T09:09:00.514 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:00
2025-11-03T09:09:00.514 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:00.514 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13454294204711914s
2025-11-03T09:09:00.514 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13454294204711914
2025-11-03T09:09:00.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:00
2025-11-03T09:09:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38335394859313965s
2025-11-03T09:09:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38335394859313965
2025-11-03T09:09:02.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:02
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822125434875488s
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3716393;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39141;2460982.79794403;9.15061944;1.3;_
2025-11-03T09:09:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3716393;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39141;2460982.79794403;9.15061944;1.3;_
2025-11-03T09:09:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3716393, teldec = -24.256624
2025-11-03T09:09:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3716393 -24.256624
2025-11-03T09:09:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3716393 -24.256624
2025-11-03T09:09:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3716393 -24.256624
2025-11-03T09:09:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3716393;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39141;2460982.79794405;9.15061944;1.3;_14.3474374046421 -24.1393173959538
2025-11-03T09:09:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3474374046421     dec_j2k = -24.1393173959538
2025-11-03T09:09:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966895974610103;171.162362694745;_
2025-11-03T09:09:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966895974610103;171.162362694745;_
2025-11-03T09:09:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33979)
2025-11-03T09:09:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:02.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:02.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79794403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966895974610103, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3716393, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39141, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3474374046421, telescope_dec_j2k=-24.1393173959538, observability=1)
2025-11-03T09:09:02.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:02
2025-11-03T09:09:02.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:02.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022539854049682617s
2025-11-03T09:09:02.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022539854049682617
2025-11-03T09:09:02.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:02
2025-11-03T09:09:02.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:02.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37817978858947754s
2025-11-03T09:09:02.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37817978858947754
2025-11-03T09:09:03.374 [DEBUG] [Thread-88567 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:03.374 [DEBUG] [Thread-88567 (handle)] [server.py] [get_status()] Status age = 0.9957013130187988s
2025-11-03T09:09:03.374 [DEBUG] [Thread-88567 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9957013130187988
2025-11-03T09:09:04.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:04
2025-11-03T09:09:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832878112792969s
2025-11-03T09:09:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3721989;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39197;2460982.79796718;9.1511775;1.3;_
2025-11-03T09:09:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3721989;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39197;2460982.79796718;9.1511775;1.3;_
2025-11-03T09:09:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3721989, teldec = -24.256624
2025-11-03T09:09:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3721989 -24.256624
2025-11-03T09:09:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3721989 -24.256624
2025-11-03T09:09:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3721989 -24.256624
2025-11-03T09:09:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3721989;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39197;2460982.7979672;9.1511775;1.3;_14.3479964897484 -24.1393290123796
2025-11-03T09:09:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3479964897484     dec_j2k = -24.1393290123796
2025-11-03T09:09:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966888754460398;171.162368059163;_
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966888754460398;171.162368059163;_
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44275)
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:04.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:04.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79796718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966888754460398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3721989, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39197, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3479964897484, telescope_dec_j2k=-24.1393290123796, observability=1)
2025-11-03T09:09:04.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:04
2025-11-03T09:09:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021341562271118164s
2025-11-03T09:09:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021341562271118164
2025-11-03T09:09:04.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:04
2025-11-03T09:09:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37634921073913574s
2025-11-03T09:09:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37634921073913574
2025-11-03T09:09:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:06
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.380662202835083s
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3728629;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39263;2460982.79799494;9.15183972;1.3;_
2025-11-03T09:09:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3728629;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39263;2460982.79799494;9.15183972;1.3;_
2025-11-03T09:09:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3728629, teldec = -24.256624
2025-11-03T09:09:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3728629 -24.256624
2025-11-03T09:09:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3728629 -24.256624
2025-11-03T09:09:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3728629 -24.256624
2025-11-03T09:09:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3728629;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39263;2460982.79799498;9.15183972;1.3;_14.3486598788516 -24.1393427992938
2025-11-03T09:09:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3486598788516     dec_j2k = -24.1393427992938
2025-11-03T09:09:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966885946624401;171.162362694745;_
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966885946624401;171.162362694745;_
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41893)
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:06.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79799494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966885946624401, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3728629, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39263, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3486598788516, telescope_dec_j2k=-24.1393427992938, observability=1)
2025-11-03T09:09:07.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:07
2025-11-03T09:09:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5850541591644287s
2025-11-03T09:09:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5850541591644287
2025-11-03T09:09:07.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:07
2025-11-03T09:09:07.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:07.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6064162254333496s
2025-11-03T09:09:07.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6064162254333496
2025-11-03T09:09:08.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:08
2025-11-03T09:09:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792790412902832s
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3734233;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39319;2460982.79801804;9.15239861;1.3;_
2025-11-03T09:09:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3734233;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39319;2460982.79801804;9.15239861;1.3;_
2025-11-03T09:09:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3734233, teldec = -24.256624
2025-11-03T09:09:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3734233 -24.256624
2025-11-03T09:09:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3734233 -24.256624
2025-11-03T09:09:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3734233 -24.256624
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3734233;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39319;2460982.79801808;9.15239861;1.3;_14.3492197633169 -24.1393544379096
2025-11-03T09:09:08.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3492197633169     dec_j2k = -24.1393544379096
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966887952221542;171.162362694745;_
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966887952221542;171.162362694745;_
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58963)
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:08.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:08.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79801804, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966887952221542, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3734233, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39319, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.3492197633169, telescope_dec_j2k=-24.1393544379096, observability=1)
2025-11-03T09:09:09.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:09
2025-11-03T09:09:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5842456817626953s
2025-11-03T09:09:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5842456817626953
2025-11-03T09:09:09.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:09
2025-11-03T09:09:09.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:09.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6060600280761719s
2025-11-03T09:09:09.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6060600280761719
2025-11-03T09:09:10.447 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:09:10
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.6681265830993652s
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:10.447 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:10.448 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:10.448 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:10.448 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:10.448 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:10.449 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:10.449 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:10.449 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:10.449 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3738901;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39366;2460982.7980376;9.15286417;1.3;_
2025-11-03T09:09:10.450 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.3738901;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39366;2460982.7980376;9.15286417;1.3;_
2025-11-03T09:09:10.450 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:10.450 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:10.450 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:10.451 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:10.451 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:10.451 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.3738901, teldec = -24.256624
2025-11-03T09:09:10.451 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3738901 -24.256624
2025-11-03T09:09:10.451 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3738901 -24.256624
2025-11-03T09:09:10.451 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3738901 -24.256624
2025-11-03T09:09:10.452 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3738901;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39366;2460982.79803764;9.15286417;1.3;_14.349686133922 -24.1393641345537
2025-11-03T09:09:10.452 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.349686133922     dec_j2k = -24.1393641345537
2025-11-03T09:09:10.452 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:10.452 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:10.452 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.096688634774383;171.162357330327;_
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.096688634774383;171.162357330327;_
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:10.453 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:10.454 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:10.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:10.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:10.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:10.458 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35747)
2025-11-03T09:09:10.459 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:10.459 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:10.459 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:10.459 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:10.459 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:10.466 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:10.466 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7980376, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096688634774383, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3738901, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39366, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:08:11.997218', telescope_ra_j2k=14.349686133922, telescope_dec_j2k=-24.1393641345537, observability=1)
2025-11-03T09:09:10.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:10
2025-11-03T09:09:10.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:10.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2876169681549072s
2025-11-03T09:09:10.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2876169681549072
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:12.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:12.141 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:12.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:12.142 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:12.142 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:12.142 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:12.142 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:09:12.142 [INFO] [ThreadPoolExecutor-3385_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:09:12.142 [INFO] [ThreadPoolExecutor-3385_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:09:12.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:12
2025-11-03T09:09:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2001569271087646s
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3745074;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39428;2460982.79806329;9.15347972;1.3;_
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3745074;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39428;2460982.79806329;9.15347972;1.3;_
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:12.669 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3745074, teldec = -24.256624
2025-11-03T09:09:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3745074 -24.256624
2025-11-03T09:09:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3745074 -24.256624
2025-11-03T09:09:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3745074 -24.256624
2025-11-03T09:09:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3745074;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39428;2460982.79806331;9.15347972;1.3;_14.3503028661331 -24.1393769601951
2025-11-03T09:09:12.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3503028661331     dec_j2k = -24.1393769601951
2025-11-03T09:09:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966893969012963;171.162357330327;_
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966893969012963;171.162357330327;_
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36841)
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:12.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:12.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:12.686 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:12.686 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:12.686 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79806329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966893969012963, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3745074, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39428, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3503028661331, telescope_dec_j2k=-24.1393769601951, observability=1)
2025-11-03T09:09:12.707 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:12
2025-11-03T09:09:12.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:12.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021413326263427734s
2025-11-03T09:09:12.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021413326263427734
2025-11-03T09:09:12.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:12
2025-11-03T09:09:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06811952590942383s
2025-11-03T09:09:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06811952590942383
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.1081924438476562s
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:13.794 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:13.795 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3748436;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39461;2460982.79807634;9.153815;1.3;_
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.3748436;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39461;2460982.79807634;9.153815;1.3;_
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:13.796 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.3748436, teldec = -24.256624
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.3748436 -24.256624
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.3748436 -24.256624
2025-11-03T09:09:13.796 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3748436 -24.256624
2025-11-03T09:09:13.797 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3748436;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39461;2460982.79807635;9.153815;1.3;_14.3506387569206 -24.1393839467264
2025-11-03T09:09:13.797 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.3506387569206     dec_j2k = -24.1393839467264
2025-11-03T09:09:13.797 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:13.797 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966891963415822;171.162346601491;_
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966891963415822;171.162346601491;_
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:13.798 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:13.799 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:13.800 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:13.800 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:13.800 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44021)
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:13.803 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:13.810 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:09:13.811 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79807634, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966891963415822, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3748436, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3506387569206, telescope_dec_j2k=-24.1393839467264, observability=1)
2025-11-03T09:09:13.811 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.363804578781128 seconds ago
2025-11-03T09:09:14.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:14
2025-11-03T09:09:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9648127555847168s
2025-11-03T09:09:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9648127555847168
2025-11-03T09:09:15.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:15
2025-11-03T09:09:15.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:15.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6129133701324463s
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:15.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:15.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:15.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3752831;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39505;2460982.79809521;9.15425333;1.3;_
2025-11-03T09:09:15.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3752831;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39505;2460982.79809521;9.15425333;1.3;_
2025-11-03T09:09:15.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:15.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:15.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:15.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:15.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:15.427 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3752831, teldec = -24.256624
2025-11-03T09:09:15.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3752831 -24.256624
2025-11-03T09:09:15.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3752831 -24.256624
2025-11-03T09:09:15.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3752831 -24.256624
2025-11-03T09:09:15.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3752831;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39505;2460982.79809523;9.15425333;1.3;_14.3510778527239 -24.1393930813094
2025-11-03T09:09:15.428 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3510778527239     dec_j2k = -24.1393930813094
2025-11-03T09:09:15.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:15.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096689236453525;171.162351965909;_
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096689236453525;171.162351965909;_
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:15.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:15.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:15.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:15.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:15.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42077)
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:15.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:15.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:15.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79809521, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096689236453525, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3752831, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39505, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3510778527239, telescope_dec_j2k=-24.1393930813094, observability=1)
2025-11-03T09:09:15.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:15
2025-11-03T09:09:15.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:15.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022606849670410156s
2025-11-03T09:09:15.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022606849670410156
2025-11-03T09:09:16.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:16
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3212382793426514s
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3756477;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39542;2460982.79811073;9.15461694;1.3;_
2025-11-03T09:09:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3756477;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39542;2460982.79811073;9.15461694;1.3;_
2025-11-03T09:09:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:16.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3756477, teldec = -24.256624
2025-11-03T09:09:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3756477 -24.256624
2025-11-03T09:09:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3756477 -24.256624
2025-11-03T09:09:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3756477 -24.256624
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3756477;-24.256624;50.108602;89.993052;50.08601;90.12017;11.39542;2460982.79811075;9.15461694;1.3;_14.3514421174311 -24.1394006603609
2025-11-03T09:09:16.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3514421174311     dec_j2k = -24.1394006603609
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966891963415822;171.162362694745;_
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966891963415822;171.162362694745;_
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60105)
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:16.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:16.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:16.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:16.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79811073, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966891963415822, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108602, telescope_az=89.993052, telescope_ra=14.3756477, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39542, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3514421174311, telescope_dec_j2k=-24.1394006603609, observability=1)
2025-11-03T09:09:17.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:17
2025-11-03T09:09:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5802133083343506s
2025-11-03T09:09:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5802133083343506
2025-11-03T09:09:17.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:17
2025-11-03T09:09:17.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:17.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6065714359283447s
2025-11-03T09:09:17.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6065714359283447
2025-11-03T09:09:18.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:18
2025-11-03T09:09:18.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:18.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.996713399887085s
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:18.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:18.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:18.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.376209;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39598;2460982.79813406;9.15517667;1.3;_
2025-11-03T09:09:18.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.376209;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39598;2460982.79813406;9.15517667;1.3;_
2025-11-03T09:09:18.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:18.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:18.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:18.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:18.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:18.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.376209, teldec = -24.256624
2025-11-03T09:09:18.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.376209 -24.256624
2025-11-03T09:09:18.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.376209 -24.256624
2025-11-03T09:09:18.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.376209 -24.256624
2025-11-03T09:09:18.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.376209;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39598;2460982.79813409;9.15517667;1.3;_14.3520029012856 -24.1394123303892
2025-11-03T09:09:18.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3520029012856     dec_j2k = -24.1394123303892
2025-11-03T09:09:18.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:18.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:18.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966889556699254;171.162362694745;_
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966889556699254;171.162362694745;_
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:18.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:18.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:18.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:18.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:18.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37583)
2025-11-03T09:09:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:18.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:18.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:18.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:18.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:18.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79813406, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966889556699254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.376209, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39598, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3520029012856, telescope_dec_j2k=-24.1394123303892, observability=1)
2025-11-03T09:09:19.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:19
2025-11-03T09:09:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5626933574676514s
2025-11-03T09:09:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5626933574676514
2025-11-03T09:09:19.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:19
2025-11-03T09:09:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5844419002532959s
2025-11-03T09:09:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5844419002532959
2025-11-03T09:09:20.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:20
2025-11-03T09:09:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9685678482055664s
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3767611;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39653;2460982.79815705;9.15572722;1.3;_
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3767611;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39653;2460982.79815705;9.15572722;1.3;_
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:20.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3767611, teldec = -24.256624
2025-11-03T09:09:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3767611 -24.256624
2025-11-03T09:09:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3767611 -24.256624
2025-11-03T09:09:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3767611 -24.256624
2025-11-03T09:09:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3767611;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39656;2460982.79815708;9.15575528;1.3;_14.3525544936426 -24.1394238116398
2025-11-03T09:09:20.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3525544936426     dec_j2k = -24.1394238116398
2025-11-03T09:09:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096689035893811;171.162351965909;_
2025-11-03T09:09:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096689035893811;171.162351965909;_
2025-11-03T09:09:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55045)
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:20.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:20.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:20.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79815705, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096689035893811, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3767611, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39653, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3525544936426, telescope_dec_j2k=-24.1394238116398, observability=1)
2025-11-03T09:09:21.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:21
2025-11-03T09:09:21.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6516332626342773s
2025-11-03T09:09:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6516332626342773
2025-11-03T09:09:21.451 [DEBUG] [Thread-88568 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:21.451 [DEBUG] [Thread-88568 (handle)] [server.py] [get_status()] Status age = 0.6631739139556885s
2025-11-03T09:09:21.451 [DEBUG] [Thread-88568 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6631739139556885
2025-11-03T09:09:21.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:21
2025-11-03T09:09:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6770238876342773s
2025-11-03T09:09:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6770238876342773
2025-11-03T09:09:22.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:22
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9690518379211426s
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3773218;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39709;2460982.79818008;9.15628639;1.3;_
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3773218;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39709;2460982.79818008;9.15628639;1.3;_
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:22.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3773218, teldec = -24.256624
2025-11-03T09:09:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3773218 -24.256624
2025-11-03T09:09:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3773218 -24.256624
2025-11-03T09:09:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3773218 -24.256624
2025-11-03T09:09:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3773218;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39709;2460982.7981801;9.15628639;1.3;_14.3531146781355 -24.1394354742702
2025-11-03T09:09:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3531146781355     dec_j2k = -24.1394354742702
2025-11-03T09:09:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966891963415822;171.162357330327;_
2025-11-03T09:09:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966891963415822;171.162357330327;_
2025-11-03T09:09:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:22.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46733)
2025-11-03T09:09:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:22.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:22.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:22.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79818008, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966891963415822, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3773218, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3531146781355, telescope_dec_j2k=-24.1394354742702, observability=1)
2025-11-03T09:09:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:23
2025-11-03T09:09:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5881381034851074s
2025-11-03T09:09:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5881381034851074
2025-11-03T09:09:23.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:23
2025-11-03T09:09:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6106374263763428s
2025-11-03T09:09:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6106374263763428
2025-11-03T09:09:24.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:24
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982961893081665s
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:24.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3778813;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39765;2460982.79820323;9.15684444;1.3;_
2025-11-03T09:09:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3778813;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39765;2460982.79820323;9.15684444;1.3;_
2025-11-03T09:09:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:24.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3778813, teldec = -24.256624
2025-11-03T09:09:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3778813 -24.256624
2025-11-03T09:09:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3778813 -24.256624
2025-11-03T09:09:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3778813 -24.256624
2025-11-03T09:09:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3778813;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39765;2460982.79820325;9.15684444;1.3;_14.3536736637752 -24.139447114489
2025-11-03T09:09:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3536736637752     dec_j2k = -24.139447114489
2025-11-03T09:09:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966895573490675;171.162357330327;_
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966895573490675;171.162357330327;_
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39551)
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:24.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:24.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:24.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79820323, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966895573490675, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3778813, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39765, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3536736637752, telescope_dec_j2k=-24.139447114489, observability=1)
2025-11-03T09:09:26.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:26
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982396125793457s
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3784323;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3982;2460982.79822638;9.15739389;1.3;_
2025-11-03T09:09:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3784323;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3982;2460982.79822638;9.15739389;1.3;_
2025-11-03T09:09:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3784323, teldec = -24.256624
2025-11-03T09:09:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3784323 -24.256624
2025-11-03T09:09:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3784323 -24.256624
2025-11-03T09:09:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3784323 -24.256624
2025-11-03T09:09:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3784323;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3982;2460982.7982264;9.15739389;1.3;_14.3542241572717 -24.139458580356
2025-11-03T09:09:26.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3542241572717     dec_j2k = -24.139458580356
2025-11-03T09:09:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966894370132391;171.162357330327;_
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966894370132391;171.162357330327;_
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:26.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55417)
2025-11-03T09:09:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:26.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79822638, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966894370132391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3784323, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3982, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3542241572717, telescope_dec_j2k=-24.139458580356, observability=1)
2025-11-03T09:09:27.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:27
2025-11-03T09:09:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5872259140014648s
2025-11-03T09:09:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5872259140014648
2025-11-03T09:09:27.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:27
2025-11-03T09:09:27.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:27.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6099979877471924s
2025-11-03T09:09:27.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6099979877471924
2025-11-03T09:09:28.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:28
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797563552856445s
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3789935;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39876;2460982.79824953;9.15795361;1.3;_
2025-11-03T09:09:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3789935;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39876;2460982.79824953;9.15795361;1.3;_
2025-11-03T09:09:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:28.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3789935, teldec = -24.256624
2025-11-03T09:09:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3789935 -24.256624
2025-11-03T09:09:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3789935 -24.256624
2025-11-03T09:09:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3789935 -24.256624
2025-11-03T09:09:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3789935;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39876;2460982.79824955;9.15795361;1.3;_14.3547848414353 -24.1394702610145
2025-11-03T09:09:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3547848414353     dec_j2k = -24.1394702610145
2025-11-03T09:09:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966893567893535;171.162357330327;_
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966893567893535;171.162357330327;_
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47305)
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:28.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79824953, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966893567893535, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3789935, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3547848414353, telescope_dec_j2k=-24.1394702610145, observability=1)
2025-11-03T09:09:29.896 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:29
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1225740909576416s
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:29.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:29.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.37933;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3991;2460982.79826271;9.15828917;1.3;_
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.37933;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3991;2460982.79826271;9.15828917;1.3;_
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:29.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:29.899 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.37933, teldec = -24.256624
2025-11-03T09:09:29.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.37933 -24.256624
2025-11-03T09:09:29.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.37933 -24.256624
2025-11-03T09:09:29.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.37933 -24.256624
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.37933;-24.256624;50.108601;89.993052;50.08601;90.12017;11.3991;2460982.79826272;9.15828917;1.3;_14.3551210321566 -24.1394772660587
2025-11-03T09:09:29.900 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3551210321566     dec_j2k = -24.1394772660587
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966893567893535;171.162357330327;_
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966893567893535;171.162357330327;_
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:29.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:29.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:29.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:29.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:29.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:29.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:29.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:29.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:29.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:29.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57327)
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:29.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:29.914 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:29.914 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79826271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966893567893535, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.37933, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.3991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3551210321566, telescope_dec_j2k=-24.1394772660587, observability=1)
2025-11-03T09:09:29.936 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:29
2025-11-03T09:09:29.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:29.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02161574363708496s
2025-11-03T09:09:29.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02161574363708496
2025-11-03T09:09:30.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:30
2025-11-03T09:09:30.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8402035236358643s
2025-11-03T09:09:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8402035236358643
2025-11-03T09:09:32.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:32
2025-11-03T09:09:32.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.752373456954956s
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:32.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3800779;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39985;2460982.79829478;9.159035;1.3;_
2025-11-03T09:09:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3800779;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39985;2460982.79829478;9.159035;1.3;_
2025-11-03T09:09:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:32.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3800779, teldec = -24.256624
2025-11-03T09:09:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3800779 -24.256624
2025-11-03T09:09:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3800779 -24.256624
2025-11-03T09:09:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3800779 -24.256624
2025-11-03T09:09:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3800779;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39985;2460982.7982948;9.159035;1.3;_14.3558682448149 -24.1394928386645
2025-11-03T09:09:32.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3558682448149     dec_j2k = -24.1394928386645
2025-11-03T09:09:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966894370132391;171.162368059163;_
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966894370132391;171.162368059163;_
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52743)
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:32.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:32.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:32.684 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:32.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:32.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79829478, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966894370132391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3800779, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.39985, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3558682448149, telescope_dec_j2k=-24.1394928386645, observability=1)
2025-11-03T09:09:32.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:32
2025-11-03T09:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022271156311035156s
2025-11-03T09:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022271156311035156
2025-11-03T09:09:32.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:32
2025-11-03T09:09:32.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:32.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09593486785888672s
2025-11-03T09:09:32.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09593486785888672
2025-11-03T09:09:33.023 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.023 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.023 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:33.023 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:33.023 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:09:33.024 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:33.025 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:33.026 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:09:33.027 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:33.028 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Park
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:09:33.029 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:09:33.030 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 29;14.3801902;-24.256624;50.108601;89.993052;50.08601;90.12017;11.39996;2460982.79829896;9.15914694;1.3;_Park Command Successful
2025-11-03T09:09:34.030 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:09:34.030 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:09:34.031 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:09:34.031 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:09:34.031 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:09:34.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:34
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7829363346099854s
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3805826;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40035;2460982.7983156;9.15953833;1.3;_
2025-11-03T09:09:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3805826;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40035;2460982.7983156;9.15953833;1.3;_
2025-11-03T09:09:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:34.469 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3805826, teldec = -24.256624
2025-11-03T09:09:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3805826 -24.256624
2025-11-03T09:09:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3805826 -24.256624
2025-11-03T09:09:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3805826 -24.256624
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3805826;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40035;2460982.79831563;9.15953833;1.3;_14.356372481025 -24.1395033499841
2025-11-03T09:09:34.470 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.356372481025     dec_j2k = -24.1395033499841
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966898782446099;171.162357330327;_
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966898782446099;171.162357330327;_
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46539)
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:34.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:34.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:34.484 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7983156, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966898782446099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3805826, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40035, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.356372481025, telescope_dec_j2k=-24.1395033499841, observability=1)
2025-11-03T09:09:34.507 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:34
2025-11-03T09:09:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02237248420715332s
2025-11-03T09:09:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02237248420715332
2025-11-03T09:09:34.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:34
2025-11-03T09:09:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2716219425201416s
2025-11-03T09:09:34.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2716219425201416
2025-11-03T09:09:35.032 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:09:35.032 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:09:35.032 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:09:35.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:09:35.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:09:36.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:09:36.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:09:36.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:09:36.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:09:36.033 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:09:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:36
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2767014503479004s
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.381226;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40099;2460982.79834216;9.16018;1.3;_
2025-11-03T09:09:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.381226;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40099;2460982.79834216;9.16018;1.3;_
2025-11-03T09:09:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.381226, teldec = -24.256624
2025-11-03T09:09:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.381226 -24.256624
2025-11-03T09:09:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.381226 -24.256624
2025-11-03T09:09:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.381226 -24.256624
2025-11-03T09:09:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.381226;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40099;2460982.79834219;9.16018;1.3;_14.3570152898293 -24.1395167529923
2025-11-03T09:09:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3570152898293     dec_j2k = -24.1395167529923
2025-11-03T09:09:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966903595879236;171.162351965909;_
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966903595879236;171.162351965909;_
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55351)
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:36.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:36.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79834216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966903595879236, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.381226, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40099, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3570152898293, telescope_dec_j2k=-24.1395167529923, observability=1)
2025-11-03T09:09:37.034 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:09:37.034 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:09:37.034 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:37.035 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:09:37.036 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:09:37.037 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:38.037 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:38.037 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:38.037 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:38.037 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:38.037 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:38.038 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:38.038 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:09:38.039 [DEBUG] [ThreadPoolExecutor-3384_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:38.039 [INFO] [ThreadPoolExecutor-3384_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:09:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:38
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829280376434326s
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3817778;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40155;2460982.79836536;9.16073028;1.3;_
2025-11-03T09:09:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3817778;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40155;2460982.79836536;9.16073028;1.3;_
2025-11-03T09:09:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3817778, teldec = -24.256624
2025-11-03T09:09:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3817778 -24.256624
2025-11-03T09:09:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3817778 -24.256624
2025-11-03T09:09:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3817778 -24.256624
2025-11-03T09:09:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3817778;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40155;2460982.79836538;9.16073028;1.3;_14.3575665828472 -24.1395282505121
2025-11-03T09:09:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3575665828472     dec_j2k = -24.1395282505121
2025-11-03T09:09:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966902392520952;171.162351965909;_
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966902392520952;171.162351965909;_
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47695)
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:38.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:38.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79836536, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966902392520952, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3817778, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3575665828472, telescope_dec_j2k=-24.1395282505121, observability=1)
2025-11-03T09:09:39.530 [DEBUG] [Thread-88569 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:39.530 [DEBUG] [Thread-88569 (handle)] [server.py] [get_status()] Status age = 0.7475812435150146s
2025-11-03T09:09:39.530 [DEBUG] [Thread-88569 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7475812435150146
2025-11-03T09:09:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:40
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784624576568604s
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3823383;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40211;2460982.79838846;9.16128917;1.3;_
2025-11-03T09:09:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3823383;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40211;2460982.79838846;9.16128917;1.3;_
2025-11-03T09:09:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3823383, teldec = -24.256624
2025-11-03T09:09:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3823383 -24.256624
2025-11-03T09:09:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3823383 -24.256624
2025-11-03T09:09:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3823383 -24.256624
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3823383;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40211;2460982.7983885;9.16128917;1.3;_14.3581265679152 -24.1395399318418
2025-11-03T09:09:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3581265679152     dec_j2k = -24.1395399318418
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966897177968387;171.162357330327;_
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966897177968387;171.162357330327;_
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43495)
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:40.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:40.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79838846, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966897177968387, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3823383, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40211, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3581265679152, telescope_dec_j2k=-24.1395399318418, observability=1)
2025-11-03T09:09:42.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:42
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8898112773895264s
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3828703;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40264;2460982.79841054;9.16181972;1.3;_
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3828703;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40264;2460982.79841054;9.16181972;1.3;_
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:42.672 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3828703, teldec = -24.256624
2025-11-03T09:09:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3828703 -24.256624
2025-11-03T09:09:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3828703 -24.256624
2025-11-03T09:09:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3828703 -24.256624
2025-11-03T09:09:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3828703;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40264;2460982.79841057;9.16181972;1.3;_14.3586580792067 -24.139551021567
2025-11-03T09:09:42.673 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3586580792067     dec_j2k = -24.139551021567
2025-11-03T09:09:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966892765654678;171.162362694745;_
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966892765654678;171.162362694745;_
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:42.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:42.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:42.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40325)
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:42.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:42.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:42.689 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:42.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:42.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79841054, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966892765654678, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3828703, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40264, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3586580792067, telescope_dec_j2k=-24.139551021567, observability=1)
2025-11-03T09:09:42.711 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:42
2025-11-03T09:09:42.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:42.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02230072021484375s
2025-11-03T09:09:42.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02230072021484375
2025-11-03T09:09:42.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:42
2025-11-03T09:09:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06745457649230957s
2025-11-03T09:09:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06745457649230957
2025-11-03T09:09:44.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:44
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6753785610198975s
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3833374;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40311;2460982.79843015;9.16228556;1.3;_
2025-11-03T09:09:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3833374;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40311;2460982.79843015;9.16228556;1.3;_
2025-11-03T09:09:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:44.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3833374, teldec = -24.256624
2025-11-03T09:09:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3833374 -24.256624
2025-11-03T09:09:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3833374 -24.256624
2025-11-03T09:09:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3833374 -24.256624
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3833374;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40311;2460982.79843019;9.16228556;1.3;_14.3591247501494 -24.139560760325
2025-11-03T09:09:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3591247501494     dec_j2k = -24.139560760325
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966899584684955;171.162351965909;_
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966899584684955;171.162351965909;_
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52167)
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:44.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:44.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79843015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966899584684955, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3833374, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40311, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3591247501494, telescope_dec_j2k=-24.139560760325, observability=1)
2025-11-03T09:09:44.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:44
2025-11-03T09:09:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02252340316772461s
2025-11-03T09:09:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02252340316772461
2025-11-03T09:09:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:44
2025-11-03T09:09:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37952446937561035s
2025-11-03T09:09:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37952446937561035
2025-11-03T09:09:46.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:46
2025-11-03T09:09:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0380048751831055s
2025-11-03T09:09:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3839262;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40369;2460982.79845395;9.16287278;1.3;_
2025-11-03T09:09:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3839262;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40369;2460982.79845395;9.16287278;1.3;_
2025-11-03T09:09:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:46.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3839262, teldec = -24.256624
2025-11-03T09:09:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3839262 -24.256624
2025-11-03T09:09:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3839262 -24.256624
2025-11-03T09:09:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3839262 -24.256624
2025-11-03T09:09:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3839262;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40369;2460982.79845397;9.16287278;1.3;_14.3597130093472 -24.1395730389813
2025-11-03T09:09:46.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3597130093472     dec_j2k = -24.1395730389813
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966899183565527;171.162357330327;_
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966899183565527;171.162357330327;_
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40797)
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:46.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:46.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79845395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966899183565527, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3839262, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3597130093472, telescope_dec_j2k=-24.1395730389813, observability=1)
2025-11-03T09:09:46.458 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:46
2025-11-03T09:09:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022334814071655273s
2025-11-03T09:09:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022334814071655273
2025-11-03T09:09:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:46
2025-11-03T09:09:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3264029026031494s
2025-11-03T09:09:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3264029026031494
2025-11-03T09:09:46.936 [DEBUG] [Thread-88570 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:46.936 [DEBUG] [Thread-88570 (handle)] [server.py] [get_status()] Status age = 0.5001351833343506s
2025-11-03T09:09:46.937 [DEBUG] [Thread-88570 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5001351833343506
2025-11-03T09:09:48.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:48
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9275307655334473s
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3844582;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40423;2460982.79847646;9.16340333;1.3;_
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3844582;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40423;2460982.79847646;9.16340333;1.3;_
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:48.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3844582, teldec = -24.256624
2025-11-03T09:09:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3844582 -24.256624
2025-11-03T09:09:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3844582 -24.256624
2025-11-03T09:09:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3844582 -24.256624
2025-11-03T09:09:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3844582;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40423;2460982.79847648;9.16340333;1.3;_14.3602445207564 -24.1395841355695
2025-11-03T09:09:48.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3602445207564     dec_j2k = -24.1395841355695
2025-11-03T09:09:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096690479923752;171.162351965909;_
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096690479923752;171.162351965909;_
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60279)
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:48.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:48.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79847646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096690479923752, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3844582, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40423, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3602445207564, telescope_dec_j2k=-24.1395841355695, observability=1)
2025-11-03T09:09:48.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:48
2025-11-03T09:09:48.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:48.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023157596588134766s
2025-11-03T09:09:48.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023157596588134766
2025-11-03T09:09:48.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:48
2025-11-03T09:09:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3826026916503906s
2025-11-03T09:09:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3826026916503906
2025-11-03T09:09:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:50
2025-11-03T09:09:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9760584831237793s
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3850122;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40478;2460982.79849958;9.16395583;1.3;_
2025-11-03T09:09:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3850122;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40478;2460982.79849958;9.16395583;1.3;_
2025-11-03T09:09:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3850122, teldec = -24.256624
2025-11-03T09:09:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3850122 -24.256624
2025-11-03T09:09:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3850122 -24.256624
2025-11-03T09:09:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3850122 -24.256624
2025-11-03T09:09:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3850122;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40478;2460982.79849961;9.16395583;1.3;_14.3607980120027 -24.1395956934828
2025-11-03T09:09:50.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3607980120027     dec_j2k = -24.1395956934828
2025-11-03T09:09:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966899584684955;171.162357330327;_
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966899584684955;171.162357330327;_
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44881)
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:50.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:50.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:50.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:50.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:50.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79849958, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966899584684955, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3850122, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40478, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3607980120027, telescope_dec_j2k=-24.1395956934828, observability=1)
2025-11-03T09:09:50.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:50
2025-11-03T09:09:50.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:50.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021533727645874023s
2025-11-03T09:09:50.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021533727645874023
2025-11-03T09:09:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:50
2025-11-03T09:09:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3793809413909912s
2025-11-03T09:09:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3793809413909912
2025-11-03T09:09:52.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:52
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.292541980743408s
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3856576;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40543;2460982.79852632;9.16459944;1.3;_
2025-11-03T09:09:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3856576;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40543;2460982.79852632;9.16459944;1.3;_
2025-11-03T09:09:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:52.675 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3856576, teldec = -24.256624
2025-11-03T09:09:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3856576 -24.256624
2025-11-03T09:09:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3856576 -24.256624
2025-11-03T09:09:52.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3856576 -24.256624
2025-11-03T09:09:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3856576;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40543;2460982.79852634;9.16459944;1.3;_14.3614428193677 -24.1396091613867
2025-11-03T09:09:52.676 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3614428193677     dec_j2k = -24.1396091613867
2025-11-03T09:09:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:52.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966897980207243;171.162351965909;_
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966897980207243;171.162351965909;_
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:52.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:52.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:52.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:52.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:52.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53177)
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:52.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:52.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:52.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79852632, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966897980207243, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3856576, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3614428193677, telescope_dec_j2k=-24.1396091613867, observability=1)
2025-11-03T09:09:52.711 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:52
2025-11-03T09:09:52.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:52.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021560192108154297s
2025-11-03T09:09:52.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021560192108154297
2025-11-03T09:09:52.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:52
2025-11-03T09:09:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06793212890625s
2025-11-03T09:09:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06793212890625
2025-11-03T09:09:54.255 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:54.255 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.565962791442871s
2025-11-03T09:09:54.255 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:54.255 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:54.255 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:54.256 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:54.256 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:54.256 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:54.256 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:54.256 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.3860971;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40587;2460982.79854464;9.16503778;1.3;_
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.3860971;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40587;2460982.79854464;9.16503778;1.3;_
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:54.257 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:54.258 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:54.258 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:54.258 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:54.259 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.3860971, teldec = -24.256624
2025-11-03T09:09:54.259 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3860971 -24.256624
2025-11-03T09:09:54.259 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3860971 -24.256624
2025-11-03T09:09:54.259 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3860971 -24.256624
2025-11-03T09:09:54.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.3860971;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40587;2460982.79854468;9.16503778;1.3;_14.3618819158326 -24.1396183346023
2025-11-03T09:09:54.260 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.3618819158326     dec_j2k = -24.1396183346023
2025-11-03T09:09:54.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:54.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:54.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966905200356948;171.162351965909;_
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966905200356948;171.162351965909;_
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:54.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:54.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:54.263 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:54.263 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:54.263 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:54.268 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60305)
2025-11-03T09:09:54.269 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:54.269 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:54.269 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:54.269 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:54.269 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:54.270 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:54.270 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79854464, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966905200356948, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3860971, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3618819158326, telescope_dec_j2k=-24.1396183346023, observability=1)
2025-11-03T09:09:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:54
2025-11-03T09:09:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4898066520690918s
2025-11-03T09:09:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4898066520690918
2025-11-03T09:09:54.985 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:54
2025-11-03T09:09:54.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:54.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7145836353302002s
2025-11-03T09:09:54.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7145836353302002
2025-11-03T09:09:55.006 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:55
2025-11-03T09:09:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7357397079467773s
2025-11-03T09:09:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7357397079467773
2025-11-03T09:09:56.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:56
2025-11-03T09:09:56.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:56.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4851269721984863s
2025-11-03T09:09:56.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:56.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3867982;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40657;2460982.79857358;9.16573694;1.3;_
2025-11-03T09:09:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3867982;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40657;2460982.79857358;9.16573694;1.3;_
2025-11-03T09:09:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:56.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3867982, teldec = -24.256624
2025-11-03T09:09:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3867982 -24.256624
2025-11-03T09:09:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3867982 -24.256624
2025-11-03T09:09:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3867982 -24.256624
2025-11-03T09:09:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3867982;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40657;2460982.7985736;9.16573694;1.3;_14.3625823721603 -24.139632971163
2025-11-03T09:09:56.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3625823721603     dec_j2k = -24.139632971163
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966908008192945;171.162362694745;_
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966908008192945;171.162362694745;_
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33369)
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:56.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:56.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79857358, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966908008192945, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3867982, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40657, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3625823721603, telescope_dec_j2k=-24.139632971163, observability=1)
2025-11-03T09:09:57.639 [DEBUG] [Thread-88571 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:57.639 [DEBUG] [Thread-88571 (handle)] [server.py] [get_status()] Status age = 0.8658673763275146s
2025-11-03T09:09:57.639 [DEBUG] [Thread-88571 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8658673763275146
2025-11-03T09:09:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.173607349395752s
2025-11-03T09:09:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:09:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:09:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.387125;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40689;2460982.79858736;9.16606278;1.3;_
2025-11-03T09:09:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.387125;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40689;2460982.79858736;9.16606278;1.3;_
2025-11-03T09:09:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:09:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:09:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:09:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:09:57.950 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.387125, teldec = -24.256624
2025-11-03T09:09:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.387125 -24.256624
2025-11-03T09:09:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.387125 -24.256624
2025-11-03T09:09:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.387125 -24.256624
2025-11-03T09:09:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.387125;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40689;2460982.7985874;9.16606278;1.3;_14.3629088721522 -24.1396397949887
2025-11-03T09:09:57.951 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.3629088721522     dec_j2k = -24.1396397949887
2025-11-03T09:09:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:09:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:09:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096690479923752;171.162362694745;_
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096690479923752;171.162362694745;_
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:09:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:09:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:09:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59475)
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:09:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:09:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:09:57.969 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:09:57.969 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:09:57.969 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79858736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096690479923752, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.387125, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40689, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3629088721522, telescope_dec_j2k=-24.1396397949887, observability=1)
2025-11-03T09:09:58.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:09:58
2025-11-03T09:09:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:09:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.787949800491333s
2025-11-03T09:09:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.787949800491333
2025-11-03T09:10:00.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:00
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.786531448364258s
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3879099;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40768;2460982.79861987;9.16684556;1.3;_
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3879099;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40768;2460982.79861987;9.16684556;1.3;_
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:00.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3879099, teldec = -24.256624
2025-11-03T09:10:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3879099 -24.256624
2025-11-03T09:10:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3879099 -24.256624
2025-11-03T09:10:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3879099 -24.256624
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3879099;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40768;2460982.7986199;9.16684556;1.3;_14.3636930516612 -24.1396561878232
2025-11-03T09:10:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3636930516612     dec_j2k = -24.1396561878232
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966911217148369;171.162357330327;_
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966911217148369;171.162357330327;_
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55577)
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:00.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:00.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:00.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:00.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:00.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:00.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79861987, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966911217148369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3879099, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40768, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3636930516612, telescope_dec_j2k=-24.1396561878232, observability=1)
2025-11-03T09:10:02.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:02
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.897557258605957s
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3884419;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40821;2460982.79864206;9.16737611;1.3;_
2025-11-03T09:10:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3884419;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40821;2460982.79864206;9.16737611;1.3;_
2025-11-03T09:10:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:02.675 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3884419, teldec = -24.256624
2025-11-03T09:10:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3884419 -24.256624
2025-11-03T09:10:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3884419 -24.256624
2025-11-03T09:10:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3884419 -24.256624
2025-11-03T09:10:02.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3884419;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40821;2460982.79864208;9.16737611;1.3;_14.3642245633662 -24.1396673016212
2025-11-03T09:10:02.676 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3642245633662     dec_j2k = -24.1396673016212
2025-11-03T09:10:02.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:02.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:02.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966910414909513;171.162362694745;_
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966910414909513;171.162362694745;_
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:02.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:02.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:02.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:02.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:02.679 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36805)
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:02.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:02.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:02.692 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79864206, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966910414909513, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3884419, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40821, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3642245633662, telescope_dec_j2k=-24.1396673016212, observability=1)
2025-11-03T09:10:02.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:02
2025-11-03T09:10:02.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:02.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02444744110107422s
2025-11-03T09:10:02.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02444744110107422
2025-11-03T09:10:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:02
2025-11-03T09:10:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07056069374084473s
2025-11-03T09:10:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07056069374084473
2025-11-03T09:10:04.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:04
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7670562267303467s
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:04.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3889363;-24.256624;50.108601;89.993052;50.08601;90.12017;11.4087;2460982.79866273;9.16786917;1.3;_
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3889363;-24.256624;50.108601;89.993052;50.08601;90.12017;11.4087;2460982.79866273;9.16786917;1.3;_
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:04.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:04.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:04.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:04.461 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3889363, teldec = -24.256624
2025-11-03T09:10:04.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3889363 -24.256624
2025-11-03T09:10:04.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3889363 -24.256624
2025-11-03T09:10:04.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3889363 -24.256624
2025-11-03T09:10:04.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3889363;-24.256624;50.108601;89.993052;50.08601;90.12017;11.4087;2460982.79866275;9.16786917;1.3;_14.3647185096177 -24.1396776319922
2025-11-03T09:10:04.462 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3647185096177     dec_j2k = -24.1396776319922
2025-11-03T09:10:04.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966906403715232;171.162357330327;_
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966906403715232;171.162357330327;_
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:04.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:04.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58387)
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:04.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:04.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:04.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:04.474 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:04.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:04.475 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79866273, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966906403715232, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3889363, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4087, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3647185096177, telescope_dec_j2k=-24.1396776319922, observability=1)
2025-11-03T09:10:04.497 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:04
2025-11-03T09:10:04.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:04.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022463560104370117s
2025-11-03T09:10:04.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022463560104370117
2025-11-03T09:10:04.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:04
2025-11-03T09:10:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2863447666168213s
2025-11-03T09:10:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2863447666168213
2025-11-03T09:10:06.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:06
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8892691135406494s
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3894689;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40924;2460982.79868479;9.16840028;1.3;_
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3894689;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40924;2460982.79868479;9.16840028;1.3;_
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:06.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3894689, teldec = -24.256624
2025-11-03T09:10:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3894689 -24.256624
2025-11-03T09:10:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3894689 -24.256624
2025-11-03T09:10:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3894689 -24.256624
2025-11-03T09:10:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3894689;-24.256624;50.108601;89.993052;50.08601;90.12017;11.40924;2460982.79868482;9.16840028;1.3;_14.3652506208483 -24.1396887627629
2025-11-03T09:10:06.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3652506208483     dec_j2k = -24.1396887627629
2025-11-03T09:10:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966905200356948;171.162357330327;_
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966905200356948;171.162357330327;_
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34941)
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:06.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:06.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79868479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966905200356948, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108601, telescope_az=89.993052, telescope_ra=14.3894689, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40924, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3652506208483, telescope_dec_j2k=-24.1396887627629, observability=1)
2025-11-03T09:10:06.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:06
2025-11-03T09:10:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02245020866394043s
2025-11-03T09:10:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02245020866394043
2025-11-03T09:10:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:06
2025-11-03T09:10:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3738210201263428s
2025-11-03T09:10:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3738210201263428
2025-11-03T09:10:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:08
2025-11-03T09:10:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.371267795562744s
2025-11-03T09:10:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3901418;-24.256624;50.1086;89.993052;50.08601;90.12017;11.40991;2460982.79871248;9.16907139;1.3;_
2025-11-03T09:10:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3901418;-24.256624;50.1086;89.993052;50.08601;90.12017;11.40991;2460982.79871248;9.16907139;1.3;_
2025-11-03T09:10:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3901418, teldec = -24.256624
2025-11-03T09:10:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3901418 -24.256624
2025-11-03T09:10:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3901418 -24.256624
2025-11-03T09:10:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3901418 -24.256624
2025-11-03T09:10:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3901418;-24.256624;50.1086;89.993052;50.08601;90.12017;11.40991;2460982.79871251;9.16907139;1.3;_14.3659229033817 -24.1397028289452
2025-11-03T09:10:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3659229033817     dec_j2k = -24.1397028289452
2025-11-03T09:10:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966908008192945;171.162357330327;_
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966908008192945;171.162357330327;_
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32801)
2025-11-03T09:10:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79871248, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966908008192945, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3901418, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.40991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3659229033817, telescope_dec_j2k=-24.1397028289452, observability=1)
2025-11-03T09:10:09.352 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:09
2025-11-03T09:10:09.352 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:09.352 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5751404762268066s
2025-11-03T09:10:09.352 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5751404762268066
2025-11-03T09:10:09.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:09
2025-11-03T09:10:09.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:09.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5967319011688232s
2025-11-03T09:10:09.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5967319011688232
2025-11-03T09:10:10.527 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:10:10
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.749826192855835s
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:10.527 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:10.528 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:10.528 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:10.529 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:10.529 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:10.529 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:10.529 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:10.529 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:10.530 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3906373;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41041;2460982.79873297;9.16956556;1.3;_
2025-11-03T09:10:10.530 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.3906373;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41041;2460982.79873297;9.16956556;1.3;_
2025-11-03T09:10:10.530 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:10.530 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:10.530 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:10.531 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:10.531 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:10.531 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.3906373, teldec = -24.256624
2025-11-03T09:10:10.531 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3906373 -24.256624
2025-11-03T09:10:10.531 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3906373 -24.256624
2025-11-03T09:10:10.531 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3906373 -24.256624
2025-11-03T09:10:10.532 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.3906373;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41041;2460982.79873301;9.16956556;1.3;_14.3664179487414 -24.1397131891384
2025-11-03T09:10:10.532 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.3664179487414     dec_j2k = -24.1397131891384
2025-11-03T09:10:10.532 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:10.532 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:10.532 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966912019387225;171.162357330327;_
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966912019387225;171.162357330327;_
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:10.533 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:10.534 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:10.535 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:10.535 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:10.535 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35409)
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:10.536 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:10.544 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:10.545 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79873297, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966912019387225, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3906373, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41041, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:09:12.139774', telescope_ra_j2k=14.3664179487414, telescope_dec_j2k=-24.1397131891384, observability=1)
2025-11-03T09:10:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:10
2025-11-03T09:10:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2159717082977295s
2025-11-03T09:10:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2159717082977295
2025-11-03T09:10:11.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:11
2025-11-03T09:10:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8158581256866455s
2025-11-03T09:10:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8158581256866455
2025-11-03T09:10:11.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:11
2025-11-03T09:10:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8405675888061523s
2025-11-03T09:10:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8405675888061523
2025-11-03T09:10:12.282 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:12.282 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:12.282 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:12.282 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:12.283 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:12.284 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:12.284 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:12.285 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:12.285 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:12.285 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:12.285 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:10:12.285 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:12.285 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:12.285 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:12.285 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:12.285 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:10:12.286 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:10:12.287 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:12.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:12
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2096903324127197s
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:12.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:12.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3912549;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41102;2460982.79875875;9.17018139;1.3;_
2025-11-03T09:10:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3912549;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41102;2460982.79875875;9.17018139;1.3;_
2025-11-03T09:10:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:12.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3912549, teldec = -24.256624
2025-11-03T09:10:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3912549 -24.256624
2025-11-03T09:10:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3912549 -24.256624
2025-11-03T09:10:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3912549 -24.256624
2025-11-03T09:10:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3912549;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41102;2460982.79875877;9.17018139;1.3;_14.3670349821176 -24.1397261050561
2025-11-03T09:10:12.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3670349821176     dec_j2k = -24.1397261050561
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966912019387225;171.162368059163;_
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966912019387225;171.162368059163;_
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:12.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53803)
2025-11-03T09:10:12.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:12.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:12.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:12.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:12.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:12.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79875875, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966912019387225, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3912549, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3670349821176, telescope_dec_j2k=-24.1397261050561, observability=1)
2025-11-03T09:10:13.287 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:13.287 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:13.287 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:13.287 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:13.287 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:10:13.288 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:13.289 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:13.289 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:13.289 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:13.289 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:13.289 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:13.290 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:13.290 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:13.290 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:13.290 [DEBUG] [ThreadPoolExecutor-3386_0] [payload.py] [to_registers()] [0]
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58031)
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:13.291 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:13.298 [DEBUG] [ThreadPoolExecutor-3386_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:13.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:13
2025-11-03T09:10:13.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:13.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5993988513946533s
2025-11-03T09:10:13.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5993988513946533
2025-11-03T09:10:13.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:13
2025-11-03T09:10:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6239795684814453s
2025-11-03T09:10:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6239795684814453
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.0958759784698486s
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:13.871 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:13.872 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3915632;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41133;2460982.79877167;9.17048889;1.3;_
2025-11-03T09:10:13.872 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.3915632;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41133;2460982.79877167;9.17048889;1.3;_
2025-11-03T09:10:13.872 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:13.872 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:13.872 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:13.873 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:13.873 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:13.873 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.3915632, teldec = -24.256624
2025-11-03T09:10:13.873 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.3915632 -24.256624
2025-11-03T09:10:13.873 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.3915632 -24.256624
2025-11-03T09:10:13.873 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3915632 -24.256624
2025-11-03T09:10:13.874 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.3915632;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41133;2460982.79877169;9.17048889;1.3;_14.3673429992845 -24.1397325537164
2025-11-03T09:10:13.874 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.3673429992845     dec_j2k = -24.1397325537164
2025-11-03T09:10:13.874 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:13.874 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:13.874 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966910816028941;171.162357330327;_
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966910816028941;171.162357330327;_
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:13.875 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:13.876 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:13.877 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:13.877 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:13.877 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58051)
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:13.880 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:13.887 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:13.888 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:13.888 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:10:13.888 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79877167, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966910816028941, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3915632, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41133, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3673429992845, telescope_dec_j2k=-24.1397325537164, observability=1)
2025-11-03T09:10:13.888 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.360954523086548 seconds ago
2025-11-03T09:10:14.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:14
2025-11-03T09:10:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8684308528900146s
2025-11-03T09:10:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8684308528900146
2025-11-03T09:10:15.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:15
2025-11-03T09:10:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.47660493850708s
2025-11-03T09:10:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:15.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3919746;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41174;2460982.79878897;9.17089917;1.3;_
2025-11-03T09:10:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3919746;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41174;2460982.79878897;9.17089917;1.3;_
2025-11-03T09:10:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:15.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3919746, teldec = -24.256624
2025-11-03T09:10:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3919746 -24.256624
2025-11-03T09:10:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3919746 -24.256624
2025-11-03T09:10:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3919746 -24.256624
2025-11-03T09:10:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3919746;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41174;2460982.79878899;9.17089917;1.3;_14.3677540218885 -24.1397411601034
2025-11-03T09:10:15.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3677540218885     dec_j2k = -24.1397411601034
2025-11-03T09:10:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966915629462078;171.162357330327;_
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966915629462078;171.162357330327;_
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:15.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60853)
2025-11-03T09:10:15.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:15.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:15.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:15.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:15.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:15.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:15.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:15.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79878897, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966915629462078, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3919746, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41174, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3677540218885, telescope_dec_j2k=-24.1397411601034, observability=1)
2025-11-03T09:10:15.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:15
2025-11-03T09:10:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021398305892944336s
2025-11-03T09:10:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021398305892944336
2025-11-03T09:10:15.704 [DEBUG] [Thread-88572 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:15.704 [DEBUG] [Thread-88572 (handle)] [server.py] [get_status()] Status age = 0.31902360916137695s
2025-11-03T09:10:15.704 [DEBUG] [Thread-88572 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31902360916137695
2025-11-03T09:10:16.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:16
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3759348392486572s
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:16.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3923679;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41214;2460982.79880512;9.17129139;1.3;_
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3923679;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41214;2460982.79880512;9.17129139;1.3;_
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:16.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:16.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3923679, teldec = -24.256624
2025-11-03T09:10:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3923679 -24.256624
2025-11-03T09:10:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3923679 -24.256624
2025-11-03T09:10:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3923679 -24.256624
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3923679;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41214;2460982.79880515;9.17129139;1.3;_14.3681469611186 -24.1397493891266
2025-11-03T09:10:16.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3681469611186     dec_j2k = -24.1397493891266
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966911217148369;171.162362694745;_
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966911217148369;171.162362694745;_
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52657)
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:16.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:16.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79880512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966911217148369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3923679, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41214, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3681469611186, telescope_dec_j2k=-24.1397493891266, observability=1)
2025-11-03T09:10:17.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:17
2025-11-03T09:10:17.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:17.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5873982906341553s
2025-11-03T09:10:17.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5873982906341553
2025-11-03T09:10:17.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:17
2025-11-03T09:10:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6094667911529541s
2025-11-03T09:10:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6094667911529541
2025-11-03T09:10:18.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:18
2025-11-03T09:10:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788074493408203s
2025-11-03T09:10:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3929286;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4127;2460982.79882823;9.17185056;1.3;_
2025-11-03T09:10:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3929286;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4127;2460982.79882823;9.17185056;1.3;_
2025-11-03T09:10:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:18.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3929286, teldec = -24.256624
2025-11-03T09:10:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3929286 -24.256624
2025-11-03T09:10:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3929286 -24.256624
2025-11-03T09:10:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3929286 -24.256624
2025-11-03T09:10:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3929286;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4127;2460982.79882826;9.17185056;1.3;_14.3687071468319 -24.1397611228325
2025-11-03T09:10:18.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3687071468319     dec_j2k = -24.1397611228325
2025-11-03T09:10:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966914426103793;171.162357330327;_
2025-11-03T09:10:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966914426103793;171.162357330327;_
2025-11-03T09:10:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:18.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45169)
2025-11-03T09:10:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:18.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:18.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79882823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966914426103793, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3929286, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4127, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3687071468319, telescope_dec_j2k=-24.1397611228325, observability=1)
2025-11-03T09:10:19.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:19
2025-11-03T09:10:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5844504833221436s
2025-11-03T09:10:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5844504833221436
2025-11-03T09:10:19.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:19
2025-11-03T09:10:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6056637763977051s
2025-11-03T09:10:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6056637763977051
2025-11-03T09:10:20.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:20
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9873709678649902s
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3934812;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41325;2460982.79885148;9.17240167;1.3;_
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3934812;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41325;2460982.79885148;9.17240167;1.3;_
2025-11-03T09:10:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3934812, teldec = -24.256624
2025-11-03T09:10:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3934812 -24.256624
2025-11-03T09:10:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3934812 -24.256624
2025-11-03T09:10:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3934812 -24.256624
2025-11-03T09:10:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3934812;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41325;2460982.79885152;9.17240167;1.3;_14.3692592400178 -24.1397726895254
2025-11-03T09:10:20.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3692592400178     dec_j2k = -24.1397726895254
2025-11-03T09:10:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966912821626081;171.162362694745;_
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966912821626081;171.162362694745;_
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:20.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43649)
2025-11-03T09:10:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:20.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:20.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79885148, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966912821626081, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3934812, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41325, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3692592400178, telescope_dec_j2k=-24.1397726895254, observability=1)
2025-11-03T09:10:21.522 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:21
2025-11-03T09:10:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7354445457458496s
2025-11-03T09:10:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7354445457458496
2025-11-03T09:10:21.545 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:21
2025-11-03T09:10:21.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:21.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7592508792877197s
2025-11-03T09:10:21.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7592508792877197
2025-11-03T09:10:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:22
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784748554229736s
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3940422;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41381;2460982.79887462;9.17296111;1.3;_
2025-11-03T09:10:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3940422;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41381;2460982.79887462;9.17296111;1.3;_
2025-11-03T09:10:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3940422, teldec = -24.256624
2025-11-03T09:10:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3940422 -24.256624
2025-11-03T09:10:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3940422 -24.256624
2025-11-03T09:10:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3940422 -24.256624
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3940422;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41381;2460982.79887465;9.17296111;1.3;_14.3698197255434 -24.1397844345754
2025-11-03T09:10:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3698197255434     dec_j2k = -24.1397844345754
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966914024984365;171.162362694745;_
2025-11-03T09:10:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966914024984365;171.162362694745;_
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43389)
2025-11-03T09:10:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:22.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:22.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79887462, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966914024984365, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3940422, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3698197255434, telescope_dec_j2k=-24.1397844345754, observability=1)
2025-11-03T09:10:23.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:23
2025-11-03T09:10:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5791995525360107s
2025-11-03T09:10:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5791995525360107
2025-11-03T09:10:23.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:23
2025-11-03T09:10:23.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:23.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6032702922821045s
2025-11-03T09:10:23.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6032702922821045
2025-11-03T09:10:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:24
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9731972217559814s
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3945943;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41436;2460982.79889768;9.17351167;1.3;_
2025-11-03T09:10:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3945943;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41436;2460982.79889768;9.17351167;1.3;_
2025-11-03T09:10:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3945943, teldec = -24.256624
2025-11-03T09:10:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3945943 -24.256624
2025-11-03T09:10:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3945943 -24.256624
2025-11-03T09:10:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3945943 -24.256624
2025-11-03T09:10:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3945943;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41436;2460982.79889771;9.17351167;1.3;_14.370371319274 -24.1397959957875
2025-11-03T09:10:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.370371319274     dec_j2k = -24.1397959957875
2025-11-03T09:10:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966911618267797;171.162362694745;_
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966911618267797;171.162362694745;_
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33271)
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:24.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:24.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79889768, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966911618267797, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3945943, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.370371319274, telescope_dec_j2k=-24.1397959957875, observability=1)
2025-11-03T09:10:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:25
2025-11-03T09:10:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5852599143981934s
2025-11-03T09:10:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5852599143981934
2025-11-03T09:10:25.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:25
2025-11-03T09:10:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6067016124725342s
2025-11-03T09:10:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6067016124725342
2025-11-03T09:10:26.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:26
2025-11-03T09:10:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9845225811004639s
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3951558;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41492;2460982.79892086;9.17407167;1.3;_
2025-11-03T09:10:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3951558;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41492;2460982.79892086;9.17407167;1.3;_
2025-11-03T09:10:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:26.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3951558, teldec = -24.256624
2025-11-03T09:10:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3951558 -24.256624
2025-11-03T09:10:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3951558 -24.256624
2025-11-03T09:10:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3951558 -24.256624
2025-11-03T09:10:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3951558;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41492;2460982.79892088;9.17407167;1.3;_14.3709323044286 -24.1398077563746
2025-11-03T09:10:26.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3709323044286     dec_j2k = -24.1398077563746
2025-11-03T09:10:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966912821626081;171.162357330327;_
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966912821626081;171.162357330327;_
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50149)
2025-11-03T09:10:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:26.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79892086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966912821626081, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3951558, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41492, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3709323044286, telescope_dec_j2k=-24.1398077563746, observability=1)
2025-11-03T09:10:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:27
2025-11-03T09:10:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5793673992156982s
2025-11-03T09:10:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5793673992156982
2025-11-03T09:10:27.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:27
2025-11-03T09:10:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.602501630783081s
2025-11-03T09:10:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.602501630783081
2025-11-03T09:10:28.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:28
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.972764492034912s
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3957157;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41548;2460982.79894395;9.17463;1.3;_
2025-11-03T09:10:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3957157;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41548;2460982.79894395;9.17463;1.3;_
2025-11-03T09:10:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:28.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3957157, teldec = -24.256624
2025-11-03T09:10:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3957157 -24.256624
2025-11-03T09:10:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3957157 -24.256624
2025-11-03T09:10:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3957157 -24.256624
2025-11-03T09:10:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3957157;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41548;2460982.79894397;9.17463;1.3;_14.3714916910943 -24.139819485995
2025-11-03T09:10:28.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3714916910943     dec_j2k = -24.139819485995
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966910013790085;171.162357330327;_
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966910013790085;171.162357330327;_
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49557)
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:28.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:28.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79894395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966910013790085, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3957157, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41548, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3714916910943, telescope_dec_j2k=-24.139819485995, observability=1)
2025-11-03T09:10:29.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:29
2025-11-03T09:10:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5903892517089844s
2025-11-03T09:10:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5903892517089844
2025-11-03T09:10:29.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:29
2025-11-03T09:10:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6118464469909668s
2025-11-03T09:10:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6118464469909668
2025-11-03T09:10:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:30
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990441083908081s
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3962672;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41604;2460982.79896718;9.17518;1.3;_
2025-11-03T09:10:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3962672;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41604;2460982.79896718;9.17518;1.3;_
2025-11-03T09:10:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3962672, teldec = -24.256624
2025-11-03T09:10:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3962672 -24.256624
2025-11-03T09:10:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3962672 -24.256624
2025-11-03T09:10:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3962672 -24.256624
2025-11-03T09:10:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3962672;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41604;2460982.7989672;9.17518;1.3;_14.3720426855043 -24.1398310421242
2025-11-03T09:10:30.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3720426855043     dec_j2k = -24.1398310421242
2025-11-03T09:10:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966916431700934;171.162362694745;_
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966916431700934;171.162362694745;_
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60403)
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:30.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:30.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79896718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966916431700934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3962672, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41604, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3720426855043, telescope_dec_j2k=-24.1398310421242, observability=1)
2025-11-03T09:10:31.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:31
2025-11-03T09:10:31.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:31.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6773595809936523s
2025-11-03T09:10:31.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6773595809936523
2025-11-03T09:10:31.477 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:31
2025-11-03T09:10:31.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:31.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6984138488769531s
2025-11-03T09:10:31.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6984138488769531
2025-11-03T09:10:32.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:32
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9744794368743896s
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:32.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3968273;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4166;2460982.79899021;9.17573861;1.3;_
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3968273;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4166;2460982.79899021;9.17573861;1.3;_
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:32.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:32.755 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3968273, teldec = -24.256624
2025-11-03T09:10:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3968273 -24.256624
2025-11-03T09:10:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3968273 -24.256624
2025-11-03T09:10:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3968273 -24.256624
2025-11-03T09:10:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3968273;-24.256624;50.1086;89.993052;50.08601;90.12017;11.4166;2460982.79899023;9.17573861;1.3;_14.3726022720738 -24.1398427809811
2025-11-03T09:10:32.756 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3726022720738     dec_j2k = -24.1398427809811
2025-11-03T09:10:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966918437298074;171.162357330327;_
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966918437298074;171.162357330327;_
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39039)
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:32.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:32.770 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:32.770 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:32.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:32.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:32.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79899021, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966918437298074, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3968273, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4166, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3726022720738, telescope_dec_j2k=-24.1398427809811, observability=1)
2025-11-03T09:10:33.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:33
2025-11-03T09:10:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5916080474853516s
2025-11-03T09:10:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5916080474853516
2025-11-03T09:10:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:33
2025-11-03T09:10:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.613525390625s
2025-11-03T09:10:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.613525390625
2025-11-03T09:10:33.765 [DEBUG] [Thread-88573 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:33.765 [DEBUG] [Thread-88573 (handle)] [server.py] [get_status()] Status age = 0.9940829277038574s
2025-11-03T09:10:33.765 [DEBUG] [Thread-88573 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9940829277038574
2025-11-03T09:10:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:34
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9938585758209229s
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3973869;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41716;2460982.7990135;9.17629667;1.3;_
2025-11-03T09:10:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3973869;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41716;2460982.7990135;9.17629667;1.3;_
2025-11-03T09:10:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:34.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3973869, teldec = -24.256624
2025-11-03T09:10:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3973869 -24.256624
2025-11-03T09:10:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3973869 -24.256624
2025-11-03T09:10:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3973869 -24.256624
2025-11-03T09:10:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3973869;-24.256624;50.1086;89.993052;50.08601;90.12017;11.41716;2460982.79901352;9.17629667;1.3;_14.3731613591457 -24.139854511898
2025-11-03T09:10:34.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3731613591457     dec_j2k = -24.139854511898
2025-11-03T09:10:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966910816028941;171.162362694745;_
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966910816028941;171.162362694745;_
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:34.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37727)
2025-11-03T09:10:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:34.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:34.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:34.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:34.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:34.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:34.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7990135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966910816028941, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3973869, telescope_dec=-24.256624, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41716, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3731613591457, telescope_dec_j2k=-24.139854511898, observability=1)
2025-11-03T09:10:35.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:35
2025-11-03T09:10:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5978362560272217s
2025-11-03T09:10:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5978362560272217
2025-11-03T09:10:35.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:35
2025-11-03T09:10:35.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:35.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6218934059143066s
2025-11-03T09:10:35.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6218934059143066
2025-11-03T09:10:36.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:36
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860272407531738s
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3979379;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41771;2460982.79903671;9.17684611;1.3;_
2025-11-03T09:10:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3979379;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41771;2460982.79903671;9.17684611;1.3;_
2025-11-03T09:10:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3979379, teldec = -24.256623
2025-11-03T09:10:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3979379 -24.256623
2025-11-03T09:10:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3979379 -24.256623
2025-11-03T09:10:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3979379 -24.256623
2025-11-03T09:10:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3979379;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41771;2460982.79903674;9.17684611;1.3;_14.3737118542552 -24.1398650650136
2025-11-03T09:10:36.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3737118542552     dec_j2k = -24.1398650650136
2025-11-03T09:10:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966918036178646;171.162357330327;_
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966918036178646;171.162357330327;_
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51675)
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:36.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:36.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79903671, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966918036178646, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3979379, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41771, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3737118542552, telescope_dec_j2k=-24.1398650650136, observability=1)
2025-11-03T09:10:38.298 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:38.298 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:38.299 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:38.299 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:38.299 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:38.300 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:10:38.301 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:10:38.302 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:38.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:38
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9669766426086426s
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3984986;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41827;2460982.79905969;9.17740528;1.3;_
2025-11-03T09:10:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3984986;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41827;2460982.79905969;9.17740528;1.3;_
2025-11-03T09:10:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:38.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3984986, teldec = -24.256623
2025-11-03T09:10:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3984986 -24.256623
2025-11-03T09:10:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3984986 -24.256623
2025-11-03T09:10:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3984986 -24.256623
2025-11-03T09:10:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3984986;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41827;2460982.79905971;9.17740528;1.3;_14.3742720404061 -24.1398768240389
2025-11-03T09:10:38.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3742720404061     dec_j2k = -24.1398768240389
2025-11-03T09:10:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966919640656358;171.162351965909;_
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966919640656358;171.162351965909;_
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36185)
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:38.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:38.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:38.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:38.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:38.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79905969, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966919640656358, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3984986, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41827, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3742720404061, telescope_dec_j2k=-24.1398768240389, observability=1)
2025-11-03T09:10:39.692 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:39
2025-11-03T09:10:39.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:39.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9173815250396729s
2025-11-03T09:10:39.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9173815250396729
2025-11-03T09:10:39.714 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:39
2025-11-03T09:10:39.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:39.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9392356872558594s
2025-11-03T09:10:39.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9392356872558594
2025-11-03T09:10:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:40
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9870567321777344s
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3990579;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41883;2460982.79908292;9.17796306;1.3;_
2025-11-03T09:10:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3990579;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41883;2460982.79908292;9.17796306;1.3;_
2025-11-03T09:10:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3990579, teldec = -24.256623
2025-11-03T09:10:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3990579 -24.256623
2025-11-03T09:10:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3990579 -24.256623
2025-11-03T09:10:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3990579 -24.256623
2025-11-03T09:10:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3990579;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41883;2460982.79908294;9.17796306;1.3;_14.3748308278841 -24.1398885562411
2025-11-03T09:10:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3748308278841     dec_j2k = -24.1398885562411
2025-11-03T09:10:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096692124513407;171.162357330327;_
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096692124513407;171.162357330327;_
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:40.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45919)
2025-11-03T09:10:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:40.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:40.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:40.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79908292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096692124513407, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3990579, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41883, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3748308278841, telescope_dec_j2k=-24.1398885562411, observability=1)
2025-11-03T09:10:41.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:41
2025-11-03T09:10:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037740707397461s
2025-11-03T09:10:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037740707397461
2025-11-03T09:10:41.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:41
2025-11-03T09:10:41.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:41.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6265227794647217s
2025-11-03T09:10:41.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6265227794647217
2025-11-03T09:10:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:42
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978534460067749s
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3996088;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41938;2460982.79910606;9.1785125;1.3;_
2025-11-03T09:10:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.3996088;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41938;2460982.79910606;9.1785125;1.3;_
2025-11-03T09:10:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.3996088, teldec = -24.256623
2025-11-03T09:10:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.3996088 -24.256623
2025-11-03T09:10:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.3996088 -24.256623
2025-11-03T09:10:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.3996088 -24.256623
2025-11-03T09:10:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.3996088;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41938;2460982.79910609;9.1785125;1.3;_14.3753812231024 -24.1399001147176
2025-11-03T09:10:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3753812231024     dec_j2k = -24.1399001147176
2025-11-03T09:10:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966914827223221;171.162357330327;_
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966914827223221;171.162357330327;_
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49019)
2025-11-03T09:10:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:42.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79910606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966914827223221, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.3996088, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3753812231024, telescope_dec_j2k=-24.1399001147176, observability=1)
2025-11-03T09:10:43.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:43
2025-11-03T09:10:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5794422626495361s
2025-11-03T09:10:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5794422626495361
2025-11-03T09:10:43.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:43
2025-11-03T09:10:43.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:43.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6047356128692627s
2025-11-03T09:10:43.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6047356128692627
2025-11-03T09:10:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:44
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788525104522705s
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4001701;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41994;2460982.79912921;9.17907222;1.3;_
2025-11-03T09:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4001701;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41994;2460982.79912921;9.17907222;1.3;_
2025-11-03T09:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:44.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4001701, teldec = -24.256623
2025-11-03T09:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4001701 -24.256623
2025-11-03T09:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4001701 -24.256623
2025-11-03T09:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4001701 -24.256623
2025-11-03T09:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4001701;-24.256623;50.1086;89.993052;50.08601;90.12017;11.41994;2460982.79912924;9.17907222;1.3;_14.3759420088352 -24.139911893926
2025-11-03T09:10:44.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3759420088352     dec_j2k = -24.139911893926
2025-11-03T09:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966920844014642;171.162362694745;_
2025-11-03T09:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966920844014642;171.162362694745;_
2025-11-03T09:10:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54065)
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79912921, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966920844014642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4001701, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.41994, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3759420088352, telescope_dec_j2k=-24.139911893926, observability=1)
2025-11-03T09:10:45.721 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:45
2025-11-03T09:10:45.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:45.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9384198188781738s
2025-11-03T09:10:45.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9384198188781738
2025-11-03T09:10:45.742 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:45
2025-11-03T09:10:45.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:45.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9592158794403076s
2025-11-03T09:10:45.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9592158794403076
2025-11-03T09:10:46.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:46
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851462841033936s
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4007299;-24.256623;50.1086;89.993052;50.08601;90.12017;11.4205;2460982.79915242;9.17963056;1.3;_
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4007299;-24.256623;50.1086;89.993052;50.08601;90.12017;11.4205;2460982.79915242;9.17963056;1.3;_
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:46.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4007299, teldec = -24.256623
2025-11-03T09:10:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4007299 -24.256623
2025-11-03T09:10:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4007299 -24.256623
2025-11-03T09:10:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4007299 -24.256623
2025-11-03T09:10:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4007299;-24.256623;50.1086;89.993052;50.08601;90.12017;11.4205;2460982.79915244;9.17963056;1.3;_14.3765012959864 -24.1399236441979
2025-11-03T09:10:46.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3765012959864     dec_j2k = -24.1399236441979
2025-11-03T09:10:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966916431700934;171.162362694745;_
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966916431700934;171.162362694745;_
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48325)
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:46.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:46.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79915242, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966916431700934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4007299, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3765012959864, telescope_dec_j2k=-24.1399236441979, observability=1)
2025-11-03T09:10:46.972 [DEBUG] [Thread-88574 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:46.972 [DEBUG] [Thread-88574 (handle)] [server.py] [get_status()] Status age = 0.18912076950073242s
2025-11-03T09:10:46.972 [DEBUG] [Thread-88574 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18912076950073242
2025-11-03T09:10:47.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:47
2025-11-03T09:10:47.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:47.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5876379013061523s
2025-11-03T09:10:47.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5876379013061523
2025-11-03T09:10:47.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:47
2025-11-03T09:10:47.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:47.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6089308261871338s
2025-11-03T09:10:47.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6089308261871338
2025-11-03T09:10:48.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:48
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784197807312012s
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4012806;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42105;2460982.7991755;9.18017972;1.3;_
2025-11-03T09:10:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4012806;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42105;2460982.7991755;9.18017972;1.3;_
2025-11-03T09:10:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4012806, teldec = -24.256623
2025-11-03T09:10:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4012806 -24.256623
2025-11-03T09:10:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4012806 -24.256623
2025-11-03T09:10:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4012806 -24.256623
2025-11-03T09:10:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4012806;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42105;2460982.79917552;9.18017972;1.3;_14.3770514915173 -24.1399352059363
2025-11-03T09:10:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3770514915173     dec_j2k = -24.1399352059363
2025-11-03T09:10:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966919640656358;171.162351965909;_
2025-11-03T09:10:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966919640656358;171.162351965909;_
2025-11-03T09:10:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45915)
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:48.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:48.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7991755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966919640656358, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4012806, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3770514915173, telescope_dec_j2k=-24.1399352059363, observability=1)
2025-11-03T09:10:49.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:49
2025-11-03T09:10:49.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:49.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6077656745910645s
2025-11-03T09:10:49.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6077656745910645
2025-11-03T09:10:49.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:49
2025-11-03T09:10:49.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:49.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6286420822143555s
2025-11-03T09:10:49.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6286420822143555
2025-11-03T09:10:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:50
2025-11-03T09:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979949951171875s
2025-11-03T09:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.401841;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42161;2460982.79919863;9.18073861;1.3;_
2025-11-03T09:10:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.401841;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42161;2460982.79919863;9.18073861;1.3;_
2025-11-03T09:10:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.401841, teldec = -24.256623
2025-11-03T09:10:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.401841 -24.256623
2025-11-03T09:10:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.401841 -24.256623
2025-11-03T09:10:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.401841 -24.256623
2025-11-03T09:10:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.401841;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42161;2460982.79919867;9.18073861;1.3;_14.3776113782062 -24.1399469738439
2025-11-03T09:10:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3776113782062     dec_j2k = -24.1399469738439
2025-11-03T09:10:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966922047372926;171.162362694745;_
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966922047372926;171.162362694745;_
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43427)
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:50.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:50.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:50.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:50.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79919863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966922047372926, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.401841, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3776113782062, telescope_dec_j2k=-24.1399469738439, observability=1)
2025-11-03T09:10:51.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:51
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0030517578125s
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:51.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4021213;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42189;2460982.79921045;9.18101806;1.3;_
2025-11-03T09:10:51.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4021213;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42189;2460982.79921045;9.18101806;1.3;_
2025-11-03T09:10:51.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:51.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:51.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:51.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:51.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:51.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4021213, teldec = -24.256623
2025-11-03T09:10:51.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4021213 -24.256623
2025-11-03T09:10:51.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4021213 -24.256623
2025-11-03T09:10:51.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4021213 -24.256623
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4021213;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42189;2460982.79921049;9.18101806;1.3;_14.3778914214756 -24.1399528608518
2025-11-03T09:10:51.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3778914214756     dec_j2k = -24.1399528608518
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966918036178646;171.162357330327;_
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966918036178646;171.162357330327;_
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:51.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:51.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:51.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:51.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:51.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:51.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:51.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:51.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:51.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:51.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53891)
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:51.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:51.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:51.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:51.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:51.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:51.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79921045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966918036178646, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4021213, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3778914214756, telescope_dec_j2k=-24.1399528608518, observability=1)
2025-11-03T09:10:51.820 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:51
2025-11-03T09:10:51.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:51.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02158641815185547s
2025-11-03T09:10:51.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02158641815185547
2025-11-03T09:10:51.902 [DEBUG] [Thread-88575 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:51.902 [DEBUG] [Thread-88575 (handle)] [server.py] [get_status()] Status age = 0.10325288772583008s
2025-11-03T09:10:51.902 [DEBUG] [Thread-88575 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10325288772583008
2025-11-03T09:10:52.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:52
2025-11-03T09:10:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9662187099456787s
2025-11-03T09:10:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9662187099456787
2025-11-03T09:10:53.361 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5627493858337402s
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:53.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:53.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4025689;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42234;2460982.79922874;9.18146444;1.3;_
2025-11-03T09:10:53.363 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.4025689;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42234;2460982.79922874;9.18146444;1.3;_
2025-11-03T09:10:53.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:53.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:53.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:53.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:53.364 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:53.364 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.4025689, teldec = -24.256623
2025-11-03T09:10:53.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4025689 -24.256623
2025-11-03T09:10:53.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4025689 -24.256623
2025-11-03T09:10:53.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4025689 -24.256623
2025-11-03T09:10:53.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4025689;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42234;2460982.79922876;9.18146444;1.3;_14.3783386115356 -24.1399622629012
2025-11-03T09:10:53.365 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.3783386115356     dec_j2k = -24.1399622629012
2025-11-03T09:10:53.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:53.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:53.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966922849611783;171.162362694745;_
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966922849611783;171.162362694745;_
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:53.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:53.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:53.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:53.367 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:53.367 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42987)
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:53.371 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:53.379 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:53.379 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79922874, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966922849611783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4025689, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42234, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3783386115356, telescope_dec_j2k=-24.1399622629012, observability=1)
2025-11-03T09:10:53.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:53
2025-11-03T09:10:53.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:53.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03269505500793457s
2025-11-03T09:10:53.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03269505500793457
2025-11-03T09:10:53.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:53
2025-11-03T09:10:53.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:53.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06017351150512695s
2025-11-03T09:10:53.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06017351150512695
2025-11-03T09:10:54.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:54
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3874614238739014s
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4029602;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42273;2460982.79924501;9.18185472;1.3;_
2025-11-03T09:10:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4029602;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42273;2460982.79924501;9.18185472;1.3;_
2025-11-03T09:10:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:54.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4029602, teldec = -24.256623
2025-11-03T09:10:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4029602 -24.256623
2025-11-03T09:10:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4029602 -24.256623
2025-11-03T09:10:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4029602 -24.256623
2025-11-03T09:10:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4029602;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42273;2460982.79924503;9.18185472;1.3;_14.3787295531817 -24.1399704836715
2025-11-03T09:10:54.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3787295531817     dec_j2k = -24.1399704836715
2025-11-03T09:10:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966925657447779;171.162357330327;_
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966925657447779;171.162357330327;_
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36819)
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:54.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:54.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79924501, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966925657447779, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4029602, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42273, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3787295531817, telescope_dec_j2k=-24.1399704836715, observability=1)
2025-11-03T09:10:55.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:55
2025-11-03T09:10:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5771594047546387s
2025-11-03T09:10:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5771594047546387
2025-11-03T09:10:55.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:55
2025-11-03T09:10:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5988671779632568s
2025-11-03T09:10:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5988671779632568
2025-11-03T09:10:56.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:56
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9718940258026123s
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4035117;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42328;2460982.79926804;9.18240472;1.3;_
2025-11-03T09:10:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4035117;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42328;2460982.79926804;9.18240472;1.3;_
2025-11-03T09:10:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4035117, teldec = -24.256623
2025-11-03T09:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4035117 -24.256623
2025-11-03T09:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4035117 -24.256623
2025-11-03T09:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4035117 -24.256623
2025-11-03T09:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4035117;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42328;2460982.79926808;9.18240472;1.3;_14.3792805481527 -24.1399820721675
2025-11-03T09:10:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3792805481527     dec_j2k = -24.1399820721675
2025-11-03T09:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966925256328351;171.162357330327;_
2025-11-03T09:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966925256328351;171.162357330327;_
2025-11-03T09:10:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:56.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51469)
2025-11-03T09:10:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:56.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:56.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79926804, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966925256328351, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4035117, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42328, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3792805481527, telescope_dec_j2k=-24.1399820721675, observability=1)
2025-11-03T09:10:57.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:57
2025-11-03T09:10:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5930943489074707s
2025-11-03T09:10:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5930943489074707
2025-11-03T09:10:57.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:57
2025-11-03T09:10:57.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:57.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6139674186706543s
2025-11-03T09:10:57.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6139674186706543
2025-11-03T09:10:57.916 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1431965827941895s
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:10:57.917 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:10:57.918 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:10:57.919 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4038201;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42359;2460982.79928147;9.18271222;1.3;_
2025-11-03T09:10:57.919 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4038201;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42359;2460982.79928147;9.18271222;1.3;_
2025-11-03T09:10:57.919 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:10:57.919 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:10:57.919 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:10:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:10:57.920 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4038201, teldec = -24.256623
2025-11-03T09:10:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4038201 -24.256623
2025-11-03T09:10:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4038201 -24.256623
2025-11-03T09:10:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4038201 -24.256623
2025-11-03T09:10:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4038479;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42362;2460982.79928149;9.18274;1.3;_14.379588665758 -24.1399885535531
2025-11-03T09:10:57.921 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.379588665758     dec_j2k = -24.1399885535531
2025-11-03T09:10:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:10:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:10:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966926860806063;171.162357330327;_
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966926860806063;171.162357330327;_
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:10:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:10:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:10:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:10:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:10:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:10:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45861)
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:10:57.927 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:10:57.934 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:10:57.935 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:10:57.935 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79928147, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966926860806063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4038201, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42359, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.379588665758, telescope_dec_j2k=-24.1399885535531, observability=1)
2025-11-03T09:10:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:10:58
2025-11-03T09:10:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:10:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8238558769226074s
2025-11-03T09:10:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8238558769226074
2025-11-03T09:11:00.186 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:00
2025-11-03T09:11:00.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:00.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2514395713806152s
2025-11-03T09:11:00.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:00.187 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:00.187 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:00.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:00.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:00.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:00.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:00.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4044638;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42423;2460982.79930774;9.18335417;1.3;_
2025-11-03T09:11:00.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4044638;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42423;2460982.79930774;9.18335417;1.3;_
2025-11-03T09:11:00.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:00.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:00.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:00.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:00.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:00.190 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4044638, teldec = -24.256623
2025-11-03T09:11:00.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4044638 -24.256623
2025-11-03T09:11:00.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4044638 -24.256623
2025-11-03T09:11:00.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4044638 -24.256623
2025-11-03T09:11:00.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4044638;-24.256623;50.1086;89.993052;50.08601;90.12017;11.42423;2460982.79930777;9.18335417;1.3;_14.38023177638 -24.1400020841397
2025-11-03T09:11:00.191 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.38023177638     dec_j2k = -24.1400020841397
2025-11-03T09:11:00.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:00.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:00.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966930872000344;171.162357330327;_
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966930872000344;171.162357330327;_
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:00.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:00.193 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:00.194 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:00.194 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:00.194 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:00.199 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55223)
2025-11-03T09:11:00.199 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:00.200 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:00.200 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:00.200 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:00.200 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:00.207 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:00.208 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79930774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966930872000344, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.1086, telescope_az=89.993052, telescope_ra=14.4044638, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42423, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.38023177638, telescope_dec_j2k=-24.1400020841397, observability=1)
2025-11-03T09:11:00.232 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:00
2025-11-03T09:11:00.233 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:00.233 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0250852108001709s
2025-11-03T09:11:00.233 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0250852108001709
2025-11-03T09:11:00.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:00
2025-11-03T09:11:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5486071109771729s
2025-11-03T09:11:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5486071109771729
2025-11-03T09:11:01.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:01
2025-11-03T09:11:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.154921054840088s
2025-11-03T09:11:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4047908;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42456;2460982.79932133;9.18368028;1.3;_
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4047908;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42456;2460982.79932133;9.18368028;1.3;_
2025-11-03T09:11:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:01.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4047908, teldec = -24.256623
2025-11-03T09:11:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4047908 -24.256623
2025-11-03T09:11:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4047908 -24.256623
2025-11-03T09:11:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4047908 -24.256623
2025-11-03T09:11:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4047908;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42456;2460982.79932137;9.18368028;1.3;_14.3805584769979 -24.1400089589707
2025-11-03T09:11:01.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3805584769979     dec_j2k = -24.1400089589707
2025-11-03T09:11:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966923250731211;171.162357330327;_
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966923250731211;171.162357330327;_
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:01.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:01.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55621)
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:01.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:01.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:01.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:01.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:01.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:01.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:01.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:01.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79932133, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966923250731211, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4047908, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42456, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3805584769979, telescope_dec_j2k=-24.1400089589707, observability=1)
2025-11-03T09:11:01.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:01
2025-11-03T09:11:01.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:01.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022269487380981445s
2025-11-03T09:11:01.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022269487380981445
2025-11-03T09:11:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:02
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.377964735031128s
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4051835;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42495;2460982.7993375;9.18407194;1.3;_
2025-11-03T09:11:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4051835;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42495;2460982.7993375;9.18407194;1.3;_
2025-11-03T09:11:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:02.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4051835, teldec = -24.256623
2025-11-03T09:11:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4051835 -24.256623
2025-11-03T09:11:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4051835 -24.256623
2025-11-03T09:11:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4051835 -24.256623
2025-11-03T09:11:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4051835;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42495;2460982.79933752;9.18407194;1.3;_14.3809508174847 -24.1400172162189
2025-11-03T09:11:02.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3809508174847     dec_j2k = -24.1400172162189
2025-11-03T09:11:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966922047372926;171.162351965909;_
2025-11-03T09:11:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966922047372926;171.162351965909;_
2025-11-03T09:11:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35241)
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:02.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:02.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:02.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7993375, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966922047372926, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4051835, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42495, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3809508174847, telescope_dec_j2k=-24.1400172162189, observability=1)
2025-11-03T09:11:03.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:03
2025-11-03T09:11:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5887055397033691s
2025-11-03T09:11:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5887055397033691
2025-11-03T09:11:03.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:03
2025-11-03T09:11:03.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:03.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6106417179107666s
2025-11-03T09:11:03.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6106417179107666
2025-11-03T09:11:04.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:04
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.991837978363037s
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4057439;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42551;2460982.79936076;9.18463083;1.3;_
2025-11-03T09:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4057439;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42551;2460982.79936076;9.18463083;1.3;_
2025-11-03T09:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:04.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4057439, teldec = -24.256623
2025-11-03T09:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4057439 -24.256623
2025-11-03T09:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4057439 -24.256623
2025-11-03T09:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4057439 -24.256623
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4057439;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42551;2460982.79936079;9.18463083;1.3;_14.3815107044812 -24.140029001833
2025-11-03T09:11:04.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3815107044812     dec_j2k = -24.140029001833
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966923250731211;171.162357330327;_
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966923250731211;171.162357330327;_
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49403)
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:04.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:04.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:04.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:04.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:04.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:04.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:04.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:04.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79936076, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966923250731211, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4057439, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42551, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3815107044812, telescope_dec_j2k=-24.140029001833, observability=1)
2025-11-03T09:11:05.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:05
2025-11-03T09:11:05.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:05.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5860481262207031s
2025-11-03T09:11:05.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5860481262207031
2025-11-03T09:11:05.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:05
2025-11-03T09:11:05.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:05.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6119203567504883s
2025-11-03T09:11:05.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6119203567504883
2025-11-03T09:11:06.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:06
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9698619842529297s
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4063035;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42607;2460982.79938378;9.18518889;1.3;_
2025-11-03T09:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4063035;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42607;2460982.79938378;9.18518889;1.3;_
2025-11-03T09:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:06.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4063035, teldec = -24.256623
2025-11-03T09:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4063035 -24.256623
2025-11-03T09:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4063035 -24.256623
2025-11-03T09:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4063035 -24.256623
2025-11-03T09:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4063035;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42607;2460982.79938381;9.18518889;1.3;_14.3820697922542 -24.1400407731584
2025-11-03T09:11:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3820697922542     dec_j2k = -24.1400407731584
2025-11-03T09:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966929668642059;171.162368059163;_
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966929668642059;171.162368059163;_
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47589)
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:06.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:06.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:06.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79938378, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966929668642059, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4063035, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42607, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3820697922542, telescope_dec_j2k=-24.1400407731584, observability=1)
2025-11-03T09:11:07.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:07
2025-11-03T09:11:07.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:07.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5971519947052002s
2025-11-03T09:11:07.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5971519947052002
2025-11-03T09:11:07.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:07
2025-11-03T09:11:07.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:07.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6194925308227539s
2025-11-03T09:11:07.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6194925308227539
2025-11-03T09:11:08.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:08
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823193550109863s
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:08.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4068553;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42662;2460982.79940691;9.18573917;1.3;_
2025-11-03T09:11:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4068553;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42662;2460982.79940691;9.18573917;1.3;_
2025-11-03T09:11:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:08.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4068553, teldec = -24.256623
2025-11-03T09:11:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4068553 -24.256623
2025-11-03T09:11:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4068553 -24.256623
2025-11-03T09:11:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4068553 -24.256623
2025-11-03T09:11:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4068553;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42662;2460982.79940693;9.18573917;1.3;_14.38262108721 -24.14005238289
2025-11-03T09:11:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.38262108721     dec_j2k = -24.14005238289
2025-11-03T09:11:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966924454089495;171.162351965909;_
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966924454089495;171.162351965909;_
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41255)
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:08.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:08.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79940691, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966924454089495, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4068553, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42662, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.38262108721, telescope_dec_j2k=-24.14005238289, observability=1)
2025-11-03T09:11:09.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:09
2025-11-03T09:11:09.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:09.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6028656959533691s
2025-11-03T09:11:09.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6028656959533691
2025-11-03T09:11:09.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:09
2025-11-03T09:11:09.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:09.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.626629114151001s
2025-11-03T09:11:09.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.626629114151001
2025-11-03T09:11:09.972 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Status age = 1.1995747089385986s
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:09.973 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:09.974 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 17;14.4071926;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42696;2460982.799421;9.18607556;1.3;_
2025-11-03T09:11:09.974 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response 17;14.4071926;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42696;2460982.799421;9.18607556;1.3;_
2025-11-03T09:11:09.974 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:09.974 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:09.974 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:09.975 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:09.975 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:09.975 [INFO] [Thread-88576 (handle)] [driver.py] [get_status()] Telra = 14.4071926, teldec = -24.256623
2025-11-03T09:11:09.975 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4071926 -24.256623
2025-11-03T09:11:09.975 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4071926 -24.256623
2025-11-03T09:11:09.975 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4071926 -24.256623
2025-11-03T09:11:09.976 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 17;14.4071926;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42696;2460982.79942102;9.18607556;1.3;_14.3829580785117 -24.1400594808093
2025-11-03T09:11:09.976 [INFO] [Thread-88576 (handle)] [driver.py] [get_status()] ra_j2k = 14.3829580785117     dec_j2k = -24.1400594808093
2025-11-03T09:11:09.976 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:09.976 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:09.977 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:09.977 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 140;0.0966924454089495;171.162346601491;_
2025-11-03T09:11:09.977 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response 140;0.0966924454089495;171.162346601491;_
2025-11-03T09:11:09.977 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:09.977 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:09.978 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:09.979 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:09.979 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:09.979 [DEBUG] [Thread-88576 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:09.979 [DEBUG] [Thread-88576 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:09.979 [DEBUG] [Thread-88576 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:09.984 [DEBUG] [Thread-88576 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36475)
2025-11-03T09:11:09.984 [DEBUG] [Thread-88576 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:09.985 [DEBUG] [Thread-88576 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:09.985 [DEBUG] [Thread-88576 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:09.985 [DEBUG] [Thread-88576 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:09.985 [DEBUG] [Thread-88576 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:09.992 [DEBUG] [Thread-88576 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:09.992 [INFO] [Thread-88576 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.799421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966924454089495, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4071926, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3829580785117, telescope_dec_j2k=-24.1400594808093, observability=1)
2025-11-03T09:11:10.606 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:11:10
2025-11-03T09:11:10.606 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:10.606 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.6134209632873535s
2025-11-03T09:11:10.606 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6134209632873535
2025-11-03T09:11:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:10
2025-11-03T09:11:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.76869797706604s
2025-11-03T09:11:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.76869797706604
2025-11-03T09:11:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:11
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3697407245635986s
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:11.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4075845;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42735;2460982.79943707;9.18646639;1.3;_
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4075845;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42735;2460982.79943707;9.18646639;1.3;_
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:11.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:11.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:11.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:11.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:11.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4075845, teldec = -24.256623
2025-11-03T09:11:11.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4075845 -24.256623
2025-11-03T09:11:11.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4075845 -24.256623
2025-11-03T09:11:11.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4075845 -24.256623
2025-11-03T09:11:11.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4075845;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42735;2460982.79943711;9.18646639;1.3;_14.3833496198633 -24.1400677288512
2025-11-03T09:11:11.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3833496198633     dec_j2k = -24.1400677288512
2025-11-03T09:11:11.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:11.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:11.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966932476478056;171.162351965909;_
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966932476478056;171.162351965909;_
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:11.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:11.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:11.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:11.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34091)
2025-11-03T09:11:11.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:11.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:11.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:11.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:11.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:11.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:11.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79943707, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966932476478056, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4075845, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42735, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:10:12.282121', telescope_ra_j2k=14.3833496198633, telescope_dec_j2k=-24.1400677288512, observability=1)
2025-11-03T09:11:11.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:11
2025-11-03T09:11:11.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:11.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022145748138427734s
2025-11-03T09:11:11.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022145748138427734
2025-11-03T09:11:12.425 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:12.425 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:12.425 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:12.425 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:12.425 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:12.426 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:12.426 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:12.427 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:12.427 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:12.427 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:12.427 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:11:12.427 [INFO] [ThreadPoolExecutor-3387_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:11:12.427 [INFO] [ThreadPoolExecutor-3387_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:11:12.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:12
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3770701885223389s
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4079756;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42774;2460982.79945322;9.18685639;1.3;_
2025-11-03T09:11:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4079756;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42774;2460982.79945322;9.18685639;1.3;_
2025-11-03T09:11:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:12.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4079756, teldec = -24.256623
2025-11-03T09:11:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4079756 -24.256623
2025-11-03T09:11:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4079756 -24.256623
2025-11-03T09:11:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4079756 -24.256623
2025-11-03T09:11:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4079756;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42774;2460982.79945324;9.18685639;1.3;_14.3837403619687 -24.1400759612947
2025-11-03T09:11:12.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3837403619687     dec_j2k = -24.1400759612947
2025-11-03T09:11:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966928064164347;171.162357330327;_
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966928064164347;171.162357330327;_
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34665)
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:12.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:12.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:12.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:12.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:12.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:12.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79945322, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966928064164347, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4079756, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3837403619687, telescope_dec_j2k=-24.1400759612947, observability=1)
2025-11-03T09:11:13.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:13
2025-11-03T09:11:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5916359424591064s
2025-11-03T09:11:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5916359424591064
2025-11-03T09:11:13.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:13
2025-11-03T09:11:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6135437488555908s
2025-11-03T09:11:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6135437488555908
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.1758885383605957s
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:13.948 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4083029;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42807;2460982.799467;9.18718278;1.3;_
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.4083029;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42807;2460982.799467;9.18718278;1.3;_
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:13.949 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:13.950 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:13.950 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:13.950 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.4083029, teldec = -24.256623
2025-11-03T09:11:13.950 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.4083029 -24.256623
2025-11-03T09:11:13.950 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.4083029 -24.256623
2025-11-03T09:11:13.950 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4083029 -24.256623
2025-11-03T09:11:13.951 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4083029;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42807;2460982.79946703;9.18718278;1.3;_14.3840673624738 -24.1400828517337
2025-11-03T09:11:13.951 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.3840673624738     dec_j2k = -24.1400828517337
2025-11-03T09:11:13.951 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966926860806063;171.162351965909;_
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966926860806063;171.162351965909;_
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:13.952 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:13.953 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:13.954 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:13.954 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:13.954 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36073)
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:13.955 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:13.963 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:11:13.963 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.799467, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966926860806063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4083029, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42807, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3840673624738, telescope_dec_j2k=-24.1400828517337, observability=1)
2025-11-03T09:11:13.963 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3577170372009277 seconds ago
2025-11-03T09:11:14.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:14
2025-11-03T09:11:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8005080223083496s
2025-11-03T09:11:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8005080223083496
2025-11-03T09:11:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:15
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3988807201385498s
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4086953;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42846;2460982.79948338;9.18757417;1.3;_
2025-11-03T09:11:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4086953;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42846;2460982.79948338;9.18757417;1.3;_
2025-11-03T09:11:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:15.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4086953, teldec = -24.256623
2025-11-03T09:11:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4086953 -24.256623
2025-11-03T09:11:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4086953 -24.256623
2025-11-03T09:11:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4086953 -24.256623
2025-11-03T09:11:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4086953;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42846;2460982.7994834;9.18757417;1.3;_14.3844594034293 -24.1400911138238
2025-11-03T09:11:15.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3844594034293     dec_j2k = -24.1400911138238
2025-11-03T09:11:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966934080955768;171.162357330327;_
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966934080955768;171.162357330327;_
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:15.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45481)
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:15.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:15.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:15.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79948338, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966934080955768, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4086953, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42846, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3844594034293, telescope_dec_j2k=-24.1400911138238, observability=1)
2025-11-03T09:11:15.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:15
2025-11-03T09:11:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021455764770507812s
2025-11-03T09:11:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021455764770507812
2025-11-03T09:11:16.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:16
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3962717056274414s
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4090875;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42886;2460982.79949973;9.18796528;1.3;_
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4090875;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42886;2460982.79949973;9.18796528;1.3;_
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:16.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4090875, teldec = -24.256623
2025-11-03T09:11:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4090875 -24.256623
2025-11-03T09:11:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4090875 -24.256623
2025-11-03T09:11:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4090875 -24.256623
2025-11-03T09:11:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4090875;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42886;2460982.79949976;9.18796528;1.3;_14.3848512445895 -24.1400993729472
2025-11-03T09:11:16.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3848512445895     dec_j2k = -24.1400993729472
2025-11-03T09:11:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966936487672336;171.162362694745;_
2025-11-03T09:11:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966936487672336;171.162362694745;_
2025-11-03T09:11:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54317)
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:16.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:16.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79949973, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966936487672336, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4090875, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42886, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3848512445895, telescope_dec_j2k=-24.1400993729472, observability=1)
2025-11-03T09:11:17.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:17
2025-11-03T09:11:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5677478313446045s
2025-11-03T09:11:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5677478313446045
2025-11-03T09:11:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:17
2025-11-03T09:11:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5893468856811523s
2025-11-03T09:11:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5893468856811523
2025-11-03T09:11:19.014 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:19
2025-11-03T09:11:19.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:19.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.220101833343506s
2025-11-03T09:11:19.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:19.014 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:19.015 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:19.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:19.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:19.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:19.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:19.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4097034;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42947;2460982.79952566;9.18857944;1.3;_
2025-11-03T09:11:19.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4097034;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42947;2460982.79952566;9.18857944;1.3;_
2025-11-03T09:11:19.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:19.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:19.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:19.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:19.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:19.019 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4097034, teldec = -24.256623
2025-11-03T09:11:19.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4097034 -24.256623
2025-11-03T09:11:19.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4097034 -24.256623
2025-11-03T09:11:19.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4097034 -24.256623
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4097034;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42947;2460982.79952569;9.18857944;1.3;_14.3854665811211 -24.1401123453563
2025-11-03T09:11:19.020 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3854665811211     dec_j2k = -24.1401123453563
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966929267522631;171.162362694745;_
2025-11-03T09:11:19.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966929267522631;171.162362694745;_
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:19.021 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:19.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:19.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:19.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:19.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34487)
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:19.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:19.034 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:19.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:19.035 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79952566, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966929267522631, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4097034, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42947, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3854665811211, telescope_dec_j2k=-24.1401123453563, observability=1)
2025-11-03T09:11:20.748 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:20
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7132818698883057s
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:20.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:20.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:20.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4101989;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42997;2460982.79954572;9.18907361;1.3;_
2025-11-03T09:11:20.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4101989;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42997;2460982.79954572;9.18907361;1.3;_
2025-11-03T09:11:20.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:20.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:20.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:20.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:20.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:20.751 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4101989, teldec = -24.256623
2025-11-03T09:11:20.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4101989 -24.256623
2025-11-03T09:11:20.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4101989 -24.256623
2025-11-03T09:11:20.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4101989 -24.256623
2025-11-03T09:11:20.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4101989;-24.256623;50.108599;89.993052;50.08601;90.12017;11.42997;2460982.79954574;9.18907361;1.3;_14.385961627842 -24.1401227840641
2025-11-03T09:11:20.752 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.385961627842     dec_j2k = -24.1401227840641
2025-11-03T09:11:20.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:20.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:20.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966935284314052;171.162357330327;_
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966935284314052;171.162357330327;_
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:20.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:20.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:20.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33857)
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:20.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79954572, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966935284314052, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4101989, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.42997, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.385961627842, telescope_dec_j2k=-24.1401227840641, observability=1)
2025-11-03T09:11:21.050 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:21
2025-11-03T09:11:21.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:21.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28455162048339844s
2025-11-03T09:11:21.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28455162048339844
2025-11-03T09:11:21.073 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:21
2025-11-03T09:11:21.073 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:21.073 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30745840072631836s
2025-11-03T09:11:21.073 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30745840072631836
2025-11-03T09:11:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:22
2025-11-03T09:11:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5973114967346191s
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4106474;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43042;2460982.79956441;9.18952083;1.3;_
2025-11-03T09:11:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4106474;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43042;2460982.79956441;9.18952083;1.3;_
2025-11-03T09:11:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:22.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4106474, teldec = -24.256623
2025-11-03T09:11:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4106474 -24.256623
2025-11-03T09:11:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4106474 -24.256623
2025-11-03T09:11:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4106474 -24.256623
2025-11-03T09:11:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4106474;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43042;2460982.79956443;9.18952083;1.3;_14.3864097175878 -24.1401322343336
2025-11-03T09:11:22.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3864097175878     dec_j2k = -24.1401322343336
2025-11-03T09:11:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966939295508333;171.162351965909;_
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966939295508333;171.162351965909;_
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45439)
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:22.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:22.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79956441, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966939295508333, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4106474, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43042, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3864097175878, telescope_dec_j2k=-24.1401322343336, observability=1)
2025-11-03T09:11:22.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:22
2025-11-03T09:11:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023518800735473633s
2025-11-03T09:11:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023518800735473633
2025-11-03T09:11:22.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:22
2025-11-03T09:11:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3692305088043213s
2025-11-03T09:11:22.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3692305088043213
2025-11-03T09:11:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:24
2025-11-03T09:11:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9762120246887207s
2025-11-03T09:11:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4112072;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43098;2460982.79958753;9.19007917;1.3;_
2025-11-03T09:11:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4112072;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43098;2460982.79958753;9.19007917;1.3;_
2025-11-03T09:11:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4112072, teldec = -24.256623
2025-11-03T09:11:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4112072 -24.256623
2025-11-03T09:11:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4112072 -24.256623
2025-11-03T09:11:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4112072 -24.256623
2025-11-03T09:11:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4112072;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43098;2460982.79958756;9.19007917;1.3;_14.3869690055647 -24.140144032069
2025-11-03T09:11:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3869690055647     dec_j2k = -24.140144032069
2025-11-03T09:11:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966932476478056;171.162357330327;_
2025-11-03T09:11:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966932476478056;171.162357330327;_
2025-11-03T09:11:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41839)
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:24.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79958753, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966932476478056, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4112072, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43098, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3869690055647, telescope_dec_j2k=-24.140144032069, observability=1)
2025-11-03T09:11:24.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:24
2025-11-03T09:11:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021927356719970703s
2025-11-03T09:11:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021927356719970703
2025-11-03T09:11:24.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:24
2025-11-03T09:11:24.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:24.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3727760314941406s
2025-11-03T09:11:24.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3727760314941406
2025-11-03T09:11:26.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:26
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.039323091506958s
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:26.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4117855;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43155;2460982.79961137;9.19065583;1.3;_
2025-11-03T09:11:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4117855;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43155;2460982.79961137;9.19065583;1.3;_
2025-11-03T09:11:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:26.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4117855, teldec = -24.256623
2025-11-03T09:11:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4117855 -24.256623
2025-11-03T09:11:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4117855 -24.256623
2025-11-03T09:11:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4117855 -24.256623
2025-11-03T09:11:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4117855;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43155;2460982.79961139;9.19065583;1.3;_14.3875467766668 -24.1401562223507
2025-11-03T09:11:26.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3875467766668     dec_j2k = -24.1401562223507
2025-11-03T09:11:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966938092150049;171.162362694745;_
2025-11-03T09:11:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938092150049;171.162362694745;_
2025-11-03T09:11:26.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:26.434 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51195)
2025-11-03T09:11:26.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:26.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:26.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:26.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79961137, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938092150049, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4117855, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3875467766668, telescope_dec_j2k=-24.1401562223507, observability=1)
2025-11-03T09:11:26.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:26
2025-11-03T09:11:26.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:26.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023499011993408203s
2025-11-03T09:11:26.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023499011993408203
2025-11-03T09:11:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:26
2025-11-03T09:11:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31835198402404785s
2025-11-03T09:11:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31835198402404785
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Status age = 1.6364662647247314s
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:28.079 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 17;14.412235;-24.256623;50.108599;89.993052;50.08601;90.12017;11.432;2460982.79963056;9.19110417;1.3;_
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response 17;14.412235;-24.256623;50.108599;89.993052;50.08601;90.12017;11.432;2460982.79963056;9.19110417;1.3;_
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:28.080 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:28.081 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:28.081 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:28.081 [INFO] [Thread-88577 (handle)] [driver.py] [get_status()] Telra = 14.412235, teldec = -24.256623
2025-11-03T09:11:28.081 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] UnCookCoordinates 14.412235 -24.256623
2025-11-03T09:11:28.081 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.412235 -24.256623
2025-11-03T09:11:28.082 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.412235 -24.256623
2025-11-03T09:11:28.082 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 17;14.412235;-24.256623;50.108599;89.993052;50.08601;90.12017;11.432;2460982.79963058;9.19110417;1.3;_14.3879958655986 -24.1401656994586
2025-11-03T09:11:28.082 [INFO] [Thread-88577 (handle)] [driver.py] [get_status()] ra_j2k = 14.3879958655986     dec_j2k = -24.1401656994586
2025-11-03T09:11:28.083 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:28.083 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:28.083 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:28.083 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 140;0.0966936086552908;171.162362694745;_
2025-11-03T09:11:28.083 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response 140;0.0966936086552908;171.162362694745;_
2025-11-03T09:11:28.084 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:28.084 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:28.084 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:28.084 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:28.085 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:28.086 [DEBUG] [Thread-88577 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:28.086 [DEBUG] [Thread-88577 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:28.086 [DEBUG] [Thread-88577 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41629)
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:28.091 [DEBUG] [Thread-88577 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:28.098 [DEBUG] [Thread-88577 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:28.099 [DEBUG] [Thread-88577 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:28.099 [DEBUG] [Thread-88577 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:28.099 [INFO] [Thread-88577 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79963056, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966936086552908, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.412235, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.432, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3879958655986, telescope_dec_j2k=-24.1401656994586, observability=1)
2025-11-03T09:11:28.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:28
2025-11-03T09:11:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6591570377349854s
2025-11-03T09:11:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6591570377349854
2025-11-03T09:11:30.176 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:30
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0775794982910156s
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:30.176 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:30.177 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:30.178 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4128241;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43259;2460982.79965484;9.19169167;1.3;_
2025-11-03T09:11:30.178 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4128241;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43259;2460982.79965484;9.19169167;1.3;_
2025-11-03T09:11:30.178 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:30.178 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:30.178 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:30.179 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:30.179 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:30.179 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4128241, teldec = -24.256623
2025-11-03T09:11:30.179 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4128241 -24.256623
2025-11-03T09:11:30.179 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4128241 -24.256623
2025-11-03T09:11:30.179 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4128241 -24.256623
2025-11-03T09:11:30.180 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4128241;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43259;2460982.79965486;9.19169167;1.3;_14.3885844269093 -24.140178122319
2025-11-03T09:11:30.180 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3885844269093     dec_j2k = -24.140178122319
2025-11-03T09:11:30.180 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:30.180 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:30.180 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966936888791765;171.162351965909;_
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966936888791765;171.162351965909;_
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:30.181 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:30.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:30.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:30.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:30.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43545)
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:30.185 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:30.192 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:30.192 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79965484, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966936888791765, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4128241, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43259, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3885844269093, telescope_dec_j2k=-24.140178122319, observability=1)
2025-11-03T09:11:30.214 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:30
2025-11-03T09:11:30.214 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:30.214 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021671056747436523s
2025-11-03T09:11:30.214 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021671056747436523
2025-11-03T09:11:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:30
2025-11-03T09:11:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5678613185882568s
2025-11-03T09:11:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5678613185882568
2025-11-03T09:11:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:31
2025-11-03T09:11:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.168199062347412s
2025-11-03T09:11:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.413152;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43292;2460982.79966854;9.19201861;1.3;_
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.413152;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43292;2460982.79966854;9.19201861;1.3;_
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:31.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.413152, teldec = -24.256623
2025-11-03T09:11:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.413152 -24.256623
2025-11-03T09:11:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.413152 -24.256623
2025-11-03T09:11:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.413152 -24.256623
2025-11-03T09:11:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.413152;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43292;2460982.79966858;9.19201861;1.3;_14.3889120270897 -24.1401850382446
2025-11-03T09:11:31.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3889120270897     dec_j2k = -24.1401850382446
2025-11-03T09:11:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966938493269477;171.162362694745;_
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938493269477;171.162362694745;_
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43405)
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:31.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:31.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:31.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79966854, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938493269477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.413152, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43292, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3889120270897, telescope_dec_j2k=-24.1401850382446, observability=1)
2025-11-03T09:11:31.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:31
2025-11-03T09:11:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021879196166992188s
2025-11-03T09:11:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021879196166992188
2025-11-03T09:11:32.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:32
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.37587308883667s
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:32.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.413545;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43331;2460982.7996847;9.19241056;1.3;_
2025-11-03T09:11:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.413545;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43331;2460982.7996847;9.19241056;1.3;_
2025-11-03T09:11:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:32.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.413545, teldec = -24.256623
2025-11-03T09:11:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.413545 -24.256623
2025-11-03T09:11:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.413545 -24.256623
2025-11-03T09:11:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.413545 -24.256623
2025-11-03T09:11:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.413545;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43331;2460982.79968472;9.19241056;1.3;_14.3893046677651 -24.1401933283761
2025-11-03T09:11:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3893046677651     dec_j2k = -24.1401933283761
2025-11-03T09:11:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966938493269477;171.162368059163;_
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938493269477;171.162368059163;_
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49455)
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:32.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:32.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.7996847, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938493269477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.413545, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43331, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3893046677651, telescope_dec_j2k=-24.1401933283761, observability=1)
2025-11-03T09:11:33.302 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.302 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.302 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:33.302 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:33.302 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.303 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:33.304 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:33.305 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:33.305 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.305 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:33.306 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:11:33.307 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:33.308 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Park
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:11:33.309 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:11:33.310 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 29;14.4136851;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43345;2460982.79969109;9.19255028;1.3;_Park Command Successful
2025-11-03T09:11:33.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:33
2025-11-03T09:11:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5862500667572021s
2025-11-03T09:11:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5862500667572021
2025-11-03T09:11:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:33
2025-11-03T09:11:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6077344417572021s
2025-11-03T09:11:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6077344417572021
2025-11-03T09:11:34.310 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:11:34.310 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:11:34.310 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:11:34.311 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:11:34.311 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:11:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:34
2025-11-03T09:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9859027862548828s
2025-11-03T09:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4141054;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43387;2460982.79970792;9.19296944;1.3;_
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4141054;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43387;2460982.79970792;9.19296944;1.3;_
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:34.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4141054, teldec = -24.256623
2025-11-03T09:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4141054 -24.256623
2025-11-03T09:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4141054 -24.256623
2025-11-03T09:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4141054 -24.256623
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4141054;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43387;2460982.79970795;9.19296944;1.3;_14.3898645554224 -24.1402051518827
2025-11-03T09:11:34.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3898645554224     dec_j2k = -24.1402051518827
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966937289911193;171.162362694745;_
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966937289911193;171.162362694745;_
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54775)
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:34.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:34.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:34.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79970792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966937289911193, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4141054, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43387, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3898645554224, telescope_dec_j2k=-24.1402051518827, observability=1)
2025-11-03T09:11:35.311 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:11:35.311 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:11:35.311 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:11:35.313 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:11:35.313 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:11:35.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:35
2025-11-03T09:11:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5828144550323486s
2025-11-03T09:11:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5828144550323486
2025-11-03T09:11:35.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:35
2025-11-03T09:11:35.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:35.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6046590805053711s
2025-11-03T09:11:35.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6046590805053711
2025-11-03T09:11:36.313 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:11:36.313 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:11:36.313 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:11:36.314 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:11:36.314 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:11:36.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:36
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9861578941345215s
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.414658;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43443;2460982.79973109;9.19352056;1.3;_
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.414658;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43443;2460982.79973109;9.19352056;1.3;_
2025-11-03T09:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.414658, teldec = -24.256623
2025-11-03T09:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.414658 -24.256623
2025-11-03T09:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.414658 -24.256623
2025-11-03T09:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.414658 -24.256623
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.414658;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43443;2460982.79973112;9.19352056;1.3;_14.3904166502543 -24.1402168133072
2025-11-03T09:11:36.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3904166502543     dec_j2k = -24.1402168133072
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966933278716912;171.162351965909;_
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966933278716912;171.162351965909;_
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59265)
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:36.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:36.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:36.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.79973109, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966933278716912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.414658, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43443, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3904166502543, telescope_dec_j2k=-24.1402168133072, observability=1)
2025-11-03T09:11:37.314 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:11:37.315 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:11:37.315 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:37.316 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:11:37.317 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:11:37.318 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:37
2025-11-03T09:11:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.574812650680542s
2025-11-03T09:11:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.574812650680542
2025-11-03T09:11:37.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:37
2025-11-03T09:11:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5972146987915039s
2025-11-03T09:11:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5972146987915039
2025-11-03T09:11:38.318 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:38.318 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:38.318 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:38.318 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:38.318 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:11:38.319 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:11:38.320 [DEBUG] [ThreadPoolExecutor-3386_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:38.320 [INFO] [ThreadPoolExecutor-3386_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:11:38.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:38
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.968324899673462s
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:38.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4152187;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43499;2460982.79975413;9.19407972;1.3;_
2025-11-03T09:11:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4152187;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43499;2460982.79975413;9.19407972;1.3;_
2025-11-03T09:11:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:38.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4152187, teldec = -24.256623
2025-11-03T09:11:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4152187 -24.256623
2025-11-03T09:11:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4152187 -24.256623
2025-11-03T09:11:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4152187 -24.256623
2025-11-03T09:11:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4152187;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43499;2460982.79975416;9.19407972;1.3;_14.3909768377255 -24.1402286481864
2025-11-03T09:11:38.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3909768377255     dec_j2k = -24.1402286481864
2025-11-03T09:11:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966937691030621;171.162351965909;_
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966937691030621;171.162351965909;_
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47007)
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:38.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:38.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:38.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79975413, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966937691030621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4152187, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43499, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3909768377255, telescope_dec_j2k=-24.1402286481864, observability=1)
2025-11-03T09:11:39.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:39
2025-11-03T09:11:39.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:39.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5932555198669434s
2025-11-03T09:11:39.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5932555198669434
2025-11-03T09:11:39.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:39
2025-11-03T09:11:39.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:39.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.617539644241333s
2025-11-03T09:11:39.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.617539644241333
2025-11-03T09:11:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:40
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9871199131011963s
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4157708;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43554;2460982.79977736;9.19463028;1.3;_
2025-11-03T09:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4157708;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43554;2460982.79977736;9.19463028;1.3;_
2025-11-03T09:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4157708, teldec = -24.256623
2025-11-03T09:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4157708 -24.256623
2025-11-03T09:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4157708 -24.256623
2025-11-03T09:11:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4157708 -24.256623
2025-11-03T09:11:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4157708;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43554;2460982.79977738;9.19463028;1.3;_14.3915284331014 -24.1402403040242
2025-11-03T09:11:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3915284331014     dec_j2k = -24.1402403040242
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966938894388905;171.162357330327;_
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938894388905;171.162357330327;_
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55387)
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:40.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:40.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:40.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:40.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79977736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938894388905, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4157708, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43554, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3915284331014, telescope_dec_j2k=-24.1402403040242, observability=1)
2025-11-03T09:11:42.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:42
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789645671844482s
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4163321;-24.256623;50.108599;89.993052;50.08601;90.12017;11.4361;2460982.79980044;9.19519;1.3;_
2025-11-03T09:11:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4163321;-24.256623;50.108599;89.993052;50.08601;90.12017;11.4361;2460982.79980044;9.19519;1.3;_
2025-11-03T09:11:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:42.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4163321, teldec = -24.256623
2025-11-03T09:11:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4163321 -24.256623
2025-11-03T09:11:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4163321 -24.256623
2025-11-03T09:11:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4163321 -24.256623
2025-11-03T09:11:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4163321;-24.256623;50.108599;89.993052;50.08601;90.12017;11.4361;2460982.79980047;9.19519;1.3;_14.3920892201125 -24.1402521566149
2025-11-03T09:11:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3920892201125     dec_j2k = -24.1402521566149
2025-11-03T09:11:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966939696627761;171.162357330327;_
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966939696627761;171.162357330327;_
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59973)
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:42.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:42.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79980044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966939696627761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4163321, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4361, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3920892201125, telescope_dec_j2k=-24.1402521566149, observability=1)
2025-11-03T09:11:43.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:43
2025-11-03T09:11:43.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:43.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5884675979614258s
2025-11-03T09:11:43.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5884675979614258
2025-11-03T09:11:43.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:43
2025-11-03T09:11:43.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:43.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6319897174835205s
2025-11-03T09:11:43.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6319897174835205
2025-11-03T09:11:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:44
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809155464172363s
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4168836;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43665;2460982.79982362;9.19574;1.3;_
2025-11-03T09:11:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4168836;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43665;2460982.79982362;9.19574;1.3;_
2025-11-03T09:11:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:44.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4168836, teldec = -24.256623
2025-11-03T09:11:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4168836 -24.256623
2025-11-03T09:11:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4168836 -24.256623
2025-11-03T09:11:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4168836 -24.256623
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4168836;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43665;2460982.79982365;9.19574;1.3;_14.3926402161235 -24.1402638047441
2025-11-03T09:11:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3926402161235     dec_j2k = -24.1402638047441
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966938894388905;171.162368059163;_
2025-11-03T09:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938894388905;171.162368059163;_
2025-11-03T09:11:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38261)
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:44.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:44.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:44.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79982362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938894388905, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4168836, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43665, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3926402161235, telescope_dec_j2k=-24.1402638047441, observability=1)
2025-11-03T09:11:45.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:45
2025-11-03T09:11:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580031156539917s
2025-11-03T09:11:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580031156539917
2025-11-03T09:11:45.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:45
2025-11-03T09:11:45.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:45.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6015892028808594s
2025-11-03T09:11:45.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6015892028808594
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Status age = 1.3778464794158936s
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:46.160 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:46.161 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 17;14.4172758;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43704;2460982.79983983;9.19613111;1.3;_
2025-11-03T09:11:46.161 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response 17;14.4172758;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43704;2460982.79983983;9.19613111;1.3;_
2025-11-03T09:11:46.161 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:46.161 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:46.161 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:46.162 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:46.162 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:46.162 [INFO] [Thread-88578 (handle)] [driver.py] [get_status()] Telra = 14.4172758, teldec = -24.256623
2025-11-03T09:11:46.162 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4172758 -24.256623
2025-11-03T09:11:46.162 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4172758 -24.256623
2025-11-03T09:11:46.163 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4172758 -24.256623
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 17;14.4172758;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43704;2460982.79983985;9.19613111;1.3;_14.3930320577372 -24.1402720898222
2025-11-03T09:11:46.164 [INFO] [Thread-88578 (handle)] [driver.py] [get_status()] ra_j2k = 14.3930320577372     dec_j2k = -24.1402720898222
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 140;0.0966938493269477;171.162357330327;_
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response 140;0.0966938493269477;171.162357330327;_
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:46.164 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:46.165 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:46.165 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:46.166 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:46.166 [DEBUG] [Thread-88578 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:46.166 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:46.166 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:46.166 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:46.167 [DEBUG] [Thread-88578 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:46.167 [DEBUG] [Thread-88578 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:46.167 [DEBUG] [Thread-88578 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44673)
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:46.171 [DEBUG] [Thread-88578 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:46.178 [DEBUG] [Thread-88578 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:46.178 [DEBUG] [Thread-88578 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:46.179 [DEBUG] [Thread-88578 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:46.179 [INFO] [Thread-88578 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79983983, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966938493269477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4172758, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43704, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3930320577372, telescope_dec_j2k=-24.1402720898222, observability=1)
2025-11-03T09:11:46.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:46
2025-11-03T09:11:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5855908393859863s
2025-11-03T09:11:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5855908393859863
2025-11-03T09:11:47.013 [DEBUG] [Thread-88579 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:47.013 [DEBUG] [Thread-88579 (handle)] [server.py] [get_status()] Status age = 0.8339917659759521s
2025-11-03T09:11:47.013 [DEBUG] [Thread-88579 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8339917659759521
2025-11-03T09:11:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:47
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1818666458129883s
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4176122;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43738;2460982.79985373;9.19646667;1.3;_
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4176122;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43738;2460982.79985373;9.19646667;1.3;_
2025-11-03T09:11:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:47.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4176122, teldec = -24.256623
2025-11-03T09:11:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4176122 -24.256623
2025-11-03T09:11:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4176122 -24.256623
2025-11-03T09:11:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4176122 -24.256623
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4176122;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43738;2460982.79985376;9.19646667;1.3;_14.3933681503575 -24.1402791971359
2025-11-03T09:11:47.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3933681503575     dec_j2k = -24.1402791971359
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966942103344329;171.162351965909;_
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966942103344329;171.162351965909;_
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32795)
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:47.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:47.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79985373, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966942103344329, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4176122, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43738, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3933681503575, telescope_dec_j2k=-24.1402791971359, observability=1)
2025-11-03T09:11:47.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:47
2025-11-03T09:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021452665328979492s
2025-11-03T09:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021452665328979492
2025-11-03T09:11:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:48
2025-11-03T09:11:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3835482597351074s
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4179983;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43777;2460982.79986999;9.19685167;1.3;_
2025-11-03T09:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4179983;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43777;2460982.79986999;9.19685167;1.3;_
2025-11-03T09:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4179983, teldec = -24.256623
2025-11-03T09:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4179983 -24.256623
2025-11-03T09:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4179983 -24.256623
2025-11-03T09:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4179983 -24.256623
2025-11-03T09:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4179983;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43777;2460982.79987001;9.19685167;1.3;_14.3937538975849 -24.140287355616
2025-11-03T09:11:48.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3937538975849     dec_j2k = -24.140287355616
2025-11-03T09:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966945713419182;171.162351965909;_
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966945713419182;171.162351965909;_
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47371)
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:48.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:48.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:48.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79986999, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966945713419182, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4179983, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43777, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3937538975849, telescope_dec_j2k=-24.140287355616, observability=1)
2025-11-03T09:11:49.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:49
2025-11-03T09:11:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5797457695007324s
2025-11-03T09:11:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5797457695007324
2025-11-03T09:11:49.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:49
2025-11-03T09:11:49.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:49.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.608391284942627s
2025-11-03T09:11:49.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.608391284942627
2025-11-03T09:11:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:50
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9741582870483398s
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4185618;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43833;2460982.79989303;9.19741361;1.3;_
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4185618;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43833;2460982.79989303;9.19741361;1.3;_
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:50.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4185618, teldec = -24.256623
2025-11-03T09:11:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4185618 -24.256623
2025-11-03T09:11:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4185618 -24.256623
2025-11-03T09:11:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4185618 -24.256623
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4185618;-24.256623;50.108599;89.993052;50.08601;90.12017;11.43833;2460982.79989306;9.19741361;1.3;_14.3943168827631 -24.1402992648045
2025-11-03T09:11:50.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3943168827631     dec_j2k = -24.1402992648045
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966941301105473;171.162346601491;_
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966941301105473;171.162346601491;_
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34759)
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:50.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79989303, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966941301105473, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108599, telescope_az=89.993052, telescope_ra=14.4185618, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3943168827631, telescope_dec_j2k=-24.1402992648045, observability=1)
2025-11-03T09:11:51.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:51
2025-11-03T09:11:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5877680778503418s
2025-11-03T09:11:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5877680778503418
2025-11-03T09:11:51.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:51
2025-11-03T09:11:51.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:51.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6102447509765625s
2025-11-03T09:11:51.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6102447509765625
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6951935291290283s
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:52.470 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:52.471 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:52.472 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4190292;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4388;2460982.79991287;9.19787972;1.3;_
2025-11-03T09:11:52.472 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.4190292;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4388;2460982.79991287;9.19787972;1.3;_
2025-11-03T09:11:52.472 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:52.472 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:52.472 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:52.473 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:52.473 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:52.474 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.4190292, teldec = -24.256623
2025-11-03T09:11:52.474 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4190292 -24.256623
2025-11-03T09:11:52.474 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4190292 -24.256623
2025-11-03T09:11:52.474 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4190292 -24.256623
2025-11-03T09:11:52.475 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4190292;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4388;2460982.79991289;9.19787972;1.3;_14.3947838557737 -24.1403091449301
2025-11-03T09:11:52.475 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.3947838557737     dec_j2k = -24.1403091449301
2025-11-03T09:11:52.475 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:52.475 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:52.475 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966948922374606;171.162362694745;_
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966948922374606;171.162362694745;_
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:52.476 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:52.477 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53943)
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:52.482 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:52.489 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:52.489 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79991287, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966948922374606, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4190292, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4388, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3947838557737, telescope_dec_j2k=-24.1403091449301, observability=1)
2025-11-03T09:11:52.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:52
2025-11-03T09:11:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2680330276489258s
2025-11-03T09:11:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2680330276489258
2025-11-03T09:11:53.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:53
2025-11-03T09:11:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8761436939239502s
2025-11-03T09:11:53.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8761436939239502
2025-11-03T09:11:53.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:53
2025-11-03T09:11:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8990602493286133s
2025-11-03T09:11:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8990602493286133
2025-11-03T09:11:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:54
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.272634744644165s
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4196737;-24.256623;50.108598;89.993052;50.08601;90.12017;11.43944;2460982.7999394;9.1985225;1.3;_
2025-11-03T09:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4196737;-24.256623;50.108598;89.993052;50.08601;90.12017;11.43944;2460982.7999394;9.1985225;1.3;_
2025-11-03T09:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4196737, teldec = -24.256623
2025-11-03T09:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4196737 -24.256623
2025-11-03T09:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4196737 -24.256623
2025-11-03T09:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4196737 -24.256623
2025-11-03T09:11:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4196737;-24.256623;50.108598;89.993052;50.08601;90.12017;11.43944;2460982.79993942;9.1985225;1.3;_14.3954277670468 -24.1403227715732
2025-11-03T09:11:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3954277670468     dec_j2k = -24.1403227715732
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966942905583185;171.162351965909;_
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966942905583185;171.162351965909;_
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49231)
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:54.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:54.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:54.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.7999394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966942905583185, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4196737, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.43944, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3954277670468, telescope_dec_j2k=-24.1403227715732, observability=1)
2025-11-03T09:11:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:55
2025-11-03T09:11:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580805778503418s
2025-11-03T09:11:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580805778503418
2025-11-03T09:11:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:55
2025-11-03T09:11:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6024322509765625s
2025-11-03T09:11:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6024322509765625
2025-11-03T09:11:56.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:56
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97641921043396s
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:56.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4202341;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44;2460982.79996248;9.19908139;1.3;_
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4202341;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44;2460982.79996248;9.19908139;1.3;_
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:56.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4202341, teldec = -24.256623
2025-11-03T09:11:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4202341 -24.256623
2025-11-03T09:11:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4202341 -24.256623
2025-11-03T09:11:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4202341 -24.256623
2025-11-03T09:11:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4202341;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44;2460982.79996251;9.19908139;1.3;_14.39598765519 -24.1403346228179
2025-11-03T09:11:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.39598765519     dec_j2k = -24.1403346228179
2025-11-03T09:11:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966944510060898;171.162351965909;_
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966944510060898;171.162351965909;_
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54755)
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:56.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:56.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79996248, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966944510060898, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4202341, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.39598765519, telescope_dec_j2k=-24.1403346228179, observability=1)
2025-11-03T09:11:57.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:57
2025-11-03T09:11:57.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5932865142822266s
2025-11-03T09:11:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5932865142822266
2025-11-03T09:11:57.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:57
2025-11-03T09:11:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6155948638916016s
2025-11-03T09:11:57.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6155948638916016
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1476566791534424s
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:57.920 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:57.921 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4205611;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44033;2460982.79997595;9.1994075;1.3;_
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4205611;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44033;2460982.79997595;9.1994075;1.3;_
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:57.922 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:57.923 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4205611, teldec = -24.256623
2025-11-03T09:11:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4205611 -24.256623
2025-11-03T09:11:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4205611 -24.256623
2025-11-03T09:11:57.923 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4205611 -24.256623
2025-11-03T09:11:57.924 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4205611;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44033;2460982.79997597;9.1994075;1.3;_14.3963143565361 -24.1403415393299
2025-11-03T09:11:57.925 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.3963143565361     dec_j2k = -24.1403415393299
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966946515658038;171.162351965909;_
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966946515658038;171.162351965909;_
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:57.925 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:57.926 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45407)
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:57.931 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:57.938 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:57.939 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79997595, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966946515658038, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4205611, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44033, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3963143565361, telescope_dec_j2k=-24.1403415393299, observability=1)
2025-11-03T09:11:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:58
2025-11-03T09:11:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.81947922706604s
2025-11-03T09:11:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.81947922706604
2025-11-03T09:11:59.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:59
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4291787147521973s
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:11:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:11:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:11:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4209542;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44072;2460982.79999271;9.19979944;1.3;_
2025-11-03T09:11:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4209542;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44072;2460982.79999271;9.19979944;1.3;_
2025-11-03T09:11:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:11:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:11:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:11:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:11:59.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4209542, teldec = -24.256623
2025-11-03T09:11:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4209542 -24.256623
2025-11-03T09:11:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4209542 -24.256623
2025-11-03T09:11:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4209542 -24.256623
2025-11-03T09:11:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4209542;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44072;2460982.79999273;9.19979944;1.3;_14.3967070975321 -24.1403498550927
2025-11-03T09:11:59.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3967070975321     dec_j2k = -24.1403498550927
2025-11-03T09:11:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:11:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:11:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:11:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966947317896894;171.162362694745;_
2025-11-03T09:11:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966947317896894;171.162362694745;_
2025-11-03T09:11:59.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:11:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:11:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:11:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:11:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:11:59.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59779)
2025-11-03T09:11:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:11:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:11:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:11:59.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:11:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:11:59.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:11:59.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.79999271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966947317896894, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4209542, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3967070975321, telescope_dec_j2k=-24.1403498550927, observability=1)
2025-11-03T09:11:59.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:11:59
2025-11-03T09:11:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:11:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02264237403869629s
2025-11-03T09:11:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02264237403869629
2025-11-03T09:12:00.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:00
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.407003402709961s
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4213466;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44111;2460982.80000917;9.20019083;1.3;_
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4213466;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44111;2460982.80000917;9.20019083;1.3;_
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:00.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:00.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:00.793 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4213466, teldec = -24.256623
2025-11-03T09:12:00.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4213466 -24.256623
2025-11-03T09:12:00.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4213466 -24.256623
2025-11-03T09:12:00.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4213466 -24.256623
2025-11-03T09:12:00.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4213466;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44111;2460982.80000919;9.20019083;1.3;_14.3970991391893 -24.1403581572911
2025-11-03T09:12:00.794 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3970991391893     dec_j2k = -24.1403581572911
2025-11-03T09:12:00.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:00.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966947719016322;171.162362694745;_
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966947719016322;171.162362694745;_
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:00.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:00.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:00.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:00.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:00.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43927)
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:00.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:00.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:00.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80000917, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966947719016322, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4213466, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3970991391893, telescope_dec_j2k=-24.1403581572911, observability=1)
2025-11-03T09:12:01.517 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:01
2025-11-03T09:12:01.517 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:01.517 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7083151340484619s
2025-11-03T09:12:01.517 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7083151340484619
2025-11-03T09:12:01.538 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:01
2025-11-03T09:12:01.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:01.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.729356050491333s
2025-11-03T09:12:01.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.729356050491333
2025-11-03T09:12:02.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:02
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9580821990966797s
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.421907;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44168;2460982.80003205;9.20074972;1.3;_
2025-11-03T09:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.421907;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44168;2460982.80003205;9.20074972;1.3;_
2025-11-03T09:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.421907, teldec = -24.256623
2025-11-03T09:12:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.421907 -24.256623
2025-11-03T09:12:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.421907 -24.256623
2025-11-03T09:12:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.421907 -24.256623
2025-11-03T09:12:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.421907;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44168;2460982.80003207;9.20074972;1.3;_14.3976590274653 -24.1403700161021
2025-11-03T09:12:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3976590274653     dec_j2k = -24.1403700161021
2025-11-03T09:12:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966951329091175;171.162351965909;_
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966951329091175;171.162351965909;_
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40433)
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80003205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966951329091175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.421907, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44168, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3976590274653, telescope_dec_j2k=-24.1403700161021, observability=1)
2025-11-03T09:12:04.090 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:04
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.305849552154541s
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:04.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.422263;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44203;2460982.80004735;9.20110472;1.3;_
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.422263;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44203;2460982.80004735;9.20110472;1.3;_
2025-11-03T09:12:04.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:04.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:04.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:04.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:04.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:04.093 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.422263, teldec = -24.256623
2025-11-03T09:12:04.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.422263 -24.256623
2025-11-03T09:12:04.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.422263 -24.256623
2025-11-03T09:12:04.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.422263 -24.256623
2025-11-03T09:12:04.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.422263;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44203;2460982.80004738;9.20110472;1.3;_14.3980147024104 -24.1403775508528
2025-11-03T09:12:04.094 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3980147024104     dec_j2k = -24.1403775508528
2025-11-03T09:12:04.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:04.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:04.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966947317896894;171.162357330327;_
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966947317896894;171.162357330327;_
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:04.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:04.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:04.097 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:04.097 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:04.097 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35973)
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:04.098 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:04.105 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:04.105 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:04.105 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:04.105 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:04.105 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:04.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:04.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:04.106 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:04.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:04.106 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80004735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966947317896894, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.422263, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44203, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3980147024104, telescope_dec_j2k=-24.1403775508528, observability=1)
2025-11-03T09:12:04.127 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:04
2025-11-03T09:12:04.127 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:04.127 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021623611450195312s
2025-11-03T09:12:04.127 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021623611450195312
2025-11-03T09:12:04.223 [DEBUG] [Thread-88580 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:04.223 [DEBUG] [Thread-88580 (handle)] [server.py] [get_status()] Status age = 0.11744546890258789s
2025-11-03T09:12:04.223 [DEBUG] [Thread-88580 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11744546890258789
2025-11-03T09:12:04.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:04
2025-11-03T09:12:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6509947776794434s
2025-11-03T09:12:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6509947776794434
2025-11-03T09:12:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:05
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2555627822875977s
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:05.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:05.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4226279;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4424;2460982.80006208;9.20146861;1.3;_
2025-11-03T09:12:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4226279;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4424;2460982.80006208;9.20146861;1.3;_
2025-11-03T09:12:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:05.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4226279, teldec = -24.256623
2025-11-03T09:12:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4226279 -24.256623
2025-11-03T09:12:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4226279 -24.256623
2025-11-03T09:12:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4226279 -24.256623
2025-11-03T09:12:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4226279;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4424;2460982.80006211;9.20146861;1.3;_14.3983792692478 -24.1403852750335
2025-11-03T09:12:05.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3983792692478     dec_j2k = -24.1403852750335
2025-11-03T09:12:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966943707822042;171.162368059163;_
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966943707822042;171.162368059163;_
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:05.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:05.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:05.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:05.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:05.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51943)
2025-11-03T09:12:05.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:05.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:05.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:05.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:05.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:05.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:05.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80006208, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966943707822042, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4226279, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4424, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3983792692478, telescope_dec_j2k=-24.1403852750335, observability=1)
2025-11-03T09:12:05.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:05
2025-11-03T09:12:05.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:05.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021495580673217773s
2025-11-03T09:12:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021495580673217773
2025-11-03T09:12:06.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:06
2025-11-03T09:12:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.376497745513916s
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4230198;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44279;2460982.80007823;9.20185944;1.3;_
2025-11-03T09:12:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4230198;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44279;2460982.80007823;9.20185944;1.3;_
2025-11-03T09:12:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4230198, teldec = -24.256623
2025-11-03T09:12:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4230198 -24.256623
2025-11-03T09:12:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4230198 -24.256623
2025-11-03T09:12:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4230198 -24.256623
2025-11-03T09:12:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4230198;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44279;2460982.80007826;9.20185944;1.3;_14.3987708114546 -24.140393571945
2025-11-03T09:12:06.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3987708114546     dec_j2k = -24.140393571945
2025-11-03T09:12:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966948922374606;171.162368059163;_
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966948922374606;171.162368059163;_
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38085)
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:06.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:06.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:06.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:06.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:06.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80007823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966948922374606, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4230198, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3987708114546, telescope_dec_j2k=-24.140393571945, observability=1)
2025-11-03T09:12:07.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:07
2025-11-03T09:12:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5888314247131348s
2025-11-03T09:12:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5888314247131348
2025-11-03T09:12:07.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:07
2025-11-03T09:12:07.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:07.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6133232116699219s
2025-11-03T09:12:07.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6133232116699219
2025-11-03T09:12:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:08
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802088737487793s
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4235716;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44334;2460982.80010137;9.20240972;1.3;_
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4235716;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44334;2460982.80010137;9.20240972;1.3;_
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4235716, teldec = -24.256623
2025-11-03T09:12:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4235716 -24.256623
2025-11-03T09:12:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4235716 -24.256623
2025-11-03T09:12:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4235716 -24.256623
2025-11-03T09:12:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4235716;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44334;2460982.80010139;9.20240972;1.3;_14.3993221077142 -24.1404052561985
2025-11-03T09:12:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.3993221077142     dec_j2k = -24.1404052561985
2025-11-03T09:12:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096694812013575;171.162368059163;_
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096694812013575;171.162368059163;_
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45479)
2025-11-03T09:12:08.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:08.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:08.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:08.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:08.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:08.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80010137, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096694812013575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4235716, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3993221077142, telescope_dec_j2k=-24.1404052561985, observability=1)
2025-11-03T09:12:09.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:09
2025-11-03T09:12:09.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:09.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6171212196350098s
2025-11-03T09:12:09.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6171212196350098
2025-11-03T09:12:09.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:09
2025-11-03T09:12:09.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:09.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.639136552810669s
2025-11-03T09:12:09.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.639136552810669
2025-11-03T09:12:10.667 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:12:10
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8931312561035156s
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:10.667 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:10.668 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:10.669 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.4241039;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44387;2460982.80012348;9.20294056;1.3;_
2025-11-03T09:12:10.669 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.4241039;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44387;2460982.80012348;9.20294056;1.3;_
2025-11-03T09:12:10.669 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:10.669 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:10.669 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:10.671 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:10.671 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:10.671 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.4241039, teldec = -24.256623
2025-11-03T09:12:10.671 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4241039 -24.256623
2025-11-03T09:12:10.671 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4241039 -24.256623
2025-11-03T09:12:10.671 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4241039 -24.256623
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.4241039;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44387;2460982.80012352;9.20294056;1.3;_14.3998539218164 -24.1404165298709
2025-11-03T09:12:10.672 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.3998539218164     dec_j2k = -24.1404165298709
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0966955340285455;171.162362694745;_
2025-11-03T09:12:10.672 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0966955340285455;171.162362694745;_
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:10.673 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:10.674 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:10.674 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:10.674 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:10.674 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:10.680 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59997)
2025-11-03T09:12:10.680 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:10.681 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:10.681 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:10.681 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:10.681 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:10.688 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:10.688 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80012348, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966955340285455, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4241039, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44387, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:11:12.424794', telescope_ra_j2k=14.3998539218164, telescope_dec_j2k=-24.1404165298709, observability=1)
2025-11-03T09:12:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:10
2025-11-03T09:12:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07510542869567871s
2025-11-03T09:12:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07510542869567871
2025-11-03T09:12:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:11
2025-11-03T09:12:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6742472648620605s
2025-11-03T09:12:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6742472648620605
2025-11-03T09:12:11.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:11
2025-11-03T09:12:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6971557140350342s
2025-11-03T09:12:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6971557140350342
2025-11-03T09:12:12.567 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:12.568 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:12.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:12.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:12.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:12.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:12.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:12.569 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:12.570 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:12.571 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:12:12.571 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:12:12.571 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:12:12.571 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:12
2025-11-03T09:12:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0704939365386963s
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4246916;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44446;2460982.80014769;9.20352667;1.3;_
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4246916;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44446;2460982.80014769;9.20352667;1.3;_
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:12.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4246916, teldec = -24.256623
2025-11-03T09:12:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4246916 -24.256623
2025-11-03T09:12:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4246916 -24.256623
2025-11-03T09:12:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4246916 -24.256623
2025-11-03T09:12:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4246916;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44446;2460982.80014771;9.20352667;1.3;_14.4004410853948 -24.140428979524
2025-11-03T09:12:12.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4004410853948     dec_j2k = -24.140428979524
2025-11-03T09:12:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966958950360308;171.162357330327;_
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966958950360308;171.162357330327;_
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46423)
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:12.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:12.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80014769, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966958950360308, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4246916, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44446, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4004410853948, telescope_dec_j2k=-24.140428979524, observability=1)
2025-11-03T09:12:13.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:13
2025-11-03T09:12:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5923764705657959s
2025-11-03T09:12:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5923764705657959
2025-11-03T09:12:13.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:13
2025-11-03T09:12:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6152596473693848s
2025-11-03T09:12:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6152596473693848
2025-11-03T09:12:13.572 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:13.572 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:13.572 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:13.572 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:13.572 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:12:13.573 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:13.574 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:13.575 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:13.575 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:13.575 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:13.576 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:13.576 [DEBUG] [ThreadPoolExecutor-3388_0] [payload.py] [to_registers()] [0]
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35765)
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:13.577 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:13.585 [DEBUG] [ThreadPoolExecutor-3388_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.2504374980926514s
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:14.023 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:14.024 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:14.025 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4250275;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4448;2460982.80016233;9.20386167;1.3;_
2025-11-03T09:12:14.025 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.4250275;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4448;2460982.80016233;9.20386167;1.3;_
2025-11-03T09:12:14.025 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:14.025 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:14.025 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:14.026 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:14.026 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:14.026 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.4250275, teldec = -24.256623
2025-11-03T09:12:14.027 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.4250275 -24.256623
2025-11-03T09:12:14.027 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.4250275 -24.256623
2025-11-03T09:12:14.027 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4250275 -24.256623
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4250275;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4448;2460982.80016235;9.20386167;1.3;_14.4007766788249 -24.1404360963756
2025-11-03T09:12:14.028 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.4007766788249     dec_j2k = -24.1404360963756
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966952933568887;171.162368059163;_
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966952933568887;171.162368059163;_
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:14.028 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:14.030 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:14.031 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56309)
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:14.036 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:14.043 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:14.044 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:14.044 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:14.044 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:12:14.044 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80016233, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966952933568887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4250275, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4448, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4007766788249, telescope_dec_j2k=-24.1404360963756, observability=1)
2025-11-03T09:12:14.044 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3770883083343506 seconds ago
2025-11-03T09:12:14.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:14
2025-11-03T09:12:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7129099369049072s
2025-11-03T09:12:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7129099369049072
2025-11-03T09:12:15.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:15
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3169653415679932s
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:15.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4254102;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44518;2460982.8001778;9.20424333;1.3;_
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4254102;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44518;2460982.8001778;9.20424333;1.3;_
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:15.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:15.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4254102, teldec = -24.256623
2025-11-03T09:12:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4254102 -24.256623
2025-11-03T09:12:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4254102 -24.256623
2025-11-03T09:12:15.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4254102 -24.256623
2025-11-03T09:12:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4254102;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44518;2460982.80017782;9.20424333;1.3;_14.4011590295611 -24.1404442059069
2025-11-03T09:12:15.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4011590295611     dec_j2k = -24.1404442059069
2025-11-03T09:12:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:15.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966950526852318;171.162362694745;_
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966950526852318;171.162362694745;_
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:15.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:15.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:15.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55019)
2025-11-03T09:12:15.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:15.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:15.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:15.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:15.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:15.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:15.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:15.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:15.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:15.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8001778, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966950526852318, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4254102, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44518, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4011590295611, telescope_dec_j2k=-24.1404442059069, observability=1)
2025-11-03T09:12:15.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:15
2025-11-03T09:12:15.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:15.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022193193435668945s
2025-11-03T09:12:15.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022193193435668945
2025-11-03T09:12:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:16
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4030911922454834s
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4258033;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44557;2460982.80019425;9.20463528;1.3;_
2025-11-03T09:12:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4258033;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44557;2460982.80019425;9.20463528;1.3;_
2025-11-03T09:12:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:16.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4258033, teldec = -24.256623
2025-11-03T09:12:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4258033 -24.256623
2025-11-03T09:12:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4258033 -24.256623
2025-11-03T09:12:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4258033 -24.256623
2025-11-03T09:12:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4258033;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44557;2460982.80019427;9.20463528;1.3;_14.4015517708275 -24.1404525370472
2025-11-03T09:12:16.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4015517708275     dec_j2k = -24.1404525370472
2025-11-03T09:12:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966952933568887;171.162362694745;_
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966952933568887;171.162362694745;_
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42591)
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:16.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:16.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80019425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966952933568887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4258033, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44557, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4015517708275, telescope_dec_j2k=-24.1404525370472, observability=1)
2025-11-03T09:12:17.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:17
2025-11-03T09:12:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.563936710357666s
2025-11-03T09:12:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.563936710357666
2025-11-03T09:12:17.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:17
2025-11-03T09:12:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5910391807556152s
2025-11-03T09:12:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5910391807556152
2025-11-03T09:12:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:18
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9635796546936035s
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4263631;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44613;2460982.80021718;9.20519361;1.3;_
2025-11-03T09:12:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4263631;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44613;2460982.80021718;9.20519361;1.3;_
2025-11-03T09:12:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:18.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4263631, teldec = -24.256623
2025-11-03T09:12:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4263631 -24.256623
2025-11-03T09:12:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4263631 -24.256623
2025-11-03T09:12:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4263631 -24.256623
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4263631;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44613;2460982.80021721;9.20519361;1.3;_14.4021110600054 -24.140464403284
2025-11-03T09:12:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4021110600054     dec_j2k = -24.140464403284
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966956543643739;171.162357330327;_
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966956543643739;171.162357330327;_
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58077)
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80021718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966956543643739, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4263631, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4021110600054, telescope_dec_j2k=-24.140464403284, observability=1)
2025-11-03T09:12:19.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:19
2025-11-03T09:12:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5816025733947754s
2025-11-03T09:12:19.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5816025733947754
2025-11-03T09:12:19.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:19
2025-11-03T09:12:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041536331176758s
2025-11-03T09:12:19.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041536331176758
2025-11-03T09:12:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:20
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826843738555908s
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4268951;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44669;2460982.80024038;9.20575167;1.3;_
2025-11-03T09:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4268951;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44669;2460982.80024038;9.20575167;1.3;_
2025-11-03T09:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4268951, teldec = -24.256623
2025-11-03T09:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4268951 -24.256623
2025-11-03T09:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4268951 -24.256623
2025-11-03T09:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4268951 -24.256623
2025-11-03T09:12:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4269227;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44669;2460982.8002404;9.20575167;1.3;_14.4026425745924 -24.140475682578
2025-11-03T09:12:20.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4026425745924     dec_j2k = -24.140475682578
2025-11-03T09:12:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966952131330031;171.162351965909;_
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966952131330031;171.162351965909;_
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37473)
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80024038, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966952131330031, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4268951, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44669, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4026425745924, telescope_dec_j2k=-24.140475682578, observability=1)
2025-11-03T09:12:21.574 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:21
2025-11-03T09:12:21.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:21.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7872745990753174s
2025-11-03T09:12:21.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7872745990753174
2025-11-03T09:12:21.599 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:21
2025-11-03T09:12:21.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:21.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8118712902069092s
2025-11-03T09:12:21.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8118712902069092
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Status age = 1.5827598571777344s
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:22.370 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:22.371 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:22.372 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 17;14.4273628;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44713;2460982.80025892;9.20619056;1.3;_
2025-11-03T09:12:22.372 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response 17;14.4273628;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44713;2460982.80025892;9.20619056;1.3;_
2025-11-03T09:12:22.372 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:22.372 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:22.372 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:22.373 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:22.373 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:22.373 [INFO] [Thread-88581 (handle)] [driver.py] [get_status()] Telra = 14.4273628, teldec = -24.256623
2025-11-03T09:12:22.373 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4273628 -24.256623
2025-11-03T09:12:22.373 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4273628 -24.256623
2025-11-03T09:12:22.373 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4273628 -24.256623
2025-11-03T09:12:22.374 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 17;14.4273628;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44713;2460982.80025896;9.20619056;1.3;_14.4031098478818 -24.1404856004886
2025-11-03T09:12:22.374 [INFO] [Thread-88581 (handle)] [driver.py] [get_status()] ra_j2k = 14.4031098478818     dec_j2k = -24.1404856004886
2025-11-03T09:12:22.374 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:22.374 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:22.374 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 140;0.0966954939166027;171.162351965909;_
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response 140;0.0966954939166027;171.162351965909;_
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:22.375 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:22.376 [DEBUG] [Thread-88581 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:22.376 [DEBUG] [Thread-88581 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:22.376 [DEBUG] [Thread-88581 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32923)
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:22.377 [DEBUG] [Thread-88581 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:22.384 [DEBUG] [Thread-88581 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:22.385 [DEBUG] [Thread-88581 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:22.385 [INFO] [Thread-88581 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80025892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966954939166027, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4273628, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44713, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4031098478818, telescope_dec_j2k=-24.1404856004886, observability=1)
2025-11-03T09:12:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:22
2025-11-03T09:12:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38058042526245117s
2025-11-03T09:12:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38058042526245117
2025-11-03T09:12:23.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:23
2025-11-03T09:12:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9790818691253662s
2025-11-03T09:12:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9790818691253662
2025-11-03T09:12:23.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:23
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0005371570587158s
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:23.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:23.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:23.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4276438;-24.256629;50.108598;89.993063;50.08601;90.12018;11.44741;2460982.80027068;9.20647056;1.3;_
2025-11-03T09:12:23.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4276438;-24.256629;50.108598;89.993063;50.08601;90.12018;11.44741;2460982.80027068;9.20647056;1.3;_
2025-11-03T09:12:23.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:23.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:23.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:23.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:23.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:23.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4276438, teldec = -24.256629
2025-11-03T09:12:23.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4276438 -24.256629
2025-11-03T09:12:23.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4276438 -24.256629
2025-11-03T09:12:23.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4276438 -24.256629
2025-11-03T09:12:23.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4276438;-24.256629;50.108598;89.993063;50.08601;90.12018;11.44741;2460982.80027071;9.20647056;1.3;_14.4033905908439 -24.1404975601301
2025-11-03T09:12:23.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4033905908439     dec_j2k = -24.1404975601301
2025-11-03T09:12:23.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:23.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:23.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966952131330031;171.162368059163;_
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966952131330031;171.162368059163;_
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:23.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:23.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:23.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48157)
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:23.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:23.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:23.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80027068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966952131330031, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993063, telescope_ra=14.4276438, telescope_dec=-24.256629, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44741, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4033905908439, telescope_dec_j2k=-24.1404975601301, observability=1)
2025-11-03T09:12:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:24
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3547084331512451s
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.428036;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4478;2460982.8002866;9.20686194;1.3;_
2025-11-03T09:12:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.428036;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4478;2460982.8002866;9.20686194;1.3;_
2025-11-03T09:12:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.428036, teldec = -24.256623
2025-11-03T09:12:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.428036 -24.256623
2025-11-03T09:12:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.428036 -24.256623
2025-11-03T09:12:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.428036 -24.256623
2025-11-03T09:12:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.428036;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4478;2460982.80028662;9.20686194;1.3;_14.4037824337359 -24.1404998792684
2025-11-03T09:12:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4037824337359     dec_j2k = -24.1404998792684
2025-11-03T09:12:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966954538046599;171.162346601491;_
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966954538046599;171.162346601491;_
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50983)
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:24.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:24.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8002866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966954538046599, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.428036, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4478, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4037824337359, telescope_dec_j2k=-24.1404998792684, observability=1)
2025-11-03T09:12:25.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:25
2025-11-03T09:12:25.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:25.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5835928916931152s
2025-11-03T09:12:25.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5835928916931152
2025-11-03T09:12:25.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:25
2025-11-03T09:12:25.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:25.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.605764627456665s
2025-11-03T09:12:25.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.605764627456665
2025-11-03T09:12:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:26
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832139015197754s
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4285881;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44836;2460982.80030979;9.2074125;1.3;_
2025-11-03T09:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4285881;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44836;2460982.80030979;9.2074125;1.3;_
2025-11-03T09:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4285881, teldec = -24.256623
2025-11-03T09:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4285881 -24.256623
2025-11-03T09:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4285881 -24.256623
2025-11-03T09:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4285881 -24.256623
2025-11-03T09:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4285881;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44836;2460982.80030982;9.2074125;1.3;_14.404334030115 -24.140511592206
2025-11-03T09:12:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.404334030115     dec_j2k = -24.140511592206
2025-11-03T09:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966959351479736;171.162357330327;_
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966959351479736;171.162357330327;_
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59907)
2025-11-03T09:12:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:26.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:26.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80030979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966959351479736, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4285881, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.404334030115, telescope_dec_j2k=-24.140511592206, observability=1)
2025-11-03T09:12:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:27
2025-11-03T09:12:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5778422355651855s
2025-11-03T09:12:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5778422355651855
2025-11-03T09:12:27.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:27
2025-11-03T09:12:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6002676486968994s
2025-11-03T09:12:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6002676486968994
2025-11-03T09:12:28.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:28
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9744575023651123s
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4291496;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44892;2460982.80033287;9.2079725;1.3;_
2025-11-03T09:12:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4291496;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44892;2460982.80033287;9.2079725;1.3;_
2025-11-03T09:12:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4291496, teldec = -24.256623
2025-11-03T09:12:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4291496 -24.256623
2025-11-03T09:12:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4291496 -24.256623
2025-11-03T09:12:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4291496 -24.256623
2025-11-03T09:12:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4291496;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44892;2460982.80033289;9.2079725;1.3;_14.404895017964 -24.1405235070867
2025-11-03T09:12:28.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.404895017964     dec_j2k = -24.1405235070867
2025-11-03T09:12:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966952933568887;171.162357330327;_
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966952933568887;171.162357330327;_
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47933)
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:28.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:28.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:28.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80033287, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966952933568887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4291496, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44892, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.404895017964, telescope_dec_j2k=-24.1405235070867, observability=1)
2025-11-03T09:12:29.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:29
2025-11-03T09:12:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.590850830078125s
2025-11-03T09:12:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.590850830078125
2025-11-03T09:12:29.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:29
2025-11-03T09:12:29.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:29.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6126019954681396s
2025-11-03T09:12:29.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6126019954681396
2025-11-03T09:12:30.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:30
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853217601776123s
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4297031;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44947;2460982.80035603;9.20852444;1.3;_
2025-11-03T09:12:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4297031;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44947;2460982.80035603;9.20852444;1.3;_
2025-11-03T09:12:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:30.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4297031, teldec = -24.256623
2025-11-03T09:12:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4297031 -24.256623
2025-11-03T09:12:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4297031 -24.256623
2025-11-03T09:12:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4297031 -24.256623
2025-11-03T09:12:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4297031;-24.256623;50.108598;89.993052;50.08601;90.12017;11.44947;2460982.80035605;9.20852444;1.3;_14.4054480131538 -24.1405352546962
2025-11-03T09:12:30.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4054480131538     dec_j2k = -24.1405352546962
2025-11-03T09:12:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966958148121451;171.162357330327;_
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966958148121451;171.162357330327;_
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44481)
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:30.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:30.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:30.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:30.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:30.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80035603, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966958148121451, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4297031, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.44947, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4054480131538, telescope_dec_j2k=-24.1405352546962, observability=1)
2025-11-03T09:12:31.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:31
2025-11-03T09:12:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5844361782073975s
2025-11-03T09:12:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5844361782073975
2025-11-03T09:12:31.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:31
2025-11-03T09:12:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6060590744018555s
2025-11-03T09:12:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6060590744018555
2025-11-03T09:12:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:32
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789607524871826s
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4302646;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45003;2460982.80037914;9.20908444;1.3;_
2025-11-03T09:12:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4302646;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45003;2460982.80037914;9.20908444;1.3;_
2025-11-03T09:12:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4302646, teldec = -24.256623
2025-11-03T09:12:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4302646 -24.256623
2025-11-03T09:12:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4302646 -24.256623
2025-11-03T09:12:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4302646 -24.256623
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4302646;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45003;2460982.80037918;9.20908444;1.3;_14.4060090010919 -24.1405471746219
2025-11-03T09:12:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4060090010919     dec_j2k = -24.1405471746219
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966959351479736;171.162357330327;_
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966959351479736;171.162357330327;_
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55831)
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:32.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:32.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:32.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80037914, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966959351479736, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4302646, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45003, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4060090010919, telescope_dec_j2k=-24.1405471746219, observability=1)
2025-11-03T09:12:33.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:33
2025-11-03T09:12:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5864691734313965s
2025-11-03T09:12:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5864691734313965
2025-11-03T09:12:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:33
2025-11-03T09:12:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6089541912078857s
2025-11-03T09:12:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6089541912078857
2025-11-03T09:12:34.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:34
2025-11-03T09:12:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829015731811523s
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4308167;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45058;2460982.80040232;9.209635;1.3;_
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4308167;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45058;2460982.80040232;9.209635;1.3;_
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:34.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4308167, teldec = -24.256623
2025-11-03T09:12:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4308167 -24.256623
2025-11-03T09:12:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4308167 -24.256623
2025-11-03T09:12:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4308167 -24.256623
2025-11-03T09:12:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4308167;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45058;2460982.80040234;9.209635;1.3;_14.406560597646 -24.1405588974744
2025-11-03T09:12:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.406560597646     dec_j2k = -24.1405588974744
2025-11-03T09:12:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966960153718592;171.162357330327;_
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966960153718592;171.162357330327;_
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35897)
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:34.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:34.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:34.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80040232, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966960153718592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4308167, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45058, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.406560597646, telescope_dec_j2k=-24.1405588974744, observability=1)
2025-11-03T09:12:35.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:35
2025-11-03T09:12:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5837147235870361s
2025-11-03T09:12:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5837147235870361
2025-11-03T09:12:35.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:35
2025-11-03T09:12:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6057722568511963s
2025-11-03T09:12:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6057722568511963
2025-11-03T09:12:36.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:36
2025-11-03T09:12:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795713424682617s
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4313782;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45115;2460982.80042545;9.210195;1.3;_
2025-11-03T09:12:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4313782;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45115;2460982.80042545;9.210195;1.3;_
2025-11-03T09:12:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:36.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4313782, teldec = -24.256623
2025-11-03T09:12:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4313782 -24.256623
2025-11-03T09:12:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4313782 -24.256623
2025-11-03T09:12:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4313782 -24.256623
2025-11-03T09:12:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4313782;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45115;2460982.80042549;9.210195;1.3;_14.4071215856731 -24.1405708224376
2025-11-03T09:12:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4071215856731     dec_j2k = -24.1405708224376
2025-11-03T09:12:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966957747002023;171.162362694745;_
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966957747002023;171.162362694745;_
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52505)
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:36.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:36.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80042545, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966957747002023, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4313782, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45115, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4071215856731, telescope_dec_j2k=-24.1405708224376, observability=1)
2025-11-03T09:12:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:37
2025-11-03T09:12:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5825366973876953s
2025-11-03T09:12:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5825366973876953
2025-11-03T09:12:37.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:37
2025-11-03T09:12:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6047806739807129s
2025-11-03T09:12:37.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6047806739807129
2025-11-03T09:12:38.585 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:38.585 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:38.585 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:38.585 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:38.586 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:12:38.587 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:12:38.588 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:38.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:38
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780373573303223s
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4319311;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4517;2460982.8004486;9.21074639;1.3;_
2025-11-03T09:12:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4319311;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4517;2460982.8004486;9.21074639;1.3;_
2025-11-03T09:12:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:38.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4319311, teldec = -24.256623
2025-11-03T09:12:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4319311 -24.256623
2025-11-03T09:12:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4319311 -24.256623
2025-11-03T09:12:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4319311 -24.256623
2025-11-03T09:12:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4319311;-24.256623;50.108598;89.993052;50.08601;90.12017;11.4517;2460982.80044862;9.21074639;1.3;_14.4076739815854 -24.1405825672384
2025-11-03T09:12:38.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4076739815854     dec_j2k = -24.1405825672384
2025-11-03T09:12:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966955340285455;171.162357330327;_
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966955340285455;171.162357330327;_
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47511)
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8004486, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966955340285455, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4319311, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4076739815854, telescope_dec_j2k=-24.1405825672384, observability=1)
2025-11-03T09:12:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:39
2025-11-03T09:12:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845372676849365s
2025-11-03T09:12:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845372676849365
2025-11-03T09:12:39.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:39
2025-11-03T09:12:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6071076393127441s
2025-11-03T09:12:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6071076393127441
2025-11-03T09:12:40.424 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:40.424 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Status age = 1.6463415622711182s
2025-11-03T09:12:40.424 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:40.424 [DEBUG] [Thread-88582 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:40.425 [DEBUG] [Thread-88582 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:40.425 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:40.425 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:40.425 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:40.426 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:40.427 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 17;14.4323801;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45215;2460982.8004679;9.21119417;1.3;_
2025-11-03T09:12:40.427 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response 17;14.4323801;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45215;2460982.8004679;9.21119417;1.3;_
2025-11-03T09:12:40.427 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:40.427 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:40.427 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:40.428 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:40.428 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:40.428 [INFO] [Thread-88582 (handle)] [driver.py] [get_status()] Telra = 14.4323801, teldec = -24.256623
2025-11-03T09:12:40.428 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4323801 -24.256623
2025-11-03T09:12:40.428 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4323801 -24.256623
2025-11-03T09:12:40.428 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4323801 -24.256623
2025-11-03T09:12:40.429 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 17;14.4323801;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45215;2460982.80046793;9.21119417;1.3;_14.408122572257 -24.1405921067885
2025-11-03T09:12:40.429 [INFO] [Thread-88582 (handle)] [driver.py] [get_status()] ra_j2k = 14.408122572257     dec_j2k = -24.1405921067885
2025-11-03T09:12:40.429 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:40.429 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:40.429 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 140;0.0966957747002023;171.162357330327;_
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response 140;0.0966957747002023;171.162357330327;_
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:40.430 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:40.431 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:40.432 [DEBUG] [Thread-88582 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:40.432 [DEBUG] [Thread-88582 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:40.432 [DEBUG] [Thread-88582 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46879)
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:40.433 [DEBUG] [Thread-88582 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:40.440 [DEBUG] [Thread-88582 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:40.440 [DEBUG] [Thread-88582 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:40.440 [DEBUG] [Thread-88582 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:40.441 [DEBUG] [Thread-88582 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:40.441 [INFO] [Thread-88582 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8004679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966957747002023, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4323801, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45215, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.408122572257, telescope_dec_j2k=-24.1405921067885, observability=1)
2025-11-03T09:12:40.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:40
2025-11-03T09:12:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31589484214782715s
2025-11-03T09:12:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31589484214782715
2025-11-03T09:12:41.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:41
2025-11-03T09:12:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9209854602813721s
2025-11-03T09:12:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9209854602813721
2025-11-03T09:12:41.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:41
2025-11-03T09:12:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9425740242004395s
2025-11-03T09:12:41.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9425740242004395
2025-11-03T09:12:42.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:42
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.315702438354492s
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4330255;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45279;2460982.80049488;9.21183778;1.3;_
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4330255;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45279;2460982.80049488;9.21183778;1.3;_
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:42.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4330255, teldec = -24.256623
2025-11-03T09:12:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4330255 -24.256623
2025-11-03T09:12:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4330255 -24.256623
2025-11-03T09:12:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4330255 -24.256623
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4330255;-24.256623;50.108598;89.993052;50.08601;90.12017;11.45279;2460982.80049492;9.21183778;1.3;_14.408767383932 -24.1406058219393
2025-11-03T09:12:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.408767383932     dec_j2k = -24.1406058219393
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966956543643739;171.162362694745;_
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966956543643739;171.162362694745;_
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59359)
2025-11-03T09:12:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:42.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:42.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:42.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80049488, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966956543643739, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108598, telescope_az=89.993052, telescope_ra=14.4330255, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.408767383932, telescope_dec_j2k=-24.1406058219393, observability=1)
2025-11-03T09:12:43.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:43
2025-11-03T09:12:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5884966850280762s
2025-11-03T09:12:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5884966850280762
2025-11-03T09:12:43.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:43
2025-11-03T09:12:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6094844341278076s
2025-11-03T09:12:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6094844341278076
2025-11-03T09:12:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:44
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9825096130371094s
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4336057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45337;2460982.80051806;9.21241639;1.3;_
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4336057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45337;2460982.80051806;9.21241639;1.3;_
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:44.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4336057, teldec = -24.256623
2025-11-03T09:12:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4336057 -24.256623
2025-11-03T09:12:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4336057 -24.256623
2025-11-03T09:12:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4336057 -24.256623
2025-11-03T09:12:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4336057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45337;2460982.80051809;9.21241639;1.3;_14.4093470550918 -24.1406181544128
2025-11-03T09:12:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4093470550918     dec_j2k = -24.1406181544128
2025-11-03T09:12:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966958549240879;171.162368059163;_
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966958549240879;171.162368059163;_
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47521)
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:44.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:44.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:44.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80051806, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966958549240879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4336057, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45337, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4093470550918, telescope_dec_j2k=-24.1406181544128, observability=1)
2025-11-03T09:12:46.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:46
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5880742073059082s
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4340544;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45382;2460982.80053666;9.21286389;1.3;_
2025-11-03T09:12:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4340544;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45382;2460982.80053666;9.21286389;1.3;_
2025-11-03T09:12:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:46.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4340544, teldec = -24.256623
2025-11-03T09:12:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4340544 -24.256623
2025-11-03T09:12:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4340544 -24.256623
2025-11-03T09:12:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4340544 -24.256623
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4340544;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45382;2460982.80053668;9.21286389;1.3;_14.409795346144 -24.1406276936394
2025-11-03T09:12:46.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.409795346144     dec_j2k = -24.1406276936394
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096696055483802;171.162357330327;_
2025-11-03T09:12:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096696055483802;171.162357330327;_
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:46.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54217)
2025-11-03T09:12:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:46.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:46.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:46.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80053666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096696055483802, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4340544, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45382, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.409795346144, telescope_dec_j2k=-24.1406276936394, observability=1)
2025-11-03T09:12:46.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:46
2025-11-03T09:12:46.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:46.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023513078689575195s
2025-11-03T09:12:46.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023513078689575195
2025-11-03T09:12:46.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:46
2025-11-03T09:12:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3720846176147461s
2025-11-03T09:12:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3720846176147461
2025-11-03T09:12:47.055 [DEBUG] [Thread-88583 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:47.055 [DEBUG] [Thread-88583 (handle)] [server.py] [get_status()] Status age = 0.6721069812774658s
2025-11-03T09:12:47.055 [DEBUG] [Thread-88583 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6721069812774658
2025-11-03T09:12:48.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:48
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981092929840088s
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4346057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45437;2460982.80055978;9.21341361;1.3;_
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4346057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45437;2460982.80055978;9.21341361;1.3;_
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:48.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4346057, teldec = -24.256623
2025-11-03T09:12:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4346057 -24.256623
2025-11-03T09:12:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4346057 -24.256623
2025-11-03T09:12:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4346057 -24.256623
2025-11-03T09:12:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4346057;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45437;2460982.8005598;9.21341361;1.3;_14.4103461437252 -24.1406394163304
2025-11-03T09:12:48.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4103461437252     dec_j2k = -24.1406394163304
2025-11-03T09:12:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966966571629441;171.162362694745;_
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966966571629441;171.162362694745;_
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48483)
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:48.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:48.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80055978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966966571629441, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4346057, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45437, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4103461437252, telescope_dec_j2k=-24.1406394163304, observability=1)
2025-11-03T09:12:48.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:48
2025-11-03T09:12:48.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:48.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021366596221923828s
2025-11-03T09:12:48.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021366596221923828
2025-11-03T09:12:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:48
2025-11-03T09:12:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3726344108581543s
2025-11-03T09:12:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3726344108581543
2025-11-03T09:12:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:50
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9743783473968506s
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4351664;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45493;2460982.80058289;9.21397278;1.3;_
2025-11-03T09:12:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4351664;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45493;2460982.80058289;9.21397278;1.3;_
2025-11-03T09:12:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:50.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4351664, teldec = -24.256623
2025-11-03T09:12:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4351664 -24.256623
2025-11-03T09:12:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4351664 -24.256623
2025-11-03T09:12:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4351664 -24.256623
2025-11-03T09:12:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4351664;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45493;2460982.80058292;9.21397278;1.3;_14.4109063327843 -24.1406513414101
2025-11-03T09:12:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4109063327843     dec_j2k = -24.1406513414101
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966961357076876;171.162351965909;_
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966961357076876;171.162351965909;_
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:50.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59757)
2025-11-03T09:12:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:50.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:50.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:50.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80058289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966961357076876, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4351664, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45493, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4109063327843, telescope_dec_j2k=-24.1406513414101, observability=1)
2025-11-03T09:12:50.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:50
2025-11-03T09:12:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023838281631469727s
2025-11-03T09:12:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023838281631469727
2025-11-03T09:12:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:50
2025-11-03T09:12:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3754994869232178s
2025-11-03T09:12:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3754994869232178
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.2009422779083252s
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:51.583 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4355028;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45527;2460982.80059704;9.21430833;1.3;_
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.4355028;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45527;2460982.80059704;9.21430833;1.3;_
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:51.584 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:51.585 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:51.585 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:51.585 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:51.585 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.4355028, teldec = -24.256623
2025-11-03T09:12:51.585 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4355028 -24.256623
2025-11-03T09:12:51.585 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4355028 -24.256623
2025-11-03T09:12:51.586 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4355028 -24.256623
2025-11-03T09:12:51.586 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.4355028;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45527;2460982.80059706;9.21430833;1.3;_14.4112424262595 -24.1406584972473
2025-11-03T09:12:51.586 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.4112424262595     dec_j2k = -24.1406584972473
2025-11-03T09:12:51.586 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0966961357076876;171.162357330327;_
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0966961357076876;171.162357330327;_
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:51.587 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:51.588 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:51.589 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:51.589 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37261)
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:51.590 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:51.597 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:51.598 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:51.598 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80059704, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966961357076876, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4355028, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45527, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4112424262595, telescope_dec_j2k=-24.1406584972473, observability=1)
2025-11-03T09:12:52.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:52
2025-11-03T09:12:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7655797004699707s
2025-11-03T09:12:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7655797004699707
2025-11-03T09:12:52.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:52
2025-11-03T09:12:52.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:52.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7880523204803467s
2025-11-03T09:12:52.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7880523204803467
2025-11-03T09:12:52.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:52
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1568546295166016s
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:52.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4358106;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45558;2460982.8006106;9.21461528;1.3;_
2025-11-03T09:12:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4358106;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45558;2460982.8006106;9.21461528;1.3;_
2025-11-03T09:12:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:52.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4358106, teldec = -24.256623
2025-11-03T09:12:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4358106 -24.256623
2025-11-03T09:12:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4358106 -24.256623
2025-11-03T09:12:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4358106 -24.256623
2025-11-03T09:12:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4358106;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45558;2460982.80061064;9.21461528;1.3;_14.411549945809 -24.1406650455087
2025-11-03T09:12:52.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.411549945809     dec_j2k = -24.1406650455087
2025-11-03T09:12:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966957747002023;171.162362694745;_
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966957747002023;171.162362694745;_
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34267)
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:52.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:52.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8006106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966957747002023, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4358106, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.411549945809, telescope_dec_j2k=-24.1406650455087, observability=1)
2025-11-03T09:12:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:54
2025-11-03T09:12:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5842609405517578s
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4362769;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45605;2460982.8006292;9.21508028;1.3;_
2025-11-03T09:12:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4362769;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45605;2460982.8006292;9.21508028;1.3;_
2025-11-03T09:12:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4362769, teldec = -24.256623
2025-11-03T09:12:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4362769 -24.256623
2025-11-03T09:12:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4362769 -24.256623
2025-11-03T09:12:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4362769 -24.256623
2025-11-03T09:12:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4362769;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45605;2460982.80062922;9.21508028;1.3;_14.4120158209676 -24.1406749672157
2025-11-03T09:12:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4120158209676     dec_j2k = -24.1406749672157
2025-11-03T09:12:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966966170510013;171.162351965909;_
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966966170510013;171.162351965909;_
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52677)
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:54.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:54.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:54.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8006292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966966170510013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4362769, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45605, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4120158209676, telescope_dec_j2k=-24.1406749672157, observability=1)
2025-11-03T09:12:54.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:54
2025-11-03T09:12:54.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:54.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02112722396850586s
2025-11-03T09:12:54.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02112722396850586
2025-11-03T09:12:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:54
2025-11-03T09:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38668298721313477s
2025-11-03T09:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38668298721313477
2025-11-03T09:12:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:56
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984454870223999s
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4368376;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45661;2460982.80065235;9.21563944;1.3;_
2025-11-03T09:12:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4368376;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45661;2460982.80065235;9.21563944;1.3;_
2025-11-03T09:12:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4368376, teldec = -24.256623
2025-11-03T09:12:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4368376 -24.256623
2025-11-03T09:12:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4368376 -24.256623
2025-11-03T09:12:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4368376 -24.256623
2025-11-03T09:12:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4368376;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45661;2460982.80065237;9.21563944;1.3;_14.4125760101604 -24.1406868998377
2025-11-03T09:12:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4125760101604     dec_j2k = -24.1406868998377
2025-11-03T09:12:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09669645660323;171.162351965909;_
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09669645660323;171.162351965909;_
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:12:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:12:56.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59327)
2025-11-03T09:12:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:56.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:56.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:56.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80065235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09669645660323, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4368376, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45661, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4125760101604, telescope_dec_j2k=-24.1406868998377, observability=1)
2025-11-03T09:12:56.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:56
2025-11-03T09:12:56.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:56.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021822452545166016s
2025-11-03T09:12:56.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021822452545166016
2025-11-03T09:12:56.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:56
2025-11-03T09:12:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3931412696838379s
2025-11-03T09:12:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3931412696838379
2025-11-03T09:12:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5615217685699463s
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:12:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:12:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4372579;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45703;2460982.80067063;9.21605861;1.3;_
2025-11-03T09:12:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4372579;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45703;2460982.80067063;9.21605861;1.3;_
2025-11-03T09:12:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:12:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:12:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:12:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:12:57.943 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4372579, teldec = -24.256623
2025-11-03T09:12:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4372579 -24.256623
2025-11-03T09:12:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4372579 -24.256623
2025-11-03T09:12:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4372579 -24.256623
2025-11-03T09:12:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4372579;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45703;2460982.80067065;9.21605861;1.3;_14.4129959272894 -24.1406958461749
2025-11-03T09:12:57.944 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.4129959272894     dec_j2k = -24.1406958461749
2025-11-03T09:12:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:12:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:12:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966966571629441;171.162357330327;_
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966966571629441;171.162357330327;_
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:12:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:12:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:12:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49421)
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:12:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:12:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:12:57.960 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:12:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:12:57.960 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80067063, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966966571629441, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4372579, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45703, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4129959272894, telescope_dec_j2k=-24.1406958461749, observability=1)
2025-11-03T09:12:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:58
2025-11-03T09:12:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4006326198577881s
2025-11-03T09:12:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4006326198577881
2025-11-03T09:12:58.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:58
2025-11-03T09:12:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42465877532958984s
2025-11-03T09:12:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42465877532958984
2025-11-03T09:12:58.486 [DEBUG] [Thread-88584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:58.486 [DEBUG] [Thread-88584 (handle)] [server.py] [get_status()] Status age = 0.5266060829162598s
2025-11-03T09:12:58.486 [DEBUG] [Thread-88584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5266060829162598
2025-11-03T09:12:58.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:12:58
2025-11-03T09:12:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:12:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.806739091873169s
2025-11-03T09:12:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.806739091873169
2025-11-03T09:13:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:00
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4029457569122314s
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4379484;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45772;2460982.80069866;9.21674722;1.3;_
2025-11-03T09:13:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4379484;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45772;2460982.80069866;9.21674722;1.3;_
2025-11-03T09:13:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4379484, teldec = -24.256623
2025-11-03T09:13:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4379484 -24.256623
2025-11-03T09:13:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4379484 -24.256623
2025-11-03T09:13:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4379484 -24.256623
2025-11-03T09:13:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4379484;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45772;2460982.80069869;9.21674722;1.3;_14.4136857983352 -24.1407105469668
2025-11-03T09:13:00.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4136857983352     dec_j2k = -24.1407105469668
2025-11-03T09:13:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966966170510013;171.162351965909;_
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966966170510013;171.162351965909;_
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50935)
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:00.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:00.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:00.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:00.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:00.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80069866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966966170510013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4379484, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45772, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4136857983352, telescope_dec_j2k=-24.1407105469668, observability=1)
2025-11-03T09:13:00.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:00
2025-11-03T09:13:00.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:00.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0233614444732666s
2025-11-03T09:13:00.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0233614444732666
2025-11-03T09:13:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:00
2025-11-03T09:13:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37508392333984375s
2025-11-03T09:13:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37508392333984375
2025-11-03T09:13:02.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:02
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824001789093018s
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4385091;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45828;2460982.80072184;9.21730639;1.3;_
2025-11-03T09:13:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4385091;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45828;2460982.80072184;9.21730639;1.3;_
2025-11-03T09:13:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:02.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4385091, teldec = -24.256623
2025-11-03T09:13:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4385091 -24.256623
2025-11-03T09:13:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4385091 -24.256623
2025-11-03T09:13:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4385091 -24.256623
2025-11-03T09:13:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4385091;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45828;2460982.80072186;9.21730639;1.3;_14.4142459876618 -24.1407224871301
2025-11-03T09:13:02.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4142459876618     dec_j2k = -24.1407224871301
2025-11-03T09:13:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966973390659717;171.162357330327;_
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966973390659717;171.162357330327;_
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40493)
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:02.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:02.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80072184, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966973390659717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4385091, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45828, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4142459876618, telescope_dec_j2k=-24.1407224871301, observability=1)
2025-11-03T09:13:02.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:02
2025-11-03T09:13:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023346662521362305s
2025-11-03T09:13:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023346662521362305
2025-11-03T09:13:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:02
2025-11-03T09:13:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37931323051452637s
2025-11-03T09:13:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37931323051452637
2025-11-03T09:13:04.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:04
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980351448059082s
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4390414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45881;2460982.80074494;9.21783722;1.3;_
2025-11-03T09:13:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4390414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45881;2460982.80074494;9.21783722;1.3;_
2025-11-03T09:13:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4390414, teldec = -24.256623
2025-11-03T09:13:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4390414 -24.256623
2025-11-03T09:13:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4390414 -24.256623
2025-11-03T09:13:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4390414 -24.256623
2025-11-03T09:13:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4390414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45881;2460982.80074497;9.21783722;1.3;_14.414777802896 -24.1407338248528
2025-11-03T09:13:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.414777802896     dec_j2k = -24.1407338248528
2025-11-03T09:13:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966965368271156;171.162351965909;_
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966965368271156;171.162351965909;_
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37705)
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:04.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:04.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:04.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:04.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80074494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966965368271156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4390414, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45881, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.414777802896, telescope_dec_j2k=-24.1407338248528, observability=1)
2025-11-03T09:13:04.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:04
2025-11-03T09:13:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025650501251220703s
2025-11-03T09:13:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025650501251220703
2025-11-03T09:13:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:04
2025-11-03T09:13:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3804466724395752s
2025-11-03T09:13:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3804466724395752
2025-11-03T09:13:06.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:06
2025-11-03T09:13:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847650527954102s
2025-11-03T09:13:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4396202;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45939;2460982.80076811;9.21841444;1.3;_
2025-11-03T09:13:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4396202;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45939;2460982.80076811;9.21841444;1.3;_
2025-11-03T09:13:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:06.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4396202, teldec = -24.256623
2025-11-03T09:13:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4396202 -24.256623
2025-11-03T09:13:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4396202 -24.256623
2025-11-03T09:13:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4396202 -24.256623
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4396202;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45939;2460982.80076815;9.21841444;1.3;_14.4153560758286 -24.1407461555888
2025-11-03T09:13:06.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4153560758286     dec_j2k = -24.1407461555888
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966968978346009;171.162357330327;_
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966968978346009;171.162357330327;_
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52617)
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:06.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:06.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80076811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966968978346009, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4396202, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45939, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4153560758286, telescope_dec_j2k=-24.1407461555888, observability=1)
2025-11-03T09:13:06.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:06
2025-11-03T09:13:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021990537643432617s
2025-11-03T09:13:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021990537643432617
2025-11-03T09:13:06.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:06
2025-11-03T09:13:06.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:06.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3699934482574463s
2025-11-03T09:13:06.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3699934482574463
2025-11-03T09:13:08.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:08
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808430671691895s
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4401806;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45995;2460982.80079128;9.21897333;1.3;_
2025-11-03T09:13:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4401806;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45995;2460982.80079128;9.21897333;1.3;_
2025-11-03T09:13:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:08.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4401806, teldec = -24.256623
2025-11-03T09:13:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4401806 -24.256623
2025-11-03T09:13:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4401806 -24.256623
2025-11-03T09:13:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4401806 -24.256623
2025-11-03T09:13:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4401806;-24.256623;50.108597;89.993052;50.08601;90.12017;11.45995;2460982.80079132;9.21897333;1.3;_14.4159159655623 -24.1407580968993
2025-11-03T09:13:08.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4159159655623     dec_j2k = -24.1407580968993
2025-11-03T09:13:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966976599615142;171.162362694745;_
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966976599615142;171.162362694745;_
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38831)
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:08.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:08.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80079128, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966976599615142, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4401806, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.45995, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4159159655623, telescope_dec_j2k=-24.1407580968993, observability=1)
2025-11-03T09:13:08.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:08
2025-11-03T09:13:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021798133850097656s
2025-11-03T09:13:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021798133850097656
2025-11-03T09:13:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:08
2025-11-03T09:13:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3823356628417969s
2025-11-03T09:13:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3823356628417969
2025-11-03T09:13:10.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:10
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983928918838501s
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4407411;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46051;2460982.80081444;9.21953222;1.3;_
2025-11-03T09:13:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4407411;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46051;2460982.80081444;9.21953222;1.3;_
2025-11-03T09:13:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:10.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4407411, teldec = -24.256623
2025-11-03T09:13:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4407411 -24.256623
2025-11-03T09:13:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4407411 -24.256623
2025-11-03T09:13:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4407411 -24.256623
2025-11-03T09:13:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4407411;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46051;2460982.80081447;9.21953222;1.3;_14.4164759552497 -24.140770042867
2025-11-03T09:13:10.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4164759552497     dec_j2k = -24.140770042867
2025-11-03T09:13:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966966170510013;171.162357330327;_
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966966170510013;171.162357330327;_
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34737)
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:10.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:10.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80081444, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966966170510013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4407411, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46051, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4164759552497, telescope_dec_j2k=-24.140770042867, observability=1)
2025-11-03T09:13:10.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:10
2025-11-03T09:13:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021265506744384766s
2025-11-03T09:13:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021265506744384766
2025-11-03T09:13:10.749 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:13:10
2025-11-03T09:13:10.749 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:10.749 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3618793487548828s
2025-11-03T09:13:10.749 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3618793487548828
2025-11-03T09:13:10.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:10
2025-11-03T09:13:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3705263137817383s
2025-11-03T09:13:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3705263137817383
2025-11-03T09:13:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:12
2025-11-03T09:13:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9742991924285889s
2025-11-03T09:13:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4412728;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46104;2460982.80083754;9.2200625;1.3;_
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4412728;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46104;2460982.80083754;9.2200625;1.3;_
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4412728, teldec = -24.256623
2025-11-03T09:13:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4412728 -24.256623
2025-11-03T09:13:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4412728 -24.256623
2025-11-03T09:13:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4412728 -24.256623
2025-11-03T09:13:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4412728;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46104;2460982.80083756;9.2200625;1.3;_14.4170071711999 -24.1407813773538
2025-11-03T09:13:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4170071711999     dec_j2k = -24.1407813773538
2025-11-03T09:13:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966968577226581;171.162362694745;_
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966968577226581;171.162362694745;_
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:12.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43911)
2025-11-03T09:13:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:12.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:12.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80083754, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966968577226581, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4412728, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46104, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:12:12.567272', telescope_ra_j2k=14.4170071711999, telescope_dec_j2k=-24.1407813773538, observability=1)
2025-11-03T09:13:12.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:12
2025-11-03T09:13:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021370887756347656s
2025-11-03T09:13:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021370887756347656
2025-11-03T09:13:12.710 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:12.710 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:12.710 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:12.710 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:12.710 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:12.711 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:12.711 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:12.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:12.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:12.712 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:12.712 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:13:12.712 [INFO] [ThreadPoolExecutor-3389_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:13:12.712 [INFO] [ThreadPoolExecutor-3389_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:13:12.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:12
2025-11-03T09:13:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37253594398498535s
2025-11-03T09:13:12.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37253594398498535
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.721632719039917s
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:14.104 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:14.105 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:14.106 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4417683;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46154;2460982.80085771;9.22055667;1.3;_
2025-11-03T09:13:14.106 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.4417683;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46154;2460982.80085771;9.22055667;1.3;_
2025-11-03T09:13:14.106 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:14.106 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:14.106 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:14.107 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:14.107 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:14.107 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.4417683, teldec = -24.256623
2025-11-03T09:13:14.107 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.4417683 -24.256623
2025-11-03T09:13:14.107 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.4417683 -24.256623
2025-11-03T09:13:14.107 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4417683 -24.256623
2025-11-03T09:13:14.108 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4417683;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46154;2460982.80085773;9.22055667;1.3;_14.4175022201423 -24.1407919421952
2025-11-03T09:13:14.108 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.4175022201423     dec_j2k = -24.1407919421952
2025-11-03T09:13:14.108 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:14.108 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:14.108 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966971385062577;171.162357330327;_
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966971385062577;171.162357330327;_
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:14.109 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:14.110 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:14.111 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:14.111 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:14.111 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33003)
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:14.118 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:14.125 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:13:14.125 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80085771, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966971385062577, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4417683, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46154, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4175022201423, telescope_dec_j2k=-24.1407919421952, observability=1)
2025-11-03T09:13:14.126 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.376675844192505 seconds ago
2025-11-03T09:13:14.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:14
2025-11-03T09:13:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2390305995941162s
2025-11-03T09:13:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2390305995941162
2025-11-03T09:13:14.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:14
2025-11-03T09:13:14.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:14.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2604238986968994s
2025-11-03T09:13:14.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2604238986968994
2025-11-03T09:13:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:14
2025-11-03T09:13:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6357381343841553s
2025-11-03T09:13:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6357381343841553
2025-11-03T09:13:16.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:16
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3017148971557617s
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.442414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46218;2460982.80088459;9.22120056;1.3;_
2025-11-03T09:13:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.442414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46218;2460982.80088459;9.22120056;1.3;_
2025-11-03T09:13:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:16.430 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.442414, teldec = -24.256623
2025-11-03T09:13:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.442414 -24.256623
2025-11-03T09:13:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.442414 -24.256623
2025-11-03T09:13:16.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.442414 -24.256623
2025-11-03T09:13:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.442414;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46218;2460982.80088462;9.22120056;1.3;_14.4181473324092 -24.1408057124998
2025-11-03T09:13:16.431 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4181473324092     dec_j2k = -24.1408057124998
2025-11-03T09:13:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:16.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966971786182005;171.162362694745;_
2025-11-03T09:13:16.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966971786182005;171.162362694745;_
2025-11-03T09:13:16.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:16.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:16.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:16.438 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58021)
2025-11-03T09:13:16.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:16.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:16.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:16.438 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:16.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:16.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:16.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:16.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80088459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966971786182005, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.442414, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46218, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4181473324092, telescope_dec_j2k=-24.1408057124998, observability=1)
2025-11-03T09:13:16.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:16
2025-11-03T09:13:16.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:16.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02122330665588379s
2025-11-03T09:13:16.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02122330665588379
2025-11-03T09:13:16.659 [DEBUG] [Thread-88585 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:16.659 [DEBUG] [Thread-88585 (handle)] [server.py] [get_status()] Status age = 0.21284055709838867s
2025-11-03T09:13:16.659 [DEBUG] [Thread-88585 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21284055709838867
2025-11-03T09:13:16.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:16
2025-11-03T09:13:16.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32167959213256836s
2025-11-03T09:13:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32167959213256836
2025-11-03T09:13:18.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:18
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.920032024383545s
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:18.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4429649;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46273;2460982.80090704;9.22175;1.3;_
2025-11-03T09:13:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4429649;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46273;2460982.80090704;9.22175;1.3;_
2025-11-03T09:13:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:18.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4429649, teldec = -24.256623
2025-11-03T09:13:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4429649 -24.256623
2025-11-03T09:13:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4429649 -24.256623
2025-11-03T09:13:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4429649 -24.256623
2025-11-03T09:13:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4429649;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46273;2460982.80090707;9.22175;1.3;_14.4186977310126 -24.1408174637338
2025-11-03T09:13:18.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4186977310126     dec_j2k = -24.1408174637338
2025-11-03T09:13:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966973791779146;171.162357330327;_
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966973791779146;171.162357330327;_
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:18.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:18.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:18.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33391)
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:18.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:18.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80090704, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966973791779146, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4429649, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46273, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4186977310126, telescope_dec_j2k=-24.1408174637338, observability=1)
2025-11-03T09:13:18.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:18
2025-11-03T09:13:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021918535232543945s
2025-11-03T09:13:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021918535232543945
2025-11-03T09:13:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:18
2025-11-03T09:13:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789353370666504s
2025-11-03T09:13:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789353370666504
2025-11-03T09:13:20.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:20
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790103435516357s
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4434983;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46327;2460982.80093014;9.22228194;1.3;_
2025-11-03T09:13:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4434983;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46327;2460982.80093014;9.22228194;1.3;_
2025-11-03T09:13:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4434983, teldec = -24.256623
2025-11-03T09:13:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4434983 -24.256623
2025-11-03T09:13:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4434983 -24.256623
2025-11-03T09:13:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4434983 -24.256623
2025-11-03T09:13:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4435265;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46329;2460982.80093016;9.22231;1.3;_14.4192306455849 -24.1408288440003
2025-11-03T09:13:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4192306455849     dec_j2k = -24.1408288440003
2025-11-03T09:13:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966970582823721;171.162368059163;_
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966970582823721;171.162368059163;_
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35855)
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:20.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:20.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80093014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966970582823721, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4434983, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46327, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4192306455849, telescope_dec_j2k=-24.1408288440003, observability=1)
2025-11-03T09:13:20.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:20
2025-11-03T09:13:20.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:20.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022464275360107422s
2025-11-03T09:13:20.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022464275360107422
2025-11-03T09:13:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:20
2025-11-03T09:13:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3788442611694336s
2025-11-03T09:13:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3788442611694336
2025-11-03T09:13:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:22
2025-11-03T09:13:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982891321182251s
2025-11-03T09:13:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4440582;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46383;2460982.80095329;9.22284028;1.3;_
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4440582;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46383;2460982.80095329;9.22284028;1.3;_
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4440582, teldec = -24.256623
2025-11-03T09:13:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4440582 -24.256623
2025-11-03T09:13:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4440582 -24.256623
2025-11-03T09:13:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4440582 -24.256623
2025-11-03T09:13:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4440582;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46383;2460982.80095331;9.22284028;1.3;_14.4197900360844 -24.1408407921131
2025-11-03T09:13:22.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4197900360844     dec_j2k = -24.1408407921131
2025-11-03T09:13:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966978204092854;171.162357330327;_
2025-11-03T09:13:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966978204092854;171.162357330327;_
2025-11-03T09:13:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44629)
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:22.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:22.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:22.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:22.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80095329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966978204092854, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4440582, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46383, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4197900360844, telescope_dec_j2k=-24.1408407921131, observability=1)
2025-11-03T09:13:22.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:22
2025-11-03T09:13:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024377822875976562s
2025-11-03T09:13:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024377822875976562
2025-11-03T09:13:22.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:22
2025-11-03T09:13:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3745400905609131s
2025-11-03T09:13:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3745400905609131
2025-11-03T09:13:24.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:24
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0070176124572754s
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:24.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4446373;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46441;2460982.80097676;9.22341778;1.3;_
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4446373;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46441;2460982.80097676;9.22341778;1.3;_
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:24.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:24.393 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4446373, teldec = -24.256623
2025-11-03T09:13:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4446373 -24.256623
2025-11-03T09:13:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4446373 -24.256623
2025-11-03T09:13:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4446373 -24.256623
2025-11-03T09:13:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4446373;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46441;2460982.80097679;9.22341778;1.3;_14.4203686091593 -24.1408531525993
2025-11-03T09:13:24.395 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4203686091593     dec_j2k = -24.1408531525993
2025-11-03T09:13:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966977401853998;171.162351965909;_
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966977401853998;171.162351965909;_
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42221)
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:24.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:24.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:24.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:24.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:24.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80097676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966977401853998, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4446373, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46441, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4203686091593, telescope_dec_j2k=-24.1408531525993, observability=1)
2025-11-03T09:13:24.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:24
2025-11-03T09:13:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022532224655151367s
2025-11-03T09:13:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022532224655151367
2025-11-03T09:13:24.877 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:24
2025-11-03T09:13:24.878 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:24.878 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46694016456604004s
2025-11-03T09:13:24.878 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46694016456604004
2025-11-03T09:13:26.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:26
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9510219097137451s
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4451698;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46494;2460982.80099957;9.22394889;1.3;_
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4451698;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46494;2460982.80099957;9.22394889;1.3;_
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4451698, teldec = -24.256623
2025-11-03T09:13:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4451698 -24.256623
2025-11-03T09:13:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4451698 -24.256623
2025-11-03T09:13:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4451698 -24.256623
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4451698;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46494;2460982.80099961;9.22394889;1.3;_14.4209006246781 -24.1408645208193
2025-11-03T09:13:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4209006246781     dec_j2k = -24.1408645208193
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966972588420861;171.162357330327;_
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966972588420861;171.162357330327;_
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50703)
2025-11-03T09:13:26.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:26.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:26.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:26.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:26.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:26.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:26.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80099957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966972588420861, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4451698, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46494, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4209006246781, telescope_dec_j2k=-24.1408645208193, observability=1)
2025-11-03T09:13:26.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:26
2025-11-03T09:13:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022368907928466797s
2025-11-03T09:13:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022368907928466797
2025-11-03T09:13:26.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:26
2025-11-03T09:13:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4077017307281494s
2025-11-03T09:13:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4077017307281494
2025-11-03T09:13:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:28
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980130672454834s
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4457303;-24.256623;50.108597;89.993052;50.08601;90.12017;11.4655;2460982.80102273;9.22450778;1.3;_
2025-11-03T09:13:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4457303;-24.256623;50.108597;89.993052;50.08601;90.12017;11.4655;2460982.80102273;9.22450778;1.3;_
2025-11-03T09:13:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4457303, teldec = -24.256623
2025-11-03T09:13:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4457303 -24.256623
2025-11-03T09:13:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4457303 -24.256623
2025-11-03T09:13:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4457303 -24.256623
2025-11-03T09:13:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4457303;-24.256623;50.108597;89.993052;50.08601;90.12017;11.4655;2460982.80102275;9.22450778;1.3;_14.4214606147658 -24.1408764892661
2025-11-03T09:13:28.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4214606147658     dec_j2k = -24.1408764892661
2025-11-03T09:13:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966977401853998;171.162357330327;_
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966977401853998;171.162357330327;_
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35297)
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:28.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:28.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80102273, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966977401853998, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4457303, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4214606147658, telescope_dec_j2k=-24.1408764892661, observability=1)
2025-11-03T09:13:28.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:28
2025-11-03T09:13:28.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:28.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021190643310546875s
2025-11-03T09:13:28.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021190643310546875
2025-11-03T09:13:28.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:28
2025-11-03T09:13:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37810707092285156s
2025-11-03T09:13:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37810707092285156
2025-11-03T09:13:30.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:30
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832532405853271s
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4462823;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46605;2460982.80104589;9.22505833;1.3;_
2025-11-03T09:13:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4462823;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46605;2460982.80104589;9.22505833;1.3;_
2025-11-03T09:13:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:30.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4462823, teldec = -24.256623
2025-11-03T09:13:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4462823 -24.256623
2025-11-03T09:13:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4462823 -24.256623
2025-11-03T09:13:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4462823 -24.256623
2025-11-03T09:13:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4462823;-24.256623;50.108597;89.993052;50.08601;90.12017;11.46608;2460982.80104591;9.22508639;1.3;_14.4220121126302 -24.140888278678
2025-11-03T09:13:30.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4220121126302     dec_j2k = -24.140888278678
2025-11-03T09:13:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966976198495714;171.162351965909;_
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966976198495714;171.162351965909;_
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47617)
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:30.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:30.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80104589, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966976198495714, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4462823, telescope_dec=-24.256623, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46605, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4220121126302, telescope_dec_j2k=-24.140888278678, observability=1)
2025-11-03T09:13:30.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:30
2025-11-03T09:13:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02263474464416504s
2025-11-03T09:13:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02263474464416504
2025-11-03T09:13:30.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:30
2025-11-03T09:13:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38820528984069824s
2025-11-03T09:13:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38820528984069824
2025-11-03T09:13:32.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:32
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781484603881836s
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:32.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4468436;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46661;2460982.80106903;9.22561806;1.3;_
2025-11-03T09:13:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4468436;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46661;2460982.80106903;9.22561806;1.3;_
2025-11-03T09:13:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:32.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4468436, teldec = -24.256622
2025-11-03T09:13:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4468436 -24.256622
2025-11-03T09:13:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4468436 -24.256622
2025-11-03T09:13:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4468436 -24.256622
2025-11-03T09:13:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4468436;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46661;2460982.80106906;9.22561806;1.3;_14.4225729021937 -24.1408992692283
2025-11-03T09:13:32.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4225729021937     dec_j2k = -24.1408992692283
2025-11-03T09:13:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966972989540289;171.162351965909;_
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966972989540289;171.162351965909;_
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37401)
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:32.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:32.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80106903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966972989540289, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4468436, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46661, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4225729021937, telescope_dec_j2k=-24.1408992692283, observability=1)
2025-11-03T09:13:32.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:32
2025-11-03T09:13:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021992206573486328s
2025-11-03T09:13:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021992206573486328
2025-11-03T09:13:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:32
2025-11-03T09:13:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3749277591705322s
2025-11-03T09:13:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3749277591705322
2025-11-03T09:13:33.588 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.588 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.588 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:33.588 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:33.588 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:13:33.589 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:33.590 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:33.591 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:13:33.592 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:33.593 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Park
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:13:33.594 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:13:33.595 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 29;14.4472076;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46698;2460982.80108328;9.22598111;1.3;_Park Command Successful
2025-11-03T09:13:34.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:34
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0854275226593018s
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:34.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:34.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4474508;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46722;2460982.80109339;9.22622361;1.3;_
2025-11-03T09:13:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4474508;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46722;2460982.80109339;9.22622361;1.3;_
2025-11-03T09:13:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:34.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:34.470 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4474508, teldec = -24.256622
2025-11-03T09:13:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4474508 -24.256622
2025-11-03T09:13:34.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4474508 -24.256622
2025-11-03T09:13:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4474508 -24.256622
2025-11-03T09:13:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4474508;-24.256622;50.108597;89.993052;50.08601;90.12017;11.46722;2460982.80109341;9.22622361;1.3;_14.4231795499439 -24.1409122431465
2025-11-03T09:13:34.472 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4231795499439     dec_j2k = -24.1409122431465
2025-11-03T09:13:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966971385062577;171.162357330327;_
2025-11-03T09:13:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966971385062577;171.162357330327;_
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:34.480 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57145)
2025-11-03T09:13:34.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:34.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:34.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:34.481 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:34.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:34.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:34.488 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80109339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966971385062577, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108597, telescope_az=89.993052, telescope_ra=14.4474508, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46722, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4231795499439, telescope_dec_j2k=-24.1409122431465, observability=1)
2025-11-03T09:13:34.511 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:34
2025-11-03T09:13:34.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:34.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022668123245239258s
2025-11-03T09:13:34.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022668123245239258
2025-11-03T09:13:34.595 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:13:34.596 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:13:34.596 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:13:34.596 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:13:34.596 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:13:34.719 [DEBUG] [Thread-88586 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:34.719 [DEBUG] [Thread-88586 (handle)] [server.py] [get_status()] Status age = 0.2311687469482422s
2025-11-03T09:13:34.719 [DEBUG] [Thread-88586 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2311687469482422
2025-11-03T09:13:34.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:34
2025-11-03T09:13:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2747347354888916s
2025-11-03T09:13:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2747347354888916
2025-11-03T09:13:35.596 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:13:35.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:13:35.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:13:35.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:13:35.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:13:36.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:36
2025-11-03T09:13:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8742706775665283s
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4479563;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46772;2460982.80111534;9.22672778;1.3;_
2025-11-03T09:13:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4479563;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46772;2460982.80111534;9.22672778;1.3;_
2025-11-03T09:13:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4479563, teldec = -24.256622
2025-11-03T09:13:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4479563 -24.256622
2025-11-03T09:13:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4479563 -24.256622
2025-11-03T09:13:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4479563 -24.256622
2025-11-03T09:13:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4479563;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46772;2460982.80111536;9.22672778;1.3;_14.4236845902308 -24.1409230463204
2025-11-03T09:13:36.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4236845902308     dec_j2k = -24.1409230463204
2025-11-03T09:13:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096697700073457;171.162351965909;_
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096697700073457;171.162351965909;_
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49407)
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:36.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:36.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:36.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80111534, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096697700073457, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993052, telescope_ra=14.4479563, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46772, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4236845902308, telescope_dec_j2k=-24.1409230463204, observability=1)
2025-11-03T09:13:36.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:36
2025-11-03T09:13:36.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:36.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021990299224853516s
2025-11-03T09:13:36.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021990299224853516
2025-11-03T09:13:36.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:13:36.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:13:36.597 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:13:36.598 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:13:36.598 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:13:36.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:36
2025-11-03T09:13:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37273526191711426s
2025-11-03T09:13:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37273526191711426
2025-11-03T09:13:37.598 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:13:37.598 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:13:37.599 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:37.600 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:13:37.601 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:13:37.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:38.602 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:38.603 [DEBUG] [ThreadPoolExecutor-3388_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:38.603 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:13:38.603 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:13:38.603 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:13:38.603 [DEBUG] [ThreadPoolExecutor-3388_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:38.604 [INFO] [ThreadPoolExecutor-3388_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:13:38.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:38
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.371124744415283s
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:38.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:38.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4486482;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46842;2460982.80114303;9.22741778;1.3;_
2025-11-03T09:13:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4486482;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46842;2460982.80114303;9.22741778;1.3;_
2025-11-03T09:13:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:38.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4486482, teldec = -24.256622
2025-11-03T09:13:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4486482 -24.256622
2025-11-03T09:13:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4486482 -24.256622
2025-11-03T09:13:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4486482 -24.256622
2025-11-03T09:13:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4486482;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46842;2460982.80114306;9.22741778;1.3;_14.4243758610607 -24.1409378364247
2025-11-03T09:13:38.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4243758610607     dec_j2k = -24.1409378364247
2025-11-03T09:13:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966977802973426;171.162357330327;_
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966977802973426;171.162357330327;_
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49437)
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:38.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:38.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:38.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:38.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80114303, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966977802973426, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993052, telescope_ra=14.4486482, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4243758610607, telescope_dec_j2k=-24.1409378364247, observability=1)
2025-11-03T09:13:39.206 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:39
2025-11-03T09:13:39.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:39.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42960190773010254s
2025-11-03T09:13:39.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42960190773010254
2025-11-03T09:13:39.228 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:39
2025-11-03T09:13:39.228 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:39.228 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4514806270599365s
2025-11-03T09:13:39.228 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4514806270599365
2025-11-03T09:13:40.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:40
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5881586074829102s
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4490694;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46884;2460982.80116164;9.22783778;1.3;_
2025-11-03T09:13:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4490694;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46884;2460982.80116164;9.22783778;1.3;_
2025-11-03T09:13:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:40.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4490694, teldec = -24.256622
2025-11-03T09:13:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4490694 -24.256622
2025-11-03T09:13:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4490694 -24.256622
2025-11-03T09:13:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4490694 -24.256622
2025-11-03T09:13:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4490694;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46887;2460982.80116168;9.22786583;1.3;_14.4247966780817 -24.1409468419087
2025-11-03T09:13:40.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4247966780817     dec_j2k = -24.1409468419087
2025-11-03T09:13:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966981413048279;171.162351965909;_
2025-11-03T09:13:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966981413048279;171.162351965909;_
2025-11-03T09:13:40.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42545)
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:40.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:40.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80116164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966981413048279, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993052, telescope_ra=14.4490694, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46884, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4247966780817, telescope_dec_j2k=-24.1409468419087, observability=1)
2025-11-03T09:13:40.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:40
2025-11-03T09:13:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02335381507873535s
2025-11-03T09:13:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02335381507873535
2025-11-03T09:13:40.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:40
2025-11-03T09:13:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37445926666259766s
2025-11-03T09:13:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37445926666259766
2025-11-03T09:13:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:42
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3766419887542725s
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4497426;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46951;2460982.80118936;9.22850917;1.3;_
2025-11-03T09:13:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4497426;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46951;2460982.80118936;9.22850917;1.3;_
2025-11-03T09:13:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4497426, teldec = -24.256622
2025-11-03T09:13:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4497426 -24.256622
2025-11-03T09:13:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4497426 -24.256622
2025-11-03T09:13:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4497426 -24.256622
2025-11-03T09:13:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4497426;-24.256622;50.108596;89.993052;50.08601;90.12017;11.46951;2460982.80118939;9.22850917;1.3;_14.4254692660229 -24.140961238247
2025-11-03T09:13:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4254692660229     dec_j2k = -24.140961238247
2025-11-03T09:13:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966977401853998;171.162351965909;_
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966977401853998;171.162351965909;_
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45477)
2025-11-03T09:13:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:42.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:42.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:42.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80118936, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966977401853998, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993052, telescope_ra=14.4497426, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.46951, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4254692660229, telescope_dec_j2k=-24.140961238247, observability=1)
2025-11-03T09:13:43.352 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:43
2025-11-03T09:13:43.353 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:43.353 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5767970085144043s
2025-11-03T09:13:43.353 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5767970085144043
2025-11-03T09:13:43.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:43
2025-11-03T09:13:43.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:43.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5980219841003418s
2025-11-03T09:13:43.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5980219841003418
2025-11-03T09:13:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:44
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851350784301758s
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4503225;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47009;2460982.80121255;9.2290875;1.3;_
2025-11-03T09:13:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4503225;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47009;2460982.80121255;9.2290875;1.3;_
2025-11-03T09:13:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:44.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4503225, teldec = -24.256622
2025-11-03T09:13:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4503225 -24.256622
2025-11-03T09:13:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4503225 -24.256622
2025-11-03T09:13:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4503225 -24.256622
2025-11-03T09:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4503225;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47009;2460982.80121257;9.2290875;1.3;_14.4260486388425 -24.140973642288
2025-11-03T09:13:44.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4260486388425     dec_j2k = -24.140973642288
2025-11-03T09:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966978605212282;171.162368059163;_
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966978605212282;171.162368059163;_
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43521)
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80121255, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966978605212282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4503225, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47009, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4260486388425, telescope_dec_j2k=-24.140973642288, observability=1)
2025-11-03T09:13:44.834 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:44
2025-11-03T09:13:44.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:44.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05138540267944336s
2025-11-03T09:13:44.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05138540267944336
2025-11-03T09:13:44.855 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:44
2025-11-03T09:13:44.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:44.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07247757911682129s
2025-11-03T09:13:44.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07247757911682129
2025-11-03T09:13:46.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:46
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5811059474945068s
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4507437;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47051;2460982.80123108;9.2295075;1.3;_
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4507437;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47051;2460982.80123108;9.2295075;1.3;_
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:46.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4507437, teldec = -24.256622
2025-11-03T09:13:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4507437 -24.256622
2025-11-03T09:13:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4507437 -24.256622
2025-11-03T09:13:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4507437 -24.256622
2025-11-03T09:13:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4507437;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47051;2460982.8012311;9.2295075;1.3;_14.4264694559647 -24.1409826534339
2025-11-03T09:13:46.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4264694559647     dec_j2k = -24.1409826534339
2025-11-03T09:13:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966977401853998;171.162362694745;_
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966977401853998;171.162362694745;_
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43249)
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:46.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:46.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:46.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:46.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:46.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:46.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80123108, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966977401853998, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4507437, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47051, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4264694559647, telescope_dec_j2k=-24.1409826534339, observability=1)
2025-11-03T09:13:46.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:46
2025-11-03T09:13:46.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:46.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02224898338317871s
2025-11-03T09:13:46.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02224898338317871
2025-11-03T09:13:46.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:46
2025-11-03T09:13:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3714568614959717s
2025-11-03T09:13:46.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3714568614959717
2025-11-03T09:13:47.121 [DEBUG] [Thread-88587 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:47.121 [DEBUG] [Thread-88587 (handle)] [server.py] [get_status()] Status age = 0.7370662689208984s
2025-11-03T09:13:47.121 [DEBUG] [Thread-88587 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7370662689208984
2025-11-03T09:13:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:48
2025-11-03T09:13:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.375769853591919s
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4514356;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4712;2460982.80125881;9.2301975;1.3;_
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4514356;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4712;2460982.80125881;9.2301975;1.3;_
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4514356, teldec = -24.256622
2025-11-03T09:13:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4514356 -24.256622
2025-11-03T09:13:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4514356 -24.256622
2025-11-03T09:13:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4514356 -24.256622
2025-11-03T09:13:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4514356;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4712;2460982.80125883;9.2301975;1.3;_14.4271607270714 -24.1409974590222
2025-11-03T09:13:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4271607270714     dec_j2k = -24.1409974590222
2025-11-03T09:13:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966978605212282;171.162357330327;_
2025-11-03T09:13:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966978605212282;171.162357330327;_
2025-11-03T09:13:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40853)
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:48.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:48.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:48.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80125881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966978605212282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4514356, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4712, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4271607270714, telescope_dec_j2k=-24.1409974590222, observability=1)
2025-11-03T09:13:49.035 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:49
2025-11-03T09:13:49.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:49.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25878024101257324s
2025-11-03T09:13:49.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25878024101257324
2025-11-03T09:13:49.057 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:49
2025-11-03T09:13:49.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:49.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27996301651000977s
2025-11-03T09:13:49.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27996301651000977
2025-11-03T09:13:50.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:50
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5893290042877197s
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4518565;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47162;2460982.80127741;9.23061722;1.3;_
2025-11-03T09:13:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4518565;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47162;2460982.80127741;9.23061722;1.3;_
2025-11-03T09:13:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:50.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4518565, teldec = -24.256622
2025-11-03T09:13:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4518565 -24.256622
2025-11-03T09:13:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4518565 -24.256622
2025-11-03T09:13:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4518565 -24.256622
2025-11-03T09:13:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4518565;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47162;2460982.80127743;9.23061722;1.3;_14.4275812445336 -24.1410064675099
2025-11-03T09:13:50.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4275812445336     dec_j2k = -24.1410064675099
2025-11-03T09:13:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:50.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966981413048279;171.162351965909;_
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966981413048279;171.162351965909;_
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:50.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:50.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:50.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:50.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37829)
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:50.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:50.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:50.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80127741, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966981413048279, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4518565, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47162, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4275812445336, telescope_dec_j2k=-24.1410064675099, observability=1)
2025-11-03T09:13:50.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:50
2025-11-03T09:13:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022050142288208008s
2025-11-03T09:13:50.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022050142288208008
2025-11-03T09:13:50.690 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:50.690 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.30686140060424805s
2025-11-03T09:13:50.691 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30686140060424805
2025-11-03T09:13:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:50
2025-11-03T09:13:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.373258113861084s
2025-11-03T09:13:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.373258113861084
2025-11-03T09:13:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:52
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977996587753296s
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4524174;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47219;2460982.8013005;9.23117667;1.3;_
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4524174;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47219;2460982.8013005;9.23117667;1.3;_
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4524174, teldec = -24.256622
2025-11-03T09:13:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4524174 -24.256622
2025-11-03T09:13:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4524174 -24.256622
2025-11-03T09:13:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4524174 -24.256622
2025-11-03T09:13:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4524174;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47219;2460982.80130052;9.23117667;1.3;_14.4281416347954 -24.1410184746158
2025-11-03T09:13:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4281416347954     dec_j2k = -24.1410184746158
2025-11-03T09:13:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966981814167707;171.162351965909;_
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966981814167707;171.162351965909;_
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:52.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36035)
2025-11-03T09:13:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:52.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:52.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8013005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966981814167707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4524174, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47219, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4281416347954, telescope_dec_j2k=-24.1410184746158, observability=1)
2025-11-03T09:13:52.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:52
2025-11-03T09:13:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021735191345214844s
2025-11-03T09:13:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021735191345214844
2025-11-03T09:13:52.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:52
2025-11-03T09:13:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3853292465209961s
2025-11-03T09:13:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3853292465209961
2025-11-03T09:13:52.792 [DEBUG] [Thread-88588 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:52.792 [DEBUG] [Thread-88588 (handle)] [server.py] [get_status()] Status age = 0.4105048179626465s
2025-11-03T09:13:52.792 [DEBUG] [Thread-88588 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4105048179626465
2025-11-03T09:13:54.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:54
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98201584815979s
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4529692;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47274;2460982.80132368;9.23172694;1.3;_
2025-11-03T09:13:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4529692;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47274;2460982.80132368;9.23172694;1.3;_
2025-11-03T09:13:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4529692, teldec = -24.256622
2025-11-03T09:13:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4529692 -24.256622
2025-11-03T09:13:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4529692 -24.256622
2025-11-03T09:13:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4529692 -24.256622
2025-11-03T09:13:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4529974;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47277;2460982.8013237;9.231755;1.3;_14.4286929333713 -24.1410302893827
2025-11-03T09:13:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4286929333713     dec_j2k = -24.1410302893827
2025-11-03T09:13:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966985023123131;171.162357330327;_
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966985023123131;171.162357330327;_
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34111)
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:54.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:54.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80132368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966985023123131, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4529692, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47274, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4286929333713, telescope_dec_j2k=-24.1410302893827, observability=1)
2025-11-03T09:13:54.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:54
2025-11-03T09:13:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02235102653503418s
2025-11-03T09:13:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02235102653503418
2025-11-03T09:13:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:54
2025-11-03T09:13:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3770427703857422s
2025-11-03T09:13:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3770427703857422
2025-11-03T09:13:56.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:56
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807627201080322s
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.453531;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4733;2460982.80134681;9.23228722;1.3;_
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.453531;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4733;2460982.80134681;9.23228722;1.3;_
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.453531, teldec = -24.256622
2025-11-03T09:13:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.453531 -24.256622
2025-11-03T09:13:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.453531 -24.256622
2025-11-03T09:13:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.453531 -24.256622
2025-11-03T09:13:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.453531;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4733;2460982.80134683;9.23228722;1.3;_14.4292542229051 -24.1410423207728
2025-11-03T09:13:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4292542229051     dec_j2k = -24.1410423207728
2025-11-03T09:13:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966986627600843;171.162362694745;_
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966986627600843;171.162362694745;_
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36103)
2025-11-03T09:13:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:56.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:56.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80134681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966986627600843, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.453531, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4733, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4292542229051, telescope_dec_j2k=-24.1410423207728, observability=1)
2025-11-03T09:13:56.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:56
2025-11-03T09:13:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022118091583251953s
2025-11-03T09:13:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022118091583251953
2025-11-03T09:13:56.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:56
2025-11-03T09:13:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3741621971130371s
2025-11-03T09:13:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3741621971130371
2025-11-03T09:13:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5603916645050049s
2025-11-03T09:13:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4539792;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47375;2460982.8013651;9.23273417;1.3;_
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4539792;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47375;2460982.8013651;9.23273417;1.3;_
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:57.946 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4539792, teldec = -24.256622
2025-11-03T09:13:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4539792 -24.256622
2025-11-03T09:13:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4539792 -24.256622
2025-11-03T09:13:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4539792 -24.256622
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4539792;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47375;2460982.80136513;9.23273417;1.3;_14.4297020156913 -24.1410519211453
2025-11-03T09:13:57.948 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.4297020156913     dec_j2k = -24.1410519211453
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966985424242559;171.162362694745;_
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966985424242559;171.162362694745;_
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53397)
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:57.962 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8013651, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966985424242559, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4539792, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47375, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4297020156913, telescope_dec_j2k=-24.1410519211453, observability=1)
2025-11-03T09:13:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:58
2025-11-03T09:13:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8002119064331055s
2025-11-03T09:13:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8002119064331055
2025-11-03T09:13:59.371 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:59
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.409313440322876s
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:13:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:13:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:13:59.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4543912;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47416;2460982.80138164;9.233145;1.3;_
2025-11-03T09:13:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4543912;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47416;2460982.80138164;9.233145;1.3;_
2025-11-03T09:13:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:13:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:13:59.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:13:59.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4543912, teldec = -24.256622
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4543912 -24.256622
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4543912 -24.256622
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4543912 -24.256622
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4543912;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47416;2460982.80138167;9.233145;1.3;_14.4301136413927 -24.1410607475411
2025-11-03T09:13:59.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4301136413927     dec_j2k = -24.1410607475411
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:13:59.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966983819764847;171.162362694745;_
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966983819764847;171.162362694745;_
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:59.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:13:59.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:13:59.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:59.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:13:59.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39089)
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:13:59.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:13:59.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:13:59.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80138164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966983819764847, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4543912, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47416, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4301136413927, telescope_dec_j2k=-24.1410607475411, observability=1)
2025-11-03T09:13:59.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:13:59
2025-11-03T09:13:59.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:13:59.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026536941528320312s
2025-11-03T09:13:59.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026536941528320312
2025-11-03T09:14:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:00
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3682823181152344s
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4547563;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47452;2460982.80139773;9.23350917;1.3;_
2025-11-03T09:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4547563;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47452;2460982.80139773;9.23350917;1.3;_
2025-11-03T09:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4547563, teldec = -24.256622
2025-11-03T09:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4547563 -24.256622
2025-11-03T09:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4547563 -24.256622
2025-11-03T09:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4547563 -24.256622
2025-11-03T09:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4547563;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47452;2460982.80139775;9.23350917;1.3;_14.4304784097227 -24.1410685703225
2025-11-03T09:14:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4304784097227     dec_j2k = -24.1410685703225
2025-11-03T09:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966985023123131;171.162351965909;_
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966985023123131;171.162351965909;_
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40245)
2025-11-03T09:14:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80139773, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966985023123131, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4547563, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47452, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4304784097227, telescope_dec_j2k=-24.1410685703225, observability=1)
2025-11-03T09:14:01.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:01
2025-11-03T09:14:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5877671241760254s
2025-11-03T09:14:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5877671241760254
2025-11-03T09:14:01.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:01
2025-11-03T09:14:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6116325855255127s
2025-11-03T09:14:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6116325855255127
2025-11-03T09:14:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:02
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818072319030762s
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.455317;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47509;2460982.80142087;9.23406833;1.3;_
2025-11-03T09:14:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.455317;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47509;2460982.80142087;9.23406833;1.3;_
2025-11-03T09:14:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:02.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.455317, teldec = -24.256622
2025-11-03T09:14:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.455317 -24.256622
2025-11-03T09:14:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.455317 -24.256622
2025-11-03T09:14:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.455317 -24.256622
2025-11-03T09:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.455317;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47509;2460982.80142089;9.23406833;1.3;_14.4310386004 -24.1410805861911
2025-11-03T09:14:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4310386004     dec_j2k = -24.1410805861911
2025-11-03T09:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966980610809423;171.162357330327;_
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966980610809423;171.162357330327;_
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41943)
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:02.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:02.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:02.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:02.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:02.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80142087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966980610809423, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.455317, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47509, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4310386004, telescope_dec_j2k=-24.1410805861911, observability=1)
2025-11-03T09:14:03.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:03
2025-11-03T09:14:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5827987194061279s
2025-11-03T09:14:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5827987194061279
2025-11-03T09:14:03.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:03
2025-11-03T09:14:03.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:03.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6055505275726318s
2025-11-03T09:14:03.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6055505275726318
2025-11-03T09:14:04.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:04
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778602123260498s
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4558691;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47564;2460982.80144396;9.23461889;1.3;_
2025-11-03T09:14:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4558691;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47564;2460982.80144396;9.23461889;1.3;_
2025-11-03T09:14:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:04.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4558691, teldec = -24.256622
2025-11-03T09:14:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4558691 -24.256622
2025-11-03T09:14:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4558691 -24.256622
2025-11-03T09:14:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4558691 -24.256622
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4558691;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47564;2460982.80144398;9.23461889;1.3;_14.4315901989334 -24.1410924202245
2025-11-03T09:14:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4315901989334     dec_j2k = -24.1410924202245
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966994248869976;171.162362694745;_
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966994248869976;171.162362694745;_
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47805)
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:04.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:04.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80144396, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966994248869976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4558691, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4315901989334, telescope_dec_j2k=-24.1410924202245, observability=1)
2025-11-03T09:14:05.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:05
2025-11-03T09:14:05.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:05.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5964491367340088s
2025-11-03T09:14:05.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5964491367340088
2025-11-03T09:14:05.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:05
2025-11-03T09:14:05.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:05.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6187705993652344s
2025-11-03T09:14:05.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6187705993652344
2025-11-03T09:14:06.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:06
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860420227050781s
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:06.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4564295;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4762;2460982.80146712;9.23517778;1.3;_
2025-11-03T09:14:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4564295;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4762;2460982.80146712;9.23517778;1.3;_
2025-11-03T09:14:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:06.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4564295, teldec = -24.256622
2025-11-03T09:14:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4564295 -24.256622
2025-11-03T09:14:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4564295 -24.256622
2025-11-03T09:14:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4564295 -24.256622
2025-11-03T09:14:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4564295;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4762;2460982.80146714;9.23517778;1.3;_14.4321500899729 -24.1411044346648
2025-11-03T09:14:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4321500899729     dec_j2k = -24.1411044346648
2025-11-03T09:14:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966988232078556;171.162362694745;_
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966988232078556;171.162362694745;_
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:06.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47937)
2025-11-03T09:14:06.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:06.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:06.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:06.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:06.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:06.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80146712, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966988232078556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4564295, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4762, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4321500899729, telescope_dec_j2k=-24.1411044346648, observability=1)
2025-11-03T09:14:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:07
2025-11-03T09:14:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5882189273834229s
2025-11-03T09:14:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5882189273834229
2025-11-03T09:14:07.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:07
2025-11-03T09:14:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6109373569488525s
2025-11-03T09:14:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6109373569488525
2025-11-03T09:14:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:08
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983499526977539s
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4569827;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47675;2460982.80149025;9.23572944;1.3;_
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4569827;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47675;2460982.80149025;9.23572944;1.3;_
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4569827, teldec = -24.256622
2025-11-03T09:14:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4569827 -24.256622
2025-11-03T09:14:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4569827 -24.256622
2025-11-03T09:14:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4569827 -24.256622
2025-11-03T09:14:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4569827;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47675;2460982.80149029;9.23572944;1.3;_14.4327027875959 -24.1411162972139
2025-11-03T09:14:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4327027875959     dec_j2k = -24.1411162972139
2025-11-03T09:14:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966995051108833;171.162346601491;_
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966995051108833;171.162346601491;_
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34509)
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80149025, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966995051108833, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4569827, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47675, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4327027875959, telescope_dec_j2k=-24.1411162972139, observability=1)
2025-11-03T09:14:09.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:09
2025-11-03T09:14:09.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:09.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5883111953735352s
2025-11-03T09:14:09.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5883111953735352
2025-11-03T09:14:09.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:09
2025-11-03T09:14:09.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:09.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6100623607635498s
2025-11-03T09:14:09.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6100623607635498
2025-11-03T09:14:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:10
2025-11-03T09:14:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9881043434143066s
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4575442;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47731;2460982.80151351;9.23628944;1.3;_
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4575442;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47731;2460982.80151351;9.23628944;1.3;_
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:10.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4575442, teldec = -24.256622
2025-11-03T09:14:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4575442 -24.256622
2025-11-03T09:14:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4575442 -24.256622
2025-11-03T09:14:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4575442 -24.256622
2025-11-03T09:14:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4575442;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47731;2460982.80151353;9.23628944;1.3;_14.4332637777264 -24.1411283402534
2025-11-03T09:14:10.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4332637777264     dec_j2k = -24.1411283402534
2025-11-03T09:14:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966987028720271;171.162357330327;_
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966987028720271;171.162357330327;_
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50317)
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:10.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:10.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80151351, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966987028720271, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4575442, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47731, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4332637777264, telescope_dec_j2k=-24.1411283402534, observability=1)
2025-11-03T09:14:10.810 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:14:10
2025-11-03T09:14:10.810 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:10.810 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.028928279876708984s
2025-11-03T09:14:10.810 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028928279876708984
2025-11-03T09:14:10.926 [DEBUG] [Thread-88589 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:10.926 [DEBUG] [Thread-88589 (handle)] [server.py] [get_status()] Status age = 0.14503169059753418s
2025-11-03T09:14:10.926 [DEBUG] [Thread-88589 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14503169059753418
2025-11-03T09:14:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:12
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9765875339508057s
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4580958;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47786;2460982.80153656;9.23683944;1.3;_
2025-11-03T09:14:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4580958;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47786;2460982.80153656;9.23683944;1.3;_
2025-11-03T09:14:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:12.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4580958, teldec = -24.256622
2025-11-03T09:14:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4580958 -24.256622
2025-11-03T09:14:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4580958 -24.256622
2025-11-03T09:14:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4580958 -24.256622
2025-11-03T09:14:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4580958;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47786;2460982.80153659;9.23683944;1.3;_14.4338148768908 -24.1411401734191
2025-11-03T09:14:12.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4338148768908     dec_j2k = -24.1411401734191
2025-11-03T09:14:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966988232078556;171.162346601491;_
2025-11-03T09:14:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966988232078556;171.162346601491;_
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49035)
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:12.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:12.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80153656, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966988232078556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4580958, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47786, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:13:12.710174', telescope_ra_j2k=14.4338148768908, telescope_dec_j2k=-24.1411401734191, observability=1)
2025-11-03T09:14:12.851 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:12.851 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:12.852 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:12.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:12.853 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:12.853 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:12.853 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:12.853 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:14:12.853 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:14:12.854 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:14:12.855 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:14:12.855 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:13.000 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:13
2025-11-03T09:14:13.000 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:13.000 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2214651107788086s
2025-11-03T09:14:13.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2214651107788086
2025-11-03T09:14:13.022 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:13
2025-11-03T09:14:13.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:13.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24346065521240234s
2025-11-03T09:14:13.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24346065521240234
2025-11-03T09:14:13.855 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:13.855 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:13.855 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:13.855 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:13.855 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:14:13.856 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:13.857 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:13.858 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:13.858 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:13.858 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:13.858 [DEBUG] [ThreadPoolExecutor-3390_0] [payload.py] [to_registers()] [0]
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58931)
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:13.861 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:13.868 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:13.869 [DEBUG] [ThreadPoolExecutor-3390_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.4066824913024902s
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:14.186 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:14.187 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:14.188 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4585166;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47828;2460982.8015531;9.23725917;1.3;_
2025-11-03T09:14:14.188 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.4585166;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47828;2460982.8015531;9.23725917;1.3;_
2025-11-03T09:14:14.188 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:14.188 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:14.188 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:14.189 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:14.189 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:14.189 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.4585166, teldec = -24.256622
2025-11-03T09:14:14.189 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.4585166 -24.256622
2025-11-03T09:14:14.190 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.4585166 -24.256622
2025-11-03T09:14:14.190 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4585166 -24.256622
2025-11-03T09:14:14.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4585166;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47828;2460982.80155312;9.23725917;1.3;_14.434235294847 -24.1411492022458
2025-11-03T09:14:14.191 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.434235294847     dec_j2k = -24.1411492022458
2025-11-03T09:14:14.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:14.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:14.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:14.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0966982616406563;171.162373423581;_
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0966982616406563;171.162373423581;_
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:14.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:14.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:14.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:14.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:14.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:14.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:14.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:14.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:14.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53543)
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:14.195 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:14.202 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:14:14.203 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8015531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966982616406563, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4585166, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47828, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.434235294847, telescope_dec_j2k=-24.1411492022458, observability=1)
2025-11-03T09:14:14.203 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3927972316741943 seconds ago
2025-11-03T09:14:14.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:14
2025-11-03T09:14:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5547933578491211s
2025-11-03T09:14:14.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5547933578491211
2025-11-03T09:14:15.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:15
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1655960083007812s
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:15.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:15.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4588255;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47859;2460982.80156677;9.23756722;1.3;_
2025-11-03T09:14:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4588255;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47859;2460982.80156677;9.23756722;1.3;_
2025-11-03T09:14:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:15.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:15.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4588255, teldec = -24.256622
2025-11-03T09:14:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4588255 -24.256622
2025-11-03T09:14:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4588255 -24.256622
2025-11-03T09:14:15.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4588255 -24.256622
2025-11-03T09:14:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4588255;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47859;2460982.80156681;9.23756722;1.3;_14.4345439144133 -24.1411558310117
2025-11-03T09:14:15.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4345439144133     dec_j2k = -24.1411558310117
2025-11-03T09:14:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:15.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966991842153408;171.162362694745;_
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966991842153408;171.162362694745;_
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:15.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:15.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:15.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:15.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:15.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39791)
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:15.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:15.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:15.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:15.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80156677, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966991842153408, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4588255, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47859, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4345439144133, telescope_dec_j2k=-24.1411558310117, observability=1)
2025-11-03T09:14:15.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:15
2025-11-03T09:14:15.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:15.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.029977798461914062s
2025-11-03T09:14:15.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.029977798461914062
2025-11-03T09:14:16.828 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:16
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.441272497177124s
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:16.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:16.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:16.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4592458;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47901;2460982.80158368;9.23798639;1.3;_
2025-11-03T09:14:16.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4592458;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47901;2460982.80158368;9.23798639;1.3;_
2025-11-03T09:14:16.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:16.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:16.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:16.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:16.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:16.831 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4592458, teldec = -24.256622
2025-11-03T09:14:16.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4592458 -24.256622
2025-11-03T09:14:16.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4592458 -24.256622
2025-11-03T09:14:16.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4592458 -24.256622
2025-11-03T09:14:16.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4592458;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47901;2460982.8015837;9.23798639;1.3;_14.4349638328676 -24.1411648515677
2025-11-03T09:14:16.833 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4349638328676     dec_j2k = -24.1411648515677
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966990638795124;171.162351965909;_
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966990638795124;171.162351965909;_
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:16.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:16.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:16.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:16.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:16.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53101)
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:16.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:16.845 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80158368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966990638795124, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4592458, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47901, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4349638328676, telescope_dec_j2k=-24.1411648515677, observability=1)
2025-11-03T09:14:17.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:17
2025-11-03T09:14:17.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:17.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5216372013092041s
2025-11-03T09:14:17.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5216372013092041
2025-11-03T09:14:17.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:17
2025-11-03T09:14:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5434226989746094s
2025-11-03T09:14:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5434226989746094
2025-11-03T09:14:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:18
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9200294017791748s
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4597701;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47954;2460982.8016061;9.23850917;1.3;_
2025-11-03T09:14:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4597701;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47954;2460982.8016061;9.23850917;1.3;_
2025-11-03T09:14:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4597701, teldec = -24.256622
2025-11-03T09:14:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4597701 -24.256622
2025-11-03T09:14:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4597701 -24.256622
2025-11-03T09:14:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4597701 -24.256622
2025-11-03T09:14:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4597701;-24.256622;50.108596;89.993053;50.08601;90.12017;11.47954;2460982.80160612;9.23850917;1.3;_14.4354876569471 -24.1411761061754
2025-11-03T09:14:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4354876569471     dec_j2k = -24.1411761061754
2025-11-03T09:14:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966995051108833;171.162351965909;_
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966995051108833;171.162351965909;_
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46883)
2025-11-03T09:14:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:18.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:18.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:18.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:18.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8016061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966995051108833, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4597701, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.47954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4354876569471, telescope_dec_j2k=-24.1411761061754, observability=1)
2025-11-03T09:14:19.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:19
2025-11-03T09:14:19.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:19.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5878753662109375s
2025-11-03T09:14:19.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5878753662109375
2025-11-03T09:14:19.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:19
2025-11-03T09:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6152184009552002s
2025-11-03T09:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6152184009552002
2025-11-03T09:14:20.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:20
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764268398284912s
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:20.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:20.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4603319;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4801;2460982.80162914;9.23906944;1.3;_
2025-11-03T09:14:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4603319;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4801;2460982.80162914;9.23906944;1.3;_
2025-11-03T09:14:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:20.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4603319, teldec = -24.256622
2025-11-03T09:14:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4603319 -24.256622
2025-11-03T09:14:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4603319 -24.256622
2025-11-03T09:14:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4603319 -24.256622
2025-11-03T09:14:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4603319;-24.256622;50.108596;89.993053;50.08601;90.12017;11.4801;2460982.80162917;9.23906944;1.3;_14.4360489470308 -24.1411881682019
2025-11-03T09:14:20.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4360489470308     dec_j2k = -24.1411881682019
2025-11-03T09:14:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966995853347689;171.162357330327;_
2025-11-03T09:14:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966995853347689;171.162357330327;_
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49557)
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:20.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:20.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:20.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80162914, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966995853347689, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4603319, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4801, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4360489470308, telescope_dec_j2k=-24.1411881682019, observability=1)
2025-11-03T09:14:21.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:21
2025-11-03T09:14:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6605651378631592s
2025-11-03T09:14:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6605651378631592
2025-11-03T09:14:21.461 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:21
2025-11-03T09:14:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6851208209991455s
2025-11-03T09:14:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6851208209991455
2025-11-03T09:14:22.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:22
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979555368423462s
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:22.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4608831;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48065;2460982.80165229;9.23961917;1.3;_
2025-11-03T09:14:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4608831;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48065;2460982.80165229;9.23961917;1.3;_
2025-11-03T09:14:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:22.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4608831, teldec = -24.256622
2025-11-03T09:14:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4608831 -24.256622
2025-11-03T09:14:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4608831 -24.256622
2025-11-03T09:14:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4608831 -24.256622
2025-11-03T09:14:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4608831;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48065;2460982.80165231;9.23961917;1.3;_14.4365996467798 -24.141200005101
2025-11-03T09:14:22.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4365996467798     dec_j2k = -24.141200005101
2025-11-03T09:14:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966993847750548;171.162357330327;_
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966993847750548;171.162357330327;_
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52267)
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:22.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:22.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80165229, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966993847750548, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4608831, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4365996467798, telescope_dec_j2k=-24.141200005101, observability=1)
2025-11-03T09:14:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:23
2025-11-03T09:14:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5851666927337646s
2025-11-03T09:14:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5851666927337646
2025-11-03T09:14:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:23
2025-11-03T09:14:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6074810028076172s
2025-11-03T09:14:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6074810028076172
2025-11-03T09:14:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:24
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9850668907165527s
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4614449;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48121;2460982.80167549;9.24017944;1.3;_
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4614449;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48121;2460982.80167549;9.24017944;1.3;_
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4614449, teldec = -24.256622
2025-11-03T09:14:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4614449 -24.256622
2025-11-03T09:14:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4614449 -24.256622
2025-11-03T09:14:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4614449 -24.256622
2025-11-03T09:14:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4614449;-24.256622;50.108596;89.993053;50.08601;90.12017;11.48121;2460982.80167551;9.24017944;1.3;_14.4371609369537 -24.1412120721376
2025-11-03T09:14:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4371609369537     dec_j2k = -24.1412120721376
2025-11-03T09:14:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966992644392264;171.162351965909;_
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966992644392264;171.162351965909;_
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58721)
2025-11-03T09:14:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:24.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:24.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80167549, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966992644392264, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108596, telescope_az=89.993053, telescope_ra=14.4614449, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48121, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4371609369537, telescope_dec_j2k=-24.1412120721376, observability=1)
2025-11-03T09:14:25.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:25
2025-11-03T09:14:25.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:25.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5900907516479492s
2025-11-03T09:14:25.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5900907516479492
2025-11-03T09:14:25.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:25
2025-11-03T09:14:25.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:25.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6120200157165527s
2025-11-03T09:14:25.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6120200157165527
2025-11-03T09:14:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:26
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.989558458328247s
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4619964;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48176;2460982.80169872;9.24072944;1.3;_
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4619964;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48176;2460982.80169872;9.24072944;1.3;_
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:26.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4619964, teldec = -24.256622
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4619964 -24.256622
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4619964 -24.256622
2025-11-03T09:14:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4619964 -24.256622
2025-11-03T09:14:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4620243;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48179;2460982.80169874;9.24075722;1.3;_14.437711936519 -24.1412239203976
2025-11-03T09:14:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.437711936519     dec_j2k = -24.1412239203976
2025-11-03T09:14:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966994248869976;171.162357330327;_
2025-11-03T09:14:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966994248869976;171.162357330327;_
2025-11-03T09:14:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44903)
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:26.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:26.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:26.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:26.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:26.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80169872, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966994248869976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4619964, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48176, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.437711936519, telescope_dec_j2k=-24.1412239203976, observability=1)
2025-11-03T09:14:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:27
2025-11-03T09:14:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5721333026885986s
2025-11-03T09:14:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5721333026885986
2025-11-03T09:14:27.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:27
2025-11-03T09:14:27.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5947902202606201s
2025-11-03T09:14:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5947902202606201
2025-11-03T09:14:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:28
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9732308387756348s
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4625574;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48233;2460982.80172178;9.24128889;1.3;_
2025-11-03T09:14:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4625574;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48233;2460982.80172178;9.24128889;1.3;_
2025-11-03T09:14:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4625574, teldec = -24.256622
2025-11-03T09:14:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4625574 -24.256622
2025-11-03T09:14:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4625574 -24.256622
2025-11-03T09:14:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4625574 -24.256622
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4625574;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48233;2460982.80172182;9.24128889;1.3;_14.4382724275089 -24.1412359752524
2025-11-03T09:14:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4382724275089     dec_j2k = -24.1412359752524
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966996254467117;171.162357330327;_
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966996254467117;171.162357330327;_
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33451)
2025-11-03T09:14:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:28.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:28.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:28.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80172178, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966996254467117, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4625574, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48233, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4382724275089, telescope_dec_j2k=-24.1412359752524, observability=1)
2025-11-03T09:14:28.995 [DEBUG] [Thread-88590 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:28.995 [DEBUG] [Thread-88590 (handle)] [server.py] [get_status()] Status age = 0.21559858322143555s
2025-11-03T09:14:28.995 [DEBUG] [Thread-88590 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21559858322143555
2025-11-03T09:14:29.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:29
2025-11-03T09:14:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5824429988861084s
2025-11-03T09:14:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5824429988861084
2025-11-03T09:14:29.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:29
2025-11-03T09:14:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6046407222747803s
2025-11-03T09:14:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6046407222747803
2025-11-03T09:14:30.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:30
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9772539138793945s
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4631175;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48289;2460982.8017449;9.2418475;1.3;_
2025-11-03T09:14:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4631175;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48289;2460982.8017449;9.2418475;1.3;_
2025-11-03T09:14:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:30.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4631175, teldec = -24.256622
2025-11-03T09:14:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4631175 -24.256622
2025-11-03T09:14:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4631175 -24.256622
2025-11-03T09:14:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4631175 -24.256622
2025-11-03T09:14:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4631175;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48289;2460982.80174492;9.2418475;1.3;_14.4388320193607 -24.1412480132827
2025-11-03T09:14:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4388320193607     dec_j2k = -24.1412480132827
2025-11-03T09:14:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967001870139109;171.162346601491;_
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967001870139109;171.162346601491;_
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36701)
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:30.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:30.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:30.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8017449, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967001870139109, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4631175, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48289, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4388320193607, telescope_dec_j2k=-24.1412480132827, observability=1)
2025-11-03T09:14:31.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:31
2025-11-03T09:14:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5869522094726562s
2025-11-03T09:14:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5869522094726562
2025-11-03T09:14:31.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:31
2025-11-03T09:14:31.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:31.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6103866100311279s
2025-11-03T09:14:31.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6103866100311279
2025-11-03T09:14:32.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:32
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.995293378829956s
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4636679;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48344;2460982.80176824;9.24239639;1.3;_
2025-11-03T09:14:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4636679;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48344;2460982.80176824;9.24239639;1.3;_
2025-11-03T09:14:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:32.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4636679, teldec = -24.256622
2025-11-03T09:14:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4636679 -24.256622
2025-11-03T09:14:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4636679 -24.256622
2025-11-03T09:14:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4636679 -24.256622
2025-11-03T09:14:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4636955;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48346;2460982.80176826;9.24242389;1.3;_14.439381920057 -24.1412598452819
2025-11-03T09:14:32.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.439381920057     dec_j2k = -24.1412598452819
2025-11-03T09:14:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966999463422541;171.162351965909;_
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966999463422541;171.162351965909;_
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57955)
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:32.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:32.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:32.796 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:32.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:32.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80176824, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966999463422541, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4636679, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48344, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.439381920057, telescope_dec_j2k=-24.1412598452819, observability=1)
2025-11-03T09:14:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:33
2025-11-03T09:14:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5645594596862793s
2025-11-03T09:14:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5645594596862793
2025-11-03T09:14:33.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:33
2025-11-03T09:14:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.589745283126831s
2025-11-03T09:14:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.589745283126831
2025-11-03T09:14:34.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:34
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.961609125137329s
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:34.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:34.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4642278;-24.256622;50.108595;89.993053;50.08601;90.12017;11.484;2460982.80179119;9.24295472;1.3;_
2025-11-03T09:14:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4642278;-24.256622;50.108595;89.993053;50.08601;90.12017;11.484;2460982.80179119;9.24295472;1.3;_
2025-11-03T09:14:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:34.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4642278, teldec = -24.256622
2025-11-03T09:14:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4642278 -24.256622
2025-11-03T09:14:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4642278 -24.256622
2025-11-03T09:14:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4642278 -24.256622
2025-11-03T09:14:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4642278;-24.256622;50.108595;89.993053;50.08601;90.12017;11.484;2460982.80179123;9.24295472;1.3;_14.43994131218 -24.1412718839927
2025-11-03T09:14:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.43994131218     dec_j2k = -24.1412718839927
2025-11-03T09:14:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967005079094534;171.162351965909;_
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967005079094534;171.162351965909;_
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41093)
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:34.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:34.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80179119, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967005079094534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4642278, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.484, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.43994131218, telescope_dec_j2k=-24.1412718839927, observability=1)
2025-11-03T09:14:35.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:35
2025-11-03T09:14:35.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:35.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5880053043365479s
2025-11-03T09:14:35.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5880053043365479
2025-11-03T09:14:35.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:35
2025-11-03T09:14:35.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:35.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6132712364196777s
2025-11-03T09:14:35.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6132712364196777
2025-11-03T09:14:36.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:36
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786274433135986s
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4647885;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48456;2460982.80181435;9.24351389;1.3;_
2025-11-03T09:14:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4647885;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48456;2460982.80181435;9.24351389;1.3;_
2025-11-03T09:14:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:36.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4647885, teldec = -24.256622
2025-11-03T09:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4647885 -24.256622
2025-11-03T09:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4647885 -24.256622
2025-11-03T09:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4647885 -24.256622
2025-11-03T09:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4647885;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48456;2460982.80181438;9.24351389;1.3;_14.4405015036227 -24.1412839424202
2025-11-03T09:14:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4405015036227     dec_j2k = -24.1412839424202
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966996655586545;171.162351965909;_
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966996655586545;171.162351965909;_
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40449)
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:36.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:36.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:36.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80181435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966996655586545, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4647885, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48456, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4405015036227, telescope_dec_j2k=-24.1412839424202, observability=1)
2025-11-03T09:14:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:37
2025-11-03T09:14:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5863418579101562s
2025-11-03T09:14:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5863418579101562
2025-11-03T09:14:37.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:37
2025-11-03T09:14:37.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:37.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6122214794158936s
2025-11-03T09:14:37.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6122214794158936
2025-11-03T09:14:38.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:38
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9943461418151855s
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4653481;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48512;2460982.80183763;9.24407194;1.3;_
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4653481;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48512;2460982.80183763;9.24407194;1.3;_
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:38.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4653481, teldec = -24.256622
2025-11-03T09:14:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4653481 -24.256622
2025-11-03T09:14:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4653481 -24.256622
2025-11-03T09:14:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4653481 -24.256622
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4653481;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48512;2460982.80183765;9.24407194;1.3;_14.4410605961085 -24.1412959797009
2025-11-03T09:14:38.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4410605961085     dec_j2k = -24.1412959797009
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967001067900253;171.162357330327;_
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967001067900253;171.162357330327;_
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:38.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48029)
2025-11-03T09:14:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:38.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:38.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:38.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80183763, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967001067900253, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4653481, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48512, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4410605961085, telescope_dec_j2k=-24.1412959797009, observability=1)
2025-11-03T09:14:38.869 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:38.869 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:38.869 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:38.869 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:38.869 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:38.870 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:14:38.871 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:14:38.872 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:39
2025-11-03T09:14:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5728597640991211s
2025-11-03T09:14:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5728597640991211
2025-11-03T09:14:39.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:39
2025-11-03T09:14:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5951642990112305s
2025-11-03T09:14:39.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5951642990112305
2025-11-03T09:14:40.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:40
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9651811122894287s
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:40.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:40.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:40.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.465899;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48567;2460982.80186061;9.24462139;1.3;_
2025-11-03T09:14:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.465899;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48567;2460982.80186061;9.24462139;1.3;_
2025-11-03T09:14:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:40.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:40.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.465899, teldec = -24.256622
2025-11-03T09:14:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.465899 -24.256622
2025-11-03T09:14:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.465899 -24.256622
2025-11-03T09:14:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.465899 -24.256622
2025-11-03T09:14:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.465899;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48567;2460982.80186064;9.24462139;1.3;_14.4416109965286 -24.141307832289
2025-11-03T09:14:40.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4416109965286     dec_j2k = -24.141307832289
2025-11-03T09:14:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967002672377966;171.162351965909;_
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967002672377966;171.162351965909;_
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41983)
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:40.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:40.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80186061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967002672377966, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.465899, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48567, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4416109965286, telescope_dec_j2k=-24.141307832289, observability=1)
2025-11-03T09:14:41.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:41
2025-11-03T09:14:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5902118682861328s
2025-11-03T09:14:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5902118682861328
2025-11-03T09:14:41.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:41
2025-11-03T09:14:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6152012348175049s
2025-11-03T09:14:41.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6152012348175049
2025-11-03T09:14:42.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:42
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843261241912842s
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:42.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:42.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4664597;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48623;2460982.80188377;9.24518056;1.3;_
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4664597;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48623;2460982.80188377;9.24518056;1.3;_
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:42.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4664597, teldec = -24.256622
2025-11-03T09:14:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4664597 -24.256622
2025-11-03T09:14:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4664597 -24.256622
2025-11-03T09:14:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4664597 -24.256622
2025-11-03T09:14:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4664597;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48623;2460982.80188381;9.24518056;1.3;_14.4421711881067 -24.1413198982182
2025-11-03T09:14:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4421711881067     dec_j2k = -24.1413198982182
2025-11-03T09:14:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967004276855678;171.162368059163;_
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967004276855678;171.162368059163;_
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57061)
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:42.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:42.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80188377, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967004276855678, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4664597, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4421711881067, telescope_dec_j2k=-24.1413198982182, observability=1)
2025-11-03T09:14:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:43
2025-11-03T09:14:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5891196727752686s
2025-11-03T09:14:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5891196727752686
2025-11-03T09:14:43.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:43
2025-11-03T09:14:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113276481628418s
2025-11-03T09:14:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113276481628418
2025-11-03T09:14:44.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:44
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818787574768066s
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:44.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:44.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4670196;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48679;2460982.8019069;9.24573889;1.3;_
2025-11-03T09:14:44.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4670196;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48679;2460982.8019069;9.24573889;1.3;_
2025-11-03T09:14:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:44.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:44.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4670196, teldec = -24.256622
2025-11-03T09:14:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4670196 -24.256622
2025-11-03T09:14:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4670196 -24.256622
2025-11-03T09:14:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4670196 -24.256622
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4670196;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48679;2460982.80190693;9.24573889;1.3;_14.4427305804556 -24.1413319494429
2025-11-03T09:14:44.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4427305804556     dec_j2k = -24.1413319494429
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967001469019681;171.162368059163;_
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967001469019681;171.162368059163;_
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49071)
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:44.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:44.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:44.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8019069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967001469019681, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4670196, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48679, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4427305804556, telescope_dec_j2k=-24.1413319494429, observability=1)
2025-11-03T09:14:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:45
2025-11-03T09:14:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5862340927124023s
2025-11-03T09:14:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5862340927124023
2025-11-03T09:14:45.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:45
2025-11-03T09:14:45.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:45.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6109564304351807s
2025-11-03T09:14:45.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6109564304351807
2025-11-03T09:14:46.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:46
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827666282653809s
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:46.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.46757;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48734;2460982.80193007;9.24628778;1.3;_
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.46757;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48734;2460982.80193007;9.24628778;1.3;_
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:46.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:46.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.46757, teldec = -24.256622
2025-11-03T09:14:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.46757 -24.256622
2025-11-03T09:14:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.46757 -24.256622
2025-11-03T09:14:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.46757 -24.256622
2025-11-03T09:14:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.46757;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48734;2460982.80193009;9.24628778;1.3;_14.4432804814621 -24.141343798636
2025-11-03T09:14:46.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4432804814621     dec_j2k = -24.141343798636
2025-11-03T09:14:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967005079094534;171.162346601491;_
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967005079094534;171.162346601491;_
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:46.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36255)
2025-11-03T09:14:46.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:46.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:46.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:46.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:46.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:46.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80193007, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967005079094534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.46757, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4432804814621, telescope_dec_j2k=-24.141343798636, observability=1)
2025-11-03T09:14:47.059 [DEBUG] [Thread-88591 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:47.059 [DEBUG] [Thread-88591 (handle)] [server.py] [get_status()] Status age = 0.2832603454589844s
2025-11-03T09:14:47.059 [DEBUG] [Thread-88591 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2832603454589844
2025-11-03T09:14:47.194 [DEBUG] [Thread-88592 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:47.194 [DEBUG] [Thread-88592 (handle)] [server.py] [get_status()] Status age = 0.41852545738220215s
2025-11-03T09:14:47.194 [DEBUG] [Thread-88592 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41852545738220215
2025-11-03T09:14:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:47
2025-11-03T09:14:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5869889259338379s
2025-11-03T09:14:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5869889259338379
2025-11-03T09:14:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:47
2025-11-03T09:14:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6080307960510254s
2025-11-03T09:14:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6080307960510254
2025-11-03T09:14:48.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:48
2025-11-03T09:14:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9920926094055176s
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4681307;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4879;2460982.80195334;9.24684694;1.3;_
2025-11-03T09:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4681307;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4879;2460982.80195334;9.24684694;1.3;_
2025-11-03T09:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:48.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4681307, teldec = -24.256622
2025-11-03T09:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4681307 -24.256622
2025-11-03T09:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4681307 -24.256622
2025-11-03T09:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4681307 -24.256622
2025-11-03T09:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4681307;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4879;2460982.80195337;9.24684694;1.3;_14.4438406731757 -24.1413558720637
2025-11-03T09:14:48.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4438406731757     dec_j2k = -24.1413558720637
2025-11-03T09:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096700387573625;171.162362694745;_
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096700387573625;171.162362694745;_
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36661)
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:48.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:48.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80195334, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096700387573625, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4681307, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4879, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4438406731757, telescope_dec_j2k=-24.1413558720637, observability=1)
2025-11-03T09:14:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:49
2025-11-03T09:14:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5752310752868652s
2025-11-03T09:14:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5752310752868652
2025-11-03T09:14:49.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:49
2025-11-03T09:14:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5979623794555664s
2025-11-03T09:14:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5979623794555664
2025-11-03T09:14:49.784 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:49.784 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.9983835220336914s
2025-11-03T09:14:49.784 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9983835220336914
2025-11-03T09:14:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:50
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789841175079346s
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4686908;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48846;2460982.80197647;9.24740556;1.3;_
2025-11-03T09:14:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4686908;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48846;2460982.80197647;9.24740556;1.3;_
2025-11-03T09:14:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4686908, teldec = -24.256622
2025-11-03T09:14:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4686908 -24.256622
2025-11-03T09:14:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4686908 -24.256622
2025-11-03T09:14:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4686908 -24.256622
2025-11-03T09:14:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4686908;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48846;2460982.80197649;9.24740556;1.3;_14.4444002654786 -24.1413679350832
2025-11-03T09:14:50.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4444002654786     dec_j2k = -24.1413679350832
2025-11-03T09:14:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967009090288814;171.162351965909;_
2025-11-03T09:14:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967009090288814;171.162351965909;_
2025-11-03T09:14:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52865)
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:50.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:50.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:50.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80197647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967009090288814, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4686908, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48846, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4444002654786, telescope_dec_j2k=-24.1413679350832, observability=1)
2025-11-03T09:14:51.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:51
2025-11-03T09:14:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5747699737548828s
2025-11-03T09:14:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5747699737548828
2025-11-03T09:14:51.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:51
2025-11-03T09:14:51.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:51.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5960733890533447s
2025-11-03T09:14:51.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5960733890533447
2025-11-03T09:14:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:52
2025-11-03T09:14:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9715051651000977s
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4692412;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48901;2460982.80199954;9.24795444;1.3;_
2025-11-03T09:14:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4692412;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48901;2460982.80199954;9.24795444;1.3;_
2025-11-03T09:14:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4692412, teldec = -24.256622
2025-11-03T09:14:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4692412 -24.256622
2025-11-03T09:14:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4692412 -24.256622
2025-11-03T09:14:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4692412 -24.256622
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4692412;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48901;2460982.80199957;9.24795444;1.3;_14.4449501666182 -24.1413797916364
2025-11-03T09:14:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4449501666182     dec_j2k = -24.1413797916364
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0966999864541969;171.162368059163;_
2025-11-03T09:14:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0966999864541969;171.162368059163;_
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41973)
2025-11-03T09:14:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:52.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:52.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80199954, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966999864541969, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4692412, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48901, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4449501666182, telescope_dec_j2k=-24.1413797916364, observability=1)
2025-11-03T09:14:53.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:53
2025-11-03T09:14:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5874984264373779s
2025-11-03T09:14:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5874984264373779
2025-11-03T09:14:53.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:53
2025-11-03T09:14:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6131069660186768s
2025-11-03T09:14:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6131069660186768
2025-11-03T09:14:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:54
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9862267971038818s
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4698017;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48957;2460982.80202272;9.24851333;1.3;_
2025-11-03T09:14:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4698017;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48957;2460982.80202272;9.24851333;1.3;_
2025-11-03T09:14:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4698017, teldec = -24.256622
2025-11-03T09:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4698017 -24.256622
2025-11-03T09:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4698017 -24.256622
2025-11-03T09:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4698017 -24.256622
2025-11-03T09:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4698017;-24.256622;50.108595;89.993053;50.08601;90.12017;11.48957;2460982.80202274;9.24851333;1.3;_14.4455101586486 -24.1413918682515
2025-11-03T09:14:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4455101586486     dec_j2k = -24.1413918682515
2025-11-03T09:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967006683572246;171.162346601491;_
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967006683572246;171.162346601491;_
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60273)
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:54.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:54.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80202272, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967006683572246, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4698017, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.48957, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4455101586486, telescope_dec_j2k=-24.1413918682515, observability=1)
2025-11-03T09:14:55.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:55
2025-11-03T09:14:55.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:55.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5834643840789795s
2025-11-03T09:14:55.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5834643840789795
2025-11-03T09:14:55.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:55
2025-11-03T09:14:55.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:55.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6048192977905273s
2025-11-03T09:14:55.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6048192977905273
2025-11-03T09:14:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:56
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791197776794434s
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4703618;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49013;2460982.80204586;9.24907194;1.3;_
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4703618;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49013;2460982.80204586;9.24907194;1.3;_
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:56.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4703618, teldec = -24.256622
2025-11-03T09:14:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4703618 -24.256622
2025-11-03T09:14:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4703618 -24.256622
2025-11-03T09:14:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4703618 -24.256622
2025-11-03T09:14:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4703618;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49013;2460982.80204588;9.24907194;1.3;_14.446069751087 -24.1414039387584
2025-11-03T09:14:56.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.446069751087     dec_j2k = -24.1414039387584
2025-11-03T09:14:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967007485811102;171.162362694745;_
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967007485811102;171.162362694745;_
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35653)
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:56.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80204586, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967007485811102, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4703618, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49013, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.446069751087, telescope_dec_j2k=-24.1414039387584, observability=1)
2025-11-03T09:14:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:57
2025-11-03T09:14:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5857701301574707s
2025-11-03T09:14:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5857701301574707
2025-11-03T09:14:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:57
2025-11-03T09:14:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6069159507751465s
2025-11-03T09:14:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6069159507751465
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3319621086120605s
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:58.108 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:58.109 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4707253;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49049;2460982.80206146;9.24943444;1.3;_
2025-11-03T09:14:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4707253;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49049;2460982.80206146;9.24943444;1.3;_
2025-11-03T09:14:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:58.112 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4707253, teldec = -24.256622
2025-11-03T09:14:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4707253 -24.256622
2025-11-03T09:14:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4707253 -24.256622
2025-11-03T09:14:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4707253 -24.256622
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4707253;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49049;2460982.80206149;9.24943444;1.3;_14.4464329217082 -24.1414117737544
2025-11-03T09:14:58.113 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.4464329217082     dec_j2k = -24.1414117737544
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0966998260064257;171.162357330327;_
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0966998260064257;171.162357330327;_
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:14:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56501)
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:58.122 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:58.129 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:58.130 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80206146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0966998260064257, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4707253, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49049, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4464329217082, telescope_dec_j2k=-24.1414117737544, observability=1)
2025-11-03T09:14:58.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:58
2025-11-03T09:14:58.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:58.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6263680458068848s
2025-11-03T09:14:58.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6263680458068848
2025-11-03T09:14:59.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:59
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2356088161468506s
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:14:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:14:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4710807;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49085;2460982.80207601;9.24978889;1.3;_
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4710807;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49085;2460982.80207601;9.24978889;1.3;_
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:14:59.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4710807, teldec = -24.256622
2025-11-03T09:14:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4710807 -24.256622
2025-11-03T09:14:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4710807 -24.256622
2025-11-03T09:14:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4710807 -24.256622
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4710807;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49085;2460982.80207603;9.24978889;1.3;_14.4467879996876 -24.1414194351821
2025-11-03T09:14:59.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4467879996876     dec_j2k = -24.1414194351821
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967009491408242;171.162357330327;_
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967009491408242;171.162357330327;_
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:14:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:14:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:14:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:14:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54673)
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:14:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:14:59.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:14:59.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80207601, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967009491408242, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4710807, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49085, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4467879996876, telescope_dec_j2k=-24.1414194351821, observability=1)
2025-11-03T09:14:59.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:14:59
2025-11-03T09:14:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:14:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022486448287963867s
2025-11-03T09:14:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022486448287963867
2025-11-03T09:15:00.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:00
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3765802383422852s
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4714732;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49124;2460982.80209211;9.25018028;1.3;_
2025-11-03T09:15:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4714732;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49124;2460982.80209211;9.25018028;1.3;_
2025-11-03T09:15:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4714732, teldec = -24.256622
2025-11-03T09:15:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4714732 -24.256622
2025-11-03T09:15:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4714732 -24.256622
2025-11-03T09:15:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4714732 -24.256622
2025-11-03T09:15:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4714732;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49124;2460982.80209214;9.25018028;1.3;_14.4471801440727 -24.1414278975556
2025-11-03T09:15:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4471801440727     dec_j2k = -24.1414278975556
2025-11-03T09:15:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967010694766527;171.162357330327;_
2025-11-03T09:15:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967010694766527;171.162357330327;_
2025-11-03T09:15:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45947)
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:00.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:00.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:00.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80209211, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967010694766527, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4714732, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4471801440727, telescope_dec_j2k=-24.1414278975556, observability=1)
2025-11-03T09:15:01.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:01
2025-11-03T09:15:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5923750400543213s
2025-11-03T09:15:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5923750400543213
2025-11-03T09:15:01.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:01
2025-11-03T09:15:01.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:01.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6137919425964355s
2025-11-03T09:15:01.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6137919425964355
2025-11-03T09:15:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:02
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9899446964263916s
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4720333;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4918;2460982.80211531;9.25073889;1.3;_
2025-11-03T09:15:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4720333;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4918;2460982.80211531;9.25073889;1.3;_
2025-11-03T09:15:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:02.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4720333, teldec = -24.256622
2025-11-03T09:15:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4720333 -24.256622
2025-11-03T09:15:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4720333 -24.256622
2025-11-03T09:15:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4720333 -24.256622
2025-11-03T09:15:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4720333;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4918;2460982.80211534;9.25073889;1.3;_14.4477397366467 -24.1414399755498
2025-11-03T09:15:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4477397366467     dec_j2k = -24.1414399755498
2025-11-03T09:15:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967010694766527;171.162357330327;_
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967010694766527;171.162357330327;_
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:02.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45549)
2025-11-03T09:15:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:02.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:02.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:02.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80211531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967010694766527, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4720333, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4918, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4477397366467, telescope_dec_j2k=-24.1414399755498, observability=1)
2025-11-03T09:15:03.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:03
2025-11-03T09:15:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5796101093292236s
2025-11-03T09:15:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5796101093292236
2025-11-03T09:15:03.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:03
2025-11-03T09:15:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6015129089355469s
2025-11-03T09:15:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6015129089355469
2025-11-03T09:15:04.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:04
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9755005836486816s
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:04.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.472584;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49235;2460982.80213841;9.25128806;1.3;_
2025-11-03T09:15:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.472584;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49235;2460982.80213841;9.25128806;1.3;_
2025-11-03T09:15:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.472584, teldec = -24.256622
2025-11-03T09:15:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.472584 -24.256622
2025-11-03T09:15:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.472584 -24.256622
2025-11-03T09:15:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.472584 -24.256622
2025-11-03T09:15:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.472584;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49235;2460982.80213844;9.25128806;1.3;_14.4482899377809 -24.141451853288
2025-11-03T09:15:04.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4482899377809     dec_j2k = -24.141451853288
2025-11-03T09:15:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096700788693053;171.162357330327;_
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096700788693053;171.162357330327;_
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57393)
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:04.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:04.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80213841, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096700788693053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.472584, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49235, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4482899377809, telescope_dec_j2k=-24.141451853288, observability=1)
2025-11-03T09:15:05.194 [DEBUG] [Thread-88593 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:05.194 [DEBUG] [Thread-88593 (handle)] [server.py] [get_status()] Status age = 0.41484904289245605s
2025-11-03T09:15:05.194 [DEBUG] [Thread-88593 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41484904289245605
2025-11-03T09:15:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:05
2025-11-03T09:15:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5816206932067871s
2025-11-03T09:15:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5816206932067871
2025-11-03T09:15:05.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:05
2025-11-03T09:15:05.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:05.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6030433177947998s
2025-11-03T09:15:05.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6030433177947998
2025-11-03T09:15:06.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:06
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9932255744934082s
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4731441;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49291;2460982.80216175;9.25184667;1.3;_
2025-11-03T09:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4731441;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49291;2460982.80216175;9.25184667;1.3;_
2025-11-03T09:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:06.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4731441, teldec = -24.256622
2025-11-03T09:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4731441 -24.256622
2025-11-03T09:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4731441 -24.256622
2025-11-03T09:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4731441 -24.256622
2025-11-03T09:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4731441;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49291;2460982.80216177;9.25184667;1.3;_14.448849530445 -24.1414639362566
2025-11-03T09:15:06.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.448849530445     dec_j2k = -24.1414639362566
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967005079094534;171.162362694745;_
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967005079094534;171.162362694745;_
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:06.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56863)
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:06.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:06.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:06.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:06.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80216175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967005079094534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4731441, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.448849530445, telescope_dec_j2k=-24.1414639362566, observability=1)
2025-11-03T09:15:07.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:07
2025-11-03T09:15:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5694317817687988s
2025-11-03T09:15:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5694317817687988
2025-11-03T09:15:07.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:07
2025-11-03T09:15:07.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:07.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.593691349029541s
2025-11-03T09:15:07.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.593691349029541
2025-11-03T09:15:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:08
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9616858959197998s
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4737051;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49347;2460982.80218469;9.25240611;1.3;_
2025-11-03T09:15:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4737051;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49347;2460982.80218469;9.25240611;1.3;_
2025-11-03T09:15:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4737051, teldec = -24.256622
2025-11-03T09:15:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4737051 -24.256622
2025-11-03T09:15:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4737051 -24.256622
2025-11-03T09:15:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4737051 -24.256622
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4737051;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49347;2460982.80218472;9.25240611;1.3;_14.4494100223395 -24.1414760411548
2025-11-03T09:15:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4494100223395     dec_j2k = -24.1414760411548
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967012700363667;171.162357330327;_
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967012700363667;171.162357330327;_
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34559)
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:08.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:08.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80218469, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967012700363667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4737051, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4494100223395, telescope_dec_j2k=-24.1414760411548, observability=1)
2025-11-03T09:15:09.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:09
2025-11-03T09:15:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5913922786712646s
2025-11-03T09:15:09.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5913922786712646
2025-11-03T09:15:09.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:09
2025-11-03T09:15:09.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:09.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.61519455909729s
2025-11-03T09:15:09.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.61519455909729
2025-11-03T09:15:10.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:10
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841985702514648s
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:10.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4742647;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49403;2460982.80220784;9.25296417;1.3;_
2025-11-03T09:15:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4742647;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49403;2460982.80220784;9.25296417;1.3;_
2025-11-03T09:15:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:10.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4742647, teldec = -24.256622
2025-11-03T09:15:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4742647 -24.256622
2025-11-03T09:15:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4742647 -24.256622
2025-11-03T09:15:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4742647 -24.256622
2025-11-03T09:15:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4742647;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49403;2460982.80220787;9.25296417;1.3;_14.4499691155474 -24.1414881183509
2025-11-03T09:15:10.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4499691155474     dec_j2k = -24.1414881183509
2025-11-03T09:15:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967005079094534;171.162351965909;_
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967005079094534;171.162351965909;_
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55749)
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:10.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80220784, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967005079094534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4742647, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49403, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4499691155474, telescope_dec_j2k=-24.1414881183509, observability=1)
2025-11-03T09:15:10.871 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:15:10
2025-11-03T09:15:10.871 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:10.871 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.09755802154541016s
2025-11-03T09:15:10.871 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09755802154541016
2025-11-03T09:15:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:11
2025-11-03T09:15:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5889468193054199s
2025-11-03T09:15:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5889468193054199
2025-11-03T09:15:11.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:11
2025-11-03T09:15:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6109287738800049s
2025-11-03T09:15:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6109287738800049
2025-11-03T09:15:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:12
2025-11-03T09:15:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9881105422973633s
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4748157;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49458;2460982.80223105;9.25351361;1.3;_
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4748157;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49458;2460982.80223105;9.25351361;1.3;_
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4748157, teldec = -24.256622
2025-11-03T09:15:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4748157 -24.256622
2025-11-03T09:15:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4748157 -24.256622
2025-11-03T09:15:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4748157 -24.256622
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4748157;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49458;2460982.80223109;9.25351361;1.3;_14.4505196165882 -24.1415000123886
2025-11-03T09:15:12.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4505196165882     dec_j2k = -24.1415000123886
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967014705960807;171.162351965909;_
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967014705960807;171.162351965909;_
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34315)
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:12.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:12.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80223105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967014705960807, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4748157, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49458, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:14:12.851416', telescope_ra_j2k=14.4505196165882, telescope_dec_j2k=-24.1415000123886, observability=1)
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:12.993 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:12.994 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:12.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:12.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:12.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:12.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:12.995 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:15:12.995 [INFO] [ThreadPoolExecutor-3391_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:15:12.995 [INFO] [ThreadPoolExecutor-3391_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:15:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:13
2025-11-03T09:15:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5777432918548584s
2025-11-03T09:15:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5777432918548584
2025-11-03T09:15:13.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:13
2025-11-03T09:15:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5988340377807617s
2025-11-03T09:15:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5988340377807617
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.480419635772705s
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:14.263 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:14.264 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:14.264 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:14.264 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:14.264 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:14.264 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:14.265 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.475236;-24.256622;50.108595;89.993053;50.08601;90.12017;11.495;2460982.80224844;9.25393278;1.3;_
2025-11-03T09:15:14.265 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.475236;-24.256622;50.108595;89.993053;50.08601;90.12017;11.495;2460982.80224844;9.25393278;1.3;_
2025-11-03T09:15:14.265 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:14.265 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:14.265 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:14.266 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:14.266 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:14.266 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.475236, teldec = -24.256622
2025-11-03T09:15:14.266 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.475236 -24.256622
2025-11-03T09:15:14.266 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.475236 -24.256622
2025-11-03T09:15:14.266 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.475236 -24.256622
2025-11-03T09:15:14.267 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.475236;-24.256622;50.108595;89.993053;50.08601;90.12017;11.495;2460982.80224846;9.25393278;1.3;_14.4509395360142 -24.1415090867315
2025-11-03T09:15:14.267 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.4509395360142     dec_j2k = -24.1415090867315
2025-11-03T09:15:14.267 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:14.267 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:14.267 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967010293647099;171.162362694745;_
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967010293647099;171.162362694745;_
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:14.268 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:14.269 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:14.269 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:14.269 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48363)
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:14.276 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:14.283 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:15:14.283 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80224844, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967010293647099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.475236, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.495, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4509395360142, telescope_dec_j2k=-24.1415090867315, observability=1)
2025-11-03T09:15:14.284 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4127304553985596 seconds ago
2025-11-03T09:15:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:14
2025-11-03T09:15:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4776425361633301s
2025-11-03T09:15:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4776425361633301
2025-11-03T09:15:15.507 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:15
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2232584953308105s
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:15.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:15.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:15.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4755719;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49534;2460982.80226284;9.25426778;1.3;_
2025-11-03T09:15:15.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4755719;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49534;2460982.80226284;9.25426778;1.3;_
2025-11-03T09:15:15.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:15.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:15.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:15.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:15.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:15.510 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4755719, teldec = -24.256622
2025-11-03T09:15:15.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4755719 -24.256622
2025-11-03T09:15:15.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4755719 -24.256622
2025-11-03T09:15:15.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4755719 -24.256622
2025-11-03T09:15:15.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4755719;-24.256622;50.108595;89.993053;50.08601;90.12017;11.49534;2460982.80226286;9.25426778;1.3;_14.4512751318813 -24.14151633988
2025-11-03T09:15:15.511 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4512751318813     dec_j2k = -24.14151633988
2025-11-03T09:15:15.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:15.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967013502602523;171.162357330327;_
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967013502602523;171.162357330327;_
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:15.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:15.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:15.519 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39357)
2025-11-03T09:15:15.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:15.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:15.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:15.520 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:15.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:15.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:15.527 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80226284, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967013502602523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4755719, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49534, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4512751318813, telescope_dec_j2k=-24.14151633988, observability=1)
2025-11-03T09:15:15.550 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:15
2025-11-03T09:15:15.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:15.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02239847183227539s
2025-11-03T09:15:15.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02239847183227539
2025-11-03T09:15:16.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:16
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2353484630584717s
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:16.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4759357;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4957;2460982.80227736;9.25463056;1.3;_
2025-11-03T09:15:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4759357;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4957;2460982.80227736;9.25463056;1.3;_
2025-11-03T09:15:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:16.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4759357, teldec = -24.256622
2025-11-03T09:15:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4759357 -24.256622
2025-11-03T09:15:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4759357 -24.256622
2025-11-03T09:15:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4759357 -24.256622
2025-11-03T09:15:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4759357;-24.256622;50.108595;89.993053;50.08601;90.12017;11.4957;2460982.8022774;9.25463056;1.3;_14.4516386025055 -24.1415241964952
2025-11-03T09:15:16.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4516386025055     dec_j2k = -24.1415241964952
2025-11-03T09:15:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967013903721951;171.162357330327;_
2025-11-03T09:15:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967013903721951;171.162357330327;_
2025-11-03T09:15:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58375)
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:16.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80227736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967013903721951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108595, telescope_az=89.993053, telescope_ra=14.4759357, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4957, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4516386025055, telescope_dec_j2k=-24.1415241964952, observability=1)
2025-11-03T09:15:17.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:17
2025-11-03T09:15:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814154148101807s
2025-11-03T09:15:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814154148101807
2025-11-03T09:15:17.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:17
2025-11-03T09:15:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:17.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6034643650054932s
2025-11-03T09:15:17.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6034643650054932
2025-11-03T09:15:18.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:18
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9745306968688965s
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:18.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:18.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4764866;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49625;2460982.80230044;9.25518;1.3;_
2025-11-03T09:15:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4764866;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49625;2460982.80230044;9.25518;1.3;_
2025-11-03T09:15:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:18.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:18.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4764866, teldec = -24.256622
2025-11-03T09:15:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4764866 -24.256622
2025-11-03T09:15:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4764866 -24.256622
2025-11-03T09:15:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4764866 -24.256622
2025-11-03T09:15:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4764866;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49625;2460982.80230046;9.25518;1.3;_14.4521890037703 -24.1415360957302
2025-11-03T09:15:18.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4521890037703     dec_j2k = -24.1415360957302
2025-11-03T09:15:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967017112677376;171.162351965909;_
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967017112677376;171.162351965909;_
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:18.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51065)
2025-11-03T09:15:18.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:18.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:18.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:18.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80230044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967017112677376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4764866, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49625, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4521890037703, telescope_dec_j2k=-24.1415360957302, observability=1)
2025-11-03T09:15:19.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:19
2025-11-03T09:15:19.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:19.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5861053466796875s
2025-11-03T09:15:19.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5861053466796875
2025-11-03T09:15:19.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:19
2025-11-03T09:15:19.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:19.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6077873706817627s
2025-11-03T09:15:19.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6077873706817627
2025-11-03T09:15:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:20
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796876907348633s
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4770473;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49682;2460982.80232363;9.25573917;1.3;_
2025-11-03T09:15:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4770473;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49682;2460982.80232363;9.25573917;1.3;_
2025-11-03T09:15:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4770473, teldec = -24.256622
2025-11-03T09:15:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4770473 -24.256622
2025-11-03T09:15:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4770473 -24.256622
2025-11-03T09:15:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4770473 -24.256622
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4770473;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49682;2460982.80232366;9.25573917;1.3;_14.4527491962084 -24.1415482091312
2025-11-03T09:15:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4527491962084     dec_j2k = -24.1415482091312
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967013502602523;171.162368059163;_
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967013502602523;171.162368059163;_
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:20.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55561)
2025-11-03T09:15:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:20.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:20.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80232363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967013502602523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4770473, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49682, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4527491962084, telescope_dec_j2k=-24.1415482091312, observability=1)
2025-11-03T09:15:21.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:21
2025-11-03T09:15:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6503109931945801s
2025-11-03T09:15:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6503109931945801
2025-11-03T09:15:21.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:21
2025-11-03T09:15:21.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:21.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6784708499908447s
2025-11-03T09:15:21.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6784708499908447
2025-11-03T09:15:22.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:22
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791228771209717s
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4776072;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49738;2460982.80234676;9.2562975;1.3;_
2025-11-03T09:15:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4776072;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49738;2460982.80234676;9.2562975;1.3;_
2025-11-03T09:15:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:22.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4776072, teldec = -24.256622
2025-11-03T09:15:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4776072 -24.256622
2025-11-03T09:15:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4776072 -24.256622
2025-11-03T09:15:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4776072 -24.256622
2025-11-03T09:15:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4776072;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49738;2460982.80234678;9.2562975;1.3;_14.4533085894162 -24.1415603077551
2025-11-03T09:15:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4533085894162     dec_j2k = -24.1415603077551
2025-11-03T09:15:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967021123871656;171.162351965909;_
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967021123871656;171.162351965909;_
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:22.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32935)
2025-11-03T09:15:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:22.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80234676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967021123871656, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4776072, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49738, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4533085894162, telescope_dec_j2k=-24.1415603077551, observability=1)
2025-11-03T09:15:23.263 [DEBUG] [Thread-88594 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:23.263 [DEBUG] [Thread-88594 (handle)] [server.py] [get_status()] Status age = 0.4874398708343506s
2025-11-03T09:15:23.263 [DEBUG] [Thread-88594 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4874398708343506
2025-11-03T09:15:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:23
2025-11-03T09:15:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5864596366882324s
2025-11-03T09:15:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5864596366882324
2025-11-03T09:15:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:23
2025-11-03T09:15:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6089210510253906s
2025-11-03T09:15:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6089210510253906
2025-11-03T09:15:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:24
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835872650146484s
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4781576;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49793;2460982.80236992;9.25684639;1.3;_
2025-11-03T09:15:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4781576;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49793;2460982.80236992;9.25684639;1.3;_
2025-11-03T09:15:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4781576, teldec = -24.256622
2025-11-03T09:15:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4781576 -24.256622
2025-11-03T09:15:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4781576 -24.256622
2025-11-03T09:15:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4781576 -24.256622
2025-11-03T09:15:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4781576;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49793;2460982.80236994;9.25684639;1.3;_14.4538584912673 -24.1415722035385
2025-11-03T09:15:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4538584912673     dec_j2k = -24.1415722035385
2025-11-03T09:15:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967020722752228;171.162357330327;_
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967020722752228;171.162357330327;_
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:24.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44557)
2025-11-03T09:15:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:24.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:24.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80236992, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967020722752228, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4781576, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4538584912673, telescope_dec_j2k=-24.1415722035385, observability=1)
2025-11-03T09:15:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:25
2025-11-03T09:15:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5810251235961914s
2025-11-03T09:15:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5810251235961914
2025-11-03T09:15:25.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:25
2025-11-03T09:15:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037828922271729s
2025-11-03T09:15:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037828922271729
2025-11-03T09:15:26.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:26
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9987571239471436s
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:26.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.478718;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49849;2460982.8023933;9.25740528;1.3;_
2025-11-03T09:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.478718;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49849;2460982.8023933;9.25740528;1.3;_
2025-11-03T09:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:26.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.478718, teldec = -24.256622
2025-11-03T09:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.478718 -24.256622
2025-11-03T09:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.478718 -24.256622
2025-11-03T09:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.478718 -24.256622
2025-11-03T09:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.478718;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49849;2460982.80239333;9.25740528;1.3;_14.454418384113 -24.1415843179375
2025-11-03T09:15:26.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.454418384113     dec_j2k = -24.1415843179375
2025-11-03T09:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967019920513372;171.162362694745;_
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967019920513372;171.162362694745;_
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:26.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:26.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:26.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:26.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54723)
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:26.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:26.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:26.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8023933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967019920513372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.478718, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49849, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.454418384113, telescope_dec_j2k=-24.1415843179375, observability=1)
2025-11-03T09:15:27.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:27
2025-11-03T09:15:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5664761066436768s
2025-11-03T09:15:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5664761066436768
2025-11-03T09:15:27.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:27
2025-11-03T09:15:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5897088050842285s
2025-11-03T09:15:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5897088050842285
2025-11-03T09:15:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:28
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9666213989257812s
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4792784;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49905;2460982.80241625;9.25796417;1.3;_
2025-11-03T09:15:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4792784;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49905;2460982.80241625;9.25796417;1.3;_
2025-11-03T09:15:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4792784, teldec = -24.256622
2025-11-03T09:15:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4792784 -24.256622
2025-11-03T09:15:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4792784 -24.256622
2025-11-03T09:15:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4792784 -24.256622
2025-11-03T09:15:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4792784;-24.256622;50.108594;89.993053;50.08601;90.12017;11.49905;2460982.80241627;9.25796417;1.3;_14.4549782770043 -24.1415964348445
2025-11-03T09:15:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4549782770043     dec_j2k = -24.1415964348445
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967010293647099;171.162357330327;_
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967010293647099;171.162357330327;_
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57743)
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:28.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:28.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:28.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80241625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967010293647099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4792784, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.49905, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4549782770043, telescope_dec_j2k=-24.1415964348445, observability=1)
2025-11-03T09:15:29.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:29
2025-11-03T09:15:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582465410232544s
2025-11-03T09:15:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582465410232544
2025-11-03T09:15:29.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:29
2025-11-03T09:15:29.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:29.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6039638519287109s
2025-11-03T09:15:29.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6039638519287109
2025-11-03T09:15:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:30
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9794175624847412s
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4798288;-24.256622;50.108594;89.993053;50.08601;90.12017;11.4996;2460982.80243939;9.25851306;1.3;_
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4798288;-24.256622;50.108594;89.993053;50.08601;90.12017;11.4996;2460982.80243939;9.25851306;1.3;_
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4798288, teldec = -24.256622
2025-11-03T09:15:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4798288 -24.256622
2025-11-03T09:15:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4798288 -24.256622
2025-11-03T09:15:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4798288 -24.256622
2025-11-03T09:15:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4798288;-24.256622;50.108594;89.993053;50.08601;90.12017;11.4996;2460982.80243941;9.25851306;1.3;_14.455528178989 -24.1416083379736
2025-11-03T09:15:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.455528178989     dec_j2k = -24.1416083379736
2025-11-03T09:15:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967025135065937;171.162351965909;_
2025-11-03T09:15:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967025135065937;171.162351965909;_
2025-11-03T09:15:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40333)
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80243939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967025135065937, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4798288, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.4996, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.455528178989, telescope_dec_j2k=-24.1416083379736, observability=1)
2025-11-03T09:15:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:32
2025-11-03T09:15:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981241226196289s
2025-11-03T09:15:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4803892;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50016;2460982.80246255;9.25907194;1.3;_
2025-11-03T09:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4803892;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50016;2460982.80246255;9.25907194;1.3;_
2025-11-03T09:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4803892, teldec = -24.256622
2025-11-03T09:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4803892 -24.256622
2025-11-03T09:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4803892 -24.256622
2025-11-03T09:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4803892 -24.256622
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4803892;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50016;2460982.80246258;9.25907194;1.3;_14.4560880719708 -24.141620459851
2025-11-03T09:15:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4560880719708     dec_j2k = -24.141620459851
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967023129468796;171.162368059163;_
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967023129468796;171.162368059163;_
2025-11-03T09:15:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46125)
2025-11-03T09:15:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80246255, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967023129468796, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4803892, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50016, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4560880719708, telescope_dec_j2k=-24.141620459851, observability=1)
2025-11-03T09:15:33.872 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.872 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.872 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:33.872 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:33.873 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:33.873 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.873 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:33.873 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:33.873 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:33.874 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:33.875 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:33.875 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:33.876 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:15:33.877 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:33.878 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Park
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:15:33.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 29;14.4806973;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50047;2460982.80247545;9.25937917;1.3;_Park Command Successful
2025-11-03T09:15:34.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:34
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6916627883911133s
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4808655;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50063;2460982.80248234;9.25954694;1.3;_
2025-11-03T09:15:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4808655;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50063;2460982.80248234;9.25954694;1.3;_
2025-11-03T09:15:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:34.475 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4808655, teldec = -24.256622
2025-11-03T09:15:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4808655 -24.256622
2025-11-03T09:15:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4808655 -24.256622
2025-11-03T09:15:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4808655 -24.256622
2025-11-03T09:15:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4808655;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50063;2460982.80248236;9.25954694;1.3;_14.4565639410773 -24.1416307645526
2025-11-03T09:15:34.476 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4565639410773     dec_j2k = -24.1416307645526
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967024332827081;171.162351965909;_
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967024332827081;171.162351965909;_
2025-11-03T09:15:34.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:34.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:34.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:34.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33653)
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:34.485 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:34.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:34.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:34.492 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:34.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:34.493 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80248234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967024332827081, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4808655, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4565639410773, telescope_dec_j2k=-24.1416307645526, observability=1)
2025-11-03T09:15:34.515 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:34
2025-11-03T09:15:34.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:34.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02195119857788086s
2025-11-03T09:15:34.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02195119857788086
2025-11-03T09:15:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:34
2025-11-03T09:15:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2663564682006836s
2025-11-03T09:15:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2663564682006836
2025-11-03T09:15:34.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:15:34.879 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:15:34.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:15:34.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:15:34.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:15:35.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:15:35.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:15:35.880 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:15:35.881 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:15:35.881 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:15:36.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:36
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9278430938720703s
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.481397;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50117;2460982.8025049;9.26007694;1.3;_
2025-11-03T09:15:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.481397;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50117;2460982.8025049;9.26007694;1.3;_
2025-11-03T09:15:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:36.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.481397, teldec = -24.256622
2025-11-03T09:15:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.481397 -24.256622
2025-11-03T09:15:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.481397 -24.256622
2025-11-03T09:15:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.481397 -24.256622
2025-11-03T09:15:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.481397;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50117;2460982.80250492;9.26007694;1.3;_14.4570949602852 -24.1416422656386
2025-11-03T09:15:36.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4570949602852     dec_j2k = -24.1416422656386
2025-11-03T09:15:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096701831603566;171.162357330327;_
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096701831603566;171.162357330327;_
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:36.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:36.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:36.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42765)
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:36.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:36.440 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:36.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:36.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8025049, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096701831603566, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.481397, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50117, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4570949602852, telescope_dec_j2k=-24.1416422656386, observability=1)
2025-11-03T09:15:36.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:36
2025-11-03T09:15:36.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:36.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02192831039428711s
2025-11-03T09:15:36.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02192831039428711
2025-11-03T09:15:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:36
2025-11-03T09:15:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3202054500579834s
2025-11-03T09:15:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3202054500579834
2025-11-03T09:15:36.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:15:36.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:15:36.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:15:36.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:15:36.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:15:37.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:15:37.882 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:15:37.883 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:15:37.883 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:37.884 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:15:37.885 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:38
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9211931228637695s
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4819479;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50172;2460982.80252735;9.26062639;1.3;_
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4819479;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50172;2460982.80252735;9.26062639;1.3;_
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4819479, teldec = -24.256622
2025-11-03T09:15:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4819479 -24.256622
2025-11-03T09:15:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4819479 -24.256622
2025-11-03T09:15:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4819479 -24.256622
2025-11-03T09:15:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4819479;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50172;2460982.80252737;9.26062639;1.3;_14.4576453619873 -24.1416541888993
2025-11-03T09:15:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4576453619873     dec_j2k = -24.1416541888993
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967019519393944;171.162362694745;_
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967019519393944;171.162362694745;_
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49617)
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80252735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967019519393944, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4819479, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50172, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4576453619873, telescope_dec_j2k=-24.1416541888993, observability=1)
2025-11-03T09:15:38.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:38
2025-11-03T09:15:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022298336029052734s
2025-11-03T09:15:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022298336029052734
2025-11-03T09:15:38.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:38
2025-11-03T09:15:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37946009635925293s
2025-11-03T09:15:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37946009635925293
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:38.886 [DEBUG] [ThreadPoolExecutor-3390_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:38.887 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:15:38.887 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:15:38.887 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:15:38.887 [DEBUG] [ThreadPoolExecutor-3390_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:38.887 [INFO] [ThreadPoolExecutor-3390_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:15:40.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:40
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814505577087402s
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4825095;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50228;2460982.8025505;9.26118639;1.3;_
2025-11-03T09:15:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4825095;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50228;2460982.8025505;9.26118639;1.3;_
2025-11-03T09:15:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4825095, teldec = -24.256622
2025-11-03T09:15:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4825095 -24.256622
2025-11-03T09:15:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4825095 -24.256622
2025-11-03T09:15:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4825095 -24.256622
2025-11-03T09:15:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4825095;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50228;2460982.80255053;9.26118639;1.3;_14.4582064540565 -24.141666346236
2025-11-03T09:15:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4582064540565     dec_j2k = -24.141666346236
2025-11-03T09:15:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967023530588224;171.162351965909;_
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967023530588224;171.162351965909;_
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60135)
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:40.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:40.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:40.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8025505, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967023530588224, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4825095, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50228, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4582064540565, telescope_dec_j2k=-24.141666346236, observability=1)
2025-11-03T09:15:40.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:40
2025-11-03T09:15:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022465944290161133s
2025-11-03T09:15:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022465944290161133
2025-11-03T09:15:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:40
2025-11-03T09:15:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3838045597076416s
2025-11-03T09:15:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3838045597076416
2025-11-03T09:15:41.339 [DEBUG] [Thread-88595 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:41.339 [DEBUG] [Thread-88595 (handle)] [server.py] [get_status()] Status age = 0.961827278137207s
2025-11-03T09:15:41.340 [DEBUG] [Thread-88595 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.961827278137207
2025-11-03T09:15:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:42
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3820202350616455s
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.483173;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50294;2460982.80257825;9.26184806;1.3;_
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.483173;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50294;2460982.80257825;9.26184806;1.3;_
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.483173, teldec = -24.256622
2025-11-03T09:15:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.483173 -24.256622
2025-11-03T09:15:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.483173 -24.256622
2025-11-03T09:15:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.483173 -24.256622
2025-11-03T09:15:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.483173;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50294;2460982.80257828;9.26184806;1.3;_14.458869354023 -24.1416807127147
2025-11-03T09:15:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.458869354023     dec_j2k = -24.1416807127147
2025-11-03T09:15:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967026338424221;171.162351965909;_
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967026338424221;171.162351965909;_
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56143)
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:42.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:42.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:42.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80257825, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967026338424221, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.483173, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.458869354023, telescope_dec_j2k=-24.1416807127147, observability=1)
2025-11-03T09:15:44.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:44
2025-11-03T09:15:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9875564575195312s
2025-11-03T09:15:44.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4837345;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5035;2460982.80260137;9.26240806;1.3;_
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4837345;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5035;2460982.80260137;9.26240806;1.3;_
2025-11-03T09:15:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:44.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4837345, teldec = -24.256622
2025-11-03T09:15:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4837345 -24.256622
2025-11-03T09:15:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4837345 -24.256622
2025-11-03T09:15:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4837345 -24.256622
2025-11-03T09:15:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4837345;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5035;2460982.8026014;9.26240806;1.3;_14.4594303462827 -24.1416928733756
2025-11-03T09:15:44.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4594303462827     dec_j2k = -24.1416928733756
2025-11-03T09:15:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967023129468796;171.162368059163;_
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967023129468796;171.162368059163;_
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33097)
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:44.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:44.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80260137, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967023129468796, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4837345, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5035, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4594303462827, telescope_dec_j2k=-24.1416928733756, observability=1)
2025-11-03T09:15:45.932 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:45
2025-11-03T09:15:45.932 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1572904586791992s
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:45.933 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4840704;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50384;2460982.80261498;9.26274306;1.3;_
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4840704;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50384;2460982.80261498;9.26274306;1.3;_
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:45.934 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:45.935 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:45.935 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:45.936 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:45.936 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4840704, teldec = -24.256622
2025-11-03T09:15:45.936 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4840704 -24.256622
2025-11-03T09:15:45.936 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4840704 -24.256622
2025-11-03T09:15:45.936 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4840704 -24.256622
2025-11-03T09:15:45.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4840704;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50384;2460982.80261501;9.26274306;1.3;_14.4597659425648 -24.1417001493173
2025-11-03T09:15:45.937 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4597659425648     dec_j2k = -24.1417001493173
2025-11-03T09:15:45.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:45.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:45.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:45.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967027942901933;171.162351965909;_
2025-11-03T09:15:45.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967027942901933;171.162351965909;_
2025-11-03T09:15:45.938 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:45.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:45.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:45.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:45.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:45.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:45.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:45.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47841)
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:45.947 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:45.954 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:45.955 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80261498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967027942901933, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4840704, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4597659425648, telescope_dec_j2k=-24.1417001493173, observability=1)
2025-11-03T09:15:45.977 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:45
2025-11-03T09:15:45.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:45.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022783517837524414s
2025-11-03T09:15:45.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022783517837524414
2025-11-03T09:15:46.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:46
2025-11-03T09:15:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8043720722198486s
2025-11-03T09:15:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8043720722198486
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Status age = 1.2962799072265625s
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:47.251 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:47.252 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:47.253 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 17;14.4844342;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5042;2460982.80263024;9.26310583;1.3;_
2025-11-03T09:15:47.253 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response 17;14.4844342;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5042;2460982.80263024;9.26310583;1.3;_
2025-11-03T09:15:47.253 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:47.253 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:47.253 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:47.254 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:47.254 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:47.254 [INFO] [Thread-88596 (handle)] [driver.py] [get_status()] Telra = 14.4844342, teldec = -24.256622
2025-11-03T09:15:47.255 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4844342 -24.256622
2025-11-03T09:15:47.255 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4844342 -24.256622
2025-11-03T09:15:47.255 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4844342 -24.256622
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 17;14.4844342;-24.256622;50.108594;89.993053;50.08601;90.12017;11.5042;2460982.80263027;9.26310583;1.3;_14.4601294136385 -24.1417080306173
2025-11-03T09:15:47.256 [INFO] [Thread-88596 (handle)] [driver.py] [get_status()] ra_j2k = 14.4601294136385     dec_j2k = -24.1417080306173
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 140;0.0967024733946509;171.162357330327;_
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response 140;0.0967024733946509;171.162357330327;_
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:47.256 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:47.257 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:47.258 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:47.258 [DEBUG] [Thread-88596 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:47.258 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:47.258 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:47.258 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:47.259 [DEBUG] [Thread-88596 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:47.259 [DEBUG] [Thread-88596 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:47.259 [DEBUG] [Thread-88596 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49741)
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:47.261 [DEBUG] [Thread-88596 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:47.268 [DEBUG] [Thread-88596 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:47.269 [DEBUG] [Thread-88596 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:47.269 [DEBUG] [Thread-88596 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:47.269 [DEBUG] [Thread-88596 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:47.269 [INFO] [Thread-88596 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80263024, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967024733946509, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4844342, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5042, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4601294136385, telescope_dec_j2k=-24.1417080306173, observability=1)
2025-11-03T09:15:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:47
2025-11-03T09:15:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09296345710754395s
2025-11-03T09:15:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09296345710754395
2025-11-03T09:15:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:47
2025-11-03T09:15:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11469841003417969s
2025-11-03T09:15:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11469841003417969
2025-11-03T09:15:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:48
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.496016502380371s
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.484845;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50461;2460982.80264775;9.26351556;1.3;_
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.484845;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50461;2460982.80264775;9.26351556;1.3;_
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:48.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.484845, teldec = -24.256622
2025-11-03T09:15:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.484845 -24.256622
2025-11-03T09:15:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.484845 -24.256622
2025-11-03T09:15:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.484845 -24.256622
2025-11-03T09:15:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.484845;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50461;2460982.80264778;9.26351556;1.3;_14.4605398422407 -24.1417169313863
2025-11-03T09:15:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4605398422407     dec_j2k = -24.1417169313863
2025-11-03T09:15:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967025135065937;171.162351965909;_
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967025135065937;171.162351965909;_
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58461)
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:48.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80264775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967025135065937, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.484845, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4605398422407, telescope_dec_j2k=-24.1417169313863, observability=1)
2025-11-03T09:15:48.874 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:48.874 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.08952617645263672s
2025-11-03T09:15:48.875 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08952617645263672
2025-11-03T09:15:49.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:49
2025-11-03T09:15:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5778603553771973s
2025-11-03T09:15:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5778603553771973
2025-11-03T09:15:49.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:49
2025-11-03T09:15:49.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:49.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6006224155426025s
2025-11-03T09:15:49.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6006224155426025
2025-11-03T09:15:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:50
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9738316535949707s
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4854055;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50517;2460982.80267084;9.26407444;1.3;_
2025-11-03T09:15:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4854055;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50517;2460982.80267084;9.26407444;1.3;_
2025-11-03T09:15:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4854055, teldec = -24.256622
2025-11-03T09:15:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4854055 -24.256622
2025-11-03T09:15:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4854055 -24.256622
2025-11-03T09:15:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4854055 -24.256622
2025-11-03T09:15:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4854055;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50517;2460982.80267087;9.26407444;1.3;_14.4610998355413 -24.141729077864
2025-11-03T09:15:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4610998355413     dec_j2k = -24.141729077864
2025-11-03T09:15:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967027942901933;171.162357330327;_
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967027942901933;171.162357330327;_
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41501)
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80267084, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967027942901933, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4854055, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4610998355413, telescope_dec_j2k=-24.141729077864, observability=1)
2025-11-03T09:15:51.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:51
2025-11-03T09:15:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6046950817108154s
2025-11-03T09:15:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6046950817108154
2025-11-03T09:15:51.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:51
2025-11-03T09:15:51.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:51.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6305983066558838s
2025-11-03T09:15:51.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6305983066558838
2025-11-03T09:15:52.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:52
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832580089569092s
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4859656;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50573;2460982.80269406;9.26463306;1.3;_
2025-11-03T09:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4859656;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50573;2460982.80269406;9.26463306;1.3;_
2025-11-03T09:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:52.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4859656, teldec = -24.256622
2025-11-03T09:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4859656 -24.256622
2025-11-03T09:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4859656 -24.256622
2025-11-03T09:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4859656 -24.256622
2025-11-03T09:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4859656;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50573;2460982.80269409;9.26463306;1.3;_14.4616594292491 -24.1417412181764
2025-11-03T09:15:52.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4616594292491     dec_j2k = -24.1417412181764
2025-11-03T09:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967025937304793;171.162362694745;_
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967025937304793;171.162362694745;_
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53745)
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80269406, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967025937304793, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4859656, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50573, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4616594292491, telescope_dec_j2k=-24.1417412181764, observability=1)
2025-11-03T09:15:53.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:53
2025-11-03T09:15:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814974308013916s
2025-11-03T09:15:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814974308013916
2025-11-03T09:15:53.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:53
2025-11-03T09:15:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6030397415161133s
2025-11-03T09:15:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6030397415161133
2025-11-03T09:15:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:54
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778945446014404s
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4865163;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50628;2460982.80271714;9.26518222;1.3;_
2025-11-03T09:15:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4865163;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50628;2460982.80271714;9.26518222;1.3;_
2025-11-03T09:15:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4865163, teldec = -24.256622
2025-11-03T09:15:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4865163 -24.256622
2025-11-03T09:15:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4865163 -24.256622
2025-11-03T09:15:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4865163 -24.256622
2025-11-03T09:15:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4865163;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50628;2460982.80271716;9.26518222;1.3;_14.4622096314985 -24.1417531571807
2025-11-03T09:15:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4622096314985     dec_j2k = -24.1417531571807
2025-11-03T09:15:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967029146260217;171.162362694745;_
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967029146260217;171.162362694745;_
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51033)
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:54.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80271714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967029146260217, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4865163, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50628, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4622096314985, telescope_dec_j2k=-24.1417531571807, observability=1)
2025-11-03T09:15:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:55
2025-11-03T09:15:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.586742639541626s
2025-11-03T09:15:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.586742639541626
2025-11-03T09:15:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:55
2025-11-03T09:15:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6086344718933105s
2025-11-03T09:15:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6086344718933105
2025-11-03T09:15:56.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:56
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983618974685669s
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4870772;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50685;2460982.80274027;9.26574167;1.3;_
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4870772;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50685;2460982.80274027;9.26574167;1.3;_
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4870772, teldec = -24.256622
2025-11-03T09:15:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4870772 -24.256622
2025-11-03T09:15:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4870772 -24.256622
2025-11-03T09:15:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4870772 -24.256622
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4870772;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50685;2460982.8027403;9.26574167;1.3;_14.462770024574 -24.1417653198039
2025-11-03T09:15:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.462770024574     dec_j2k = -24.1417653198039
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967032355215642;171.162357330327;_
2025-11-03T09:15:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967032355215642;171.162357330327;_
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39067)
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:56.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:56.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:56.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:56.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:56.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:56.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80274027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967032355215642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4870772, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50685, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.462770024574, telescope_dec_j2k=-24.1417653198039, observability=1)
2025-11-03T09:15:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:57
2025-11-03T09:15:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.583198070526123s
2025-11-03T09:15:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.583198070526123
2025-11-03T09:15:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:57
2025-11-03T09:15:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6054835319519043s
2025-11-03T09:15:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6054835319519043
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1486024856567383s
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:57.927 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:57.928 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4873856;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50718;2460982.8027538;9.26607694;1.3;_
2025-11-03T09:15:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.4873856;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50718;2460982.8027538;9.26607694;1.3;_
2025-11-03T09:15:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:57.929 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:57.930 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.4873856, teldec = -24.256622
2025-11-03T09:15:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4873856 -24.256622
2025-11-03T09:15:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4873856 -24.256622
2025-11-03T09:15:57.930 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4873856 -24.256622
2025-11-03T09:15:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.4874134;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50718;2460982.80275383;9.26607694;1.3;_14.463078145871 -24.1417720082555
2025-11-03T09:15:57.931 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.463078145871     dec_j2k = -24.1417720082555
2025-11-03T09:15:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:57.931 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096703476193221;171.162357330327;_
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096703476193221;171.162357330327;_
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:57.936 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34089)
2025-11-03T09:15:57.936 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:57.936 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:57.937 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:57.937 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:57.937 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:57.944 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8027538, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096703476193221, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4873856, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50718, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.463078145871, telescope_dec_j2k=-24.1417720082555, observability=1)
2025-11-03T09:15:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:58
2025-11-03T09:15:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.815850019454956s
2025-11-03T09:15:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.815850019454956
2025-11-03T09:15:59.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:59
2025-11-03T09:15:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4215006828308105s
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:15:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4878053;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50757;2460982.80277045;9.26646778;1.3;_
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4878053;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50757;2460982.80277045;9.26646778;1.3;_
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:15:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:15:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:15:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:15:59.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4878053, teldec = -24.256622
2025-11-03T09:15:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4878053 -24.256622
2025-11-03T09:15:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4878053 -24.256622
2025-11-03T09:15:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4878053 -24.256622
2025-11-03T09:15:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4878053;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50757;2460982.80277049;9.26646778;1.3;_14.4634974666077 -24.1417811117536
2025-11-03T09:15:59.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4634974666077     dec_j2k = -24.1417811117536
2025-11-03T09:15:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:15:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:15:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967035965290494;171.162351965909;_
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967035965290494;171.162351965909;_
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:15:59.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:15:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:15:59.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38935)
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:15:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:15:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:15:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:59.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:15:59.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:15:59.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:15:59.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:15:59.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:15:59.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:15:59.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:15:59.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80277045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967035965290494, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4878053, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50757, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4634974666077, telescope_dec_j2k=-24.1417811117536, observability=1)
2025-11-03T09:15:59.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:15:59
2025-11-03T09:15:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022139310836791992s
2025-11-03T09:15:59.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022139310836791992
2025-11-03T09:15:59.456 [DEBUG] [Thread-88597 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:15:59.457 [DEBUG] [Thread-88597 (handle)] [server.py] [get_status()] Status age = 0.07175374031066895s
2025-11-03T09:15:59.457 [DEBUG] [Thread-88597 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07175374031066895
2025-11-03T09:16:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:00
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3745510578155518s
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4881881;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50796;2460982.80278657;9.26684944;1.3;_
2025-11-03T09:16:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4881881;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50796;2460982.80278657;9.26684944;1.3;_
2025-11-03T09:16:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4881881, teldec = -24.256622
2025-11-03T09:16:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4881881 -24.256622
2025-11-03T09:16:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4881881 -24.256622
2025-11-03T09:16:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4881881 -24.256622
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4881881;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50796;2460982.80278661;9.26684944;1.3;_14.4638799207117 -24.1417894160973
2025-11-03T09:16:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4638799207117     dec_j2k = -24.1417894160973
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967033959693354;171.162357330327;_
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967033959693354;171.162357330327;_
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55249)
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80278657, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967033959693354, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4881881, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4638799207117, telescope_dec_j2k=-24.1417894160973, observability=1)
2025-11-03T09:16:01.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:01
2025-11-03T09:16:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5836701393127441s
2025-11-03T09:16:01.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5836701393127441
2025-11-03T09:16:01.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:01
2025-11-03T09:16:01.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:01.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6065692901611328s
2025-11-03T09:16:01.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6065692901611328
2025-11-03T09:16:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:02
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9845421314239502s
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4887488;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50852;2460982.80280979;9.26740861;1.3;_
2025-11-03T09:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4887488;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50852;2460982.80280979;9.26740861;1.3;_
2025-11-03T09:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4887488, teldec = -24.256622
2025-11-03T09:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4887488 -24.256622
2025-11-03T09:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4887488 -24.256622
2025-11-03T09:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4887488 -24.256622
2025-11-03T09:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4887488;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50852;2460982.80280982;9.26740861;1.3;_14.4644401141047 -24.1418015818566
2025-11-03T09:16:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4644401141047     dec_j2k = -24.1418015818566
2025-11-03T09:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967034360812782;171.162368059163;_
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967034360812782;171.162368059163;_
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43609)
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:02.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:02.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:02.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80280979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967034360812782, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4887488, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50852, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4644401141047, telescope_dec_j2k=-24.1418015818566, observability=1)
2025-11-03T09:16:04.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:04
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5773212909698486s
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.489198;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50897;2460982.8028283;9.26785667;1.3;_
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.489198;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50897;2460982.8028283;9.26785667;1.3;_
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.489198, teldec = -24.256622
2025-11-03T09:16:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.489198 -24.256622
2025-11-03T09:16:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.489198 -24.256622
2025-11-03T09:16:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.489198 -24.256622
2025-11-03T09:16:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.489198;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50897;2460982.80282832;9.26785667;1.3;_14.464888908274 -24.1418113301586
2025-11-03T09:16:04.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.464888908274     dec_j2k = -24.1418113301586
2025-11-03T09:16:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967034360812782;171.162341237072;_
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967034360812782;171.162341237072;_
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41361)
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:04.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:04.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:04.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8028283, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967034360812782, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.489198, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50897, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.464888908274, telescope_dec_j2k=-24.1418113301586, observability=1)
2025-11-03T09:16:04.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:04
2025-11-03T09:16:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021593332290649414s
2025-11-03T09:16:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021593332290649414
2025-11-03T09:16:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:04
2025-11-03T09:16:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38440608978271484s
2025-11-03T09:16:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38440608978271484
2025-11-03T09:16:06.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:06
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0510976314544678s
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:06.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4897766;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50954;2460982.80285223;9.26843361;1.3;_
2025-11-03T09:16:06.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4897766;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50954;2460982.80285223;9.26843361;1.3;_
2025-11-03T09:16:06.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:06.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:06.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:06.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:06.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:06.435 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4897766, teldec = -24.256622
2025-11-03T09:16:06.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4897766 -24.256622
2025-11-03T09:16:06.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4897766 -24.256622
2025-11-03T09:16:06.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4897766 -24.256622
2025-11-03T09:16:06.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4897766;-24.256622;50.108594;89.993053;50.08601;90.12017;11.50954;2460982.80285227;9.26843361;1.3;_14.4654669855799 -24.1418238890011
2025-11-03T09:16:06.436 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4654669855799     dec_j2k = -24.1418238890011
2025-11-03T09:16:06.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:06.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:06.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967036366409922;171.162351965909;_
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967036366409922;171.162351965909;_
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:06.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:06.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:06.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:06.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:06.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45977)
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:06.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:06.452 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:06.452 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:06.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80285223, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967036366409922, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4897766, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.50954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4654669855799, telescope_dec_j2k=-24.1418238890011, observability=1)
2025-11-03T09:16:06.475 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:06
2025-11-03T09:16:06.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:06.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021764278411865234s
2025-11-03T09:16:06.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021764278411865234
2025-11-03T09:16:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:06
2025-11-03T09:16:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31055617332458496s
2025-11-03T09:16:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31055617332458496
2025-11-03T09:16:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:08
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.91025972366333s
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4903094;-24.256622;50.108594;89.993053;50.08601;90.12017;11.51008;2460982.80287458;9.268965;1.3;_
2025-11-03T09:16:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4903094;-24.256622;50.108594;89.993053;50.08601;90.12017;11.51008;2460982.80287458;9.268965;1.3;_
2025-11-03T09:16:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:08.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4903094, teldec = -24.256622
2025-11-03T09:16:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4903094 -24.256622
2025-11-03T09:16:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4903094 -24.256622
2025-11-03T09:16:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4903094 -24.256622
2025-11-03T09:16:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4903094;-24.256622;50.108594;89.993053;50.08601;90.12017;11.51008;2460982.80287464;9.268965;1.3;_14.4659993043037 -24.1418354560881
2025-11-03T09:16:08.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4659993043037     dec_j2k = -24.1418354560881
2025-11-03T09:16:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967037168648778;171.162357330327;_
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967037168648778;171.162357330327;_
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:08.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:08.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56813)
2025-11-03T09:16:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:08.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:08.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:08.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80287458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967037168648778, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108594, telescope_az=89.993053, telescope_ra=14.4903094, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51008, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4659993043037, telescope_dec_j2k=-24.1418354560881, observability=1)
2025-11-03T09:16:08.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:08
2025-11-03T09:16:08.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:08.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022318363189697266s
2025-11-03T09:16:08.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022318363189697266
2025-11-03T09:16:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:08
2025-11-03T09:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3818209171295166s
2025-11-03T09:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3818209171295166
2025-11-03T09:16:10.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:10
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793627262115479s
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4908696;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51064;2460982.80289775;9.26952361;1.3;_
2025-11-03T09:16:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4908696;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51064;2460982.80289775;9.26952361;1.3;_
2025-11-03T09:16:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:10.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4908696, teldec = -24.256622
2025-11-03T09:16:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4908696 -24.256622
2025-11-03T09:16:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4908696 -24.256622
2025-11-03T09:16:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4908696 -24.256622
2025-11-03T09:16:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4908696;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51064;2460982.80289778;9.26952361;1.3;_14.466558998322 -24.1418476204688
2025-11-03T09:16:10.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.466558998322     dec_j2k = -24.1418476204688
2025-11-03T09:16:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967040377604203;171.162351965909;_
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967040377604203;171.162351965909;_
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55477)
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:10.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:10.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80289775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967040377604203, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4908696, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51064, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.466558998322, telescope_dec_j2k=-24.1418476204688, observability=1)
2025-11-03T09:16:10.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:10
2025-11-03T09:16:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025914907455444336s
2025-11-03T09:16:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025914907455444336
2025-11-03T09:16:10.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:10
2025-11-03T09:16:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37630701065063477s
2025-11-03T09:16:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37630701065063477
2025-11-03T09:16:10.932 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:16:10
2025-11-03T09:16:10.932 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:10.932 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.5504446029663086s
2025-11-03T09:16:10.932 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5504446029663086
2025-11-03T09:16:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:12
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811084270477295s
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4914202;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51119;2460982.80292087;9.27007278;1.3;_
2025-11-03T09:16:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4914202;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51119;2460982.80292087;9.27007278;1.3;_
2025-11-03T09:16:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4914202, teldec = -24.256622
2025-11-03T09:16:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4914202 -24.256622
2025-11-03T09:16:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4914202 -24.256622
2025-11-03T09:16:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4914202 -24.256622
2025-11-03T09:16:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4914202;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51119;2460982.8029209;9.27007278;1.3;_14.4671091010558 -24.1418595788282
2025-11-03T09:16:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4671091010558     dec_j2k = -24.1418595788282
2025-11-03T09:16:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967033157454498;171.162362694745;_
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967033157454498;171.162362694745;_
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37457)
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:12.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:12.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80292087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967033157454498, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4914202, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51119, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:15:12.993038', telescope_ra_j2k=14.4671091010558, telescope_dec_j2k=-24.1418595788282, observability=1)
2025-11-03T09:16:12.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:12
2025-11-03T09:16:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021545886993408203s
2025-11-03T09:16:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021545886993408203
2025-11-03T09:16:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:12
2025-11-03T09:16:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3760504722595215s
2025-11-03T09:16:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3760504722595215
2025-11-03T09:16:13.134 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:13.134 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:13.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:13.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:13.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:13.135 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:13.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:13.136 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:13.136 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:13.136 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:13.136 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:16:13.136 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:16:13.137 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:16:13.138 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:16:13.138 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.138 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:16:14.139 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:14.140 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:14.141 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.141 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:14.141 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:14.141 [DEBUG] [ThreadPoolExecutor-3392_0] [payload.py] [to_registers()] [0]
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36893)
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:14.144 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:14.153 [DEBUG] [ThreadPoolExecutor-3392_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.961287260055542s
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:14.344 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:14.345 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:14.346 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294382;9.27063139;1.3;_
2025-11-03T09:16:14.346 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294382;9.27063139;1.3;_
2025-11-03T09:16:14.346 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:14.346 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:14.346 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:14.347 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:14.347 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:14.347 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.4919804, teldec = -24.256622
2025-11-03T09:16:14.347 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.347 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.347 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.348 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294384;9.27063139;1.3;_14.4676687951649 -24.1418717481669
2025-11-03T09:16:14.348 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.4676687951649     dec_j2k = -24.1418717481669
2025-11-03T09:16:14.348 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:14.348 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:14.348 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967038372007062;171.162368059163;_
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967038372007062;171.162368059163;_
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:14.349 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:14.350 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:14.351 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:14.351 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:14.351 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:14.356 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51201)
2025-11-03T09:16:14.356 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:14.356 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:14.357 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:14.357 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:14.357 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:14.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:14
2025-11-03T09:16:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980018138885498s
2025-11-03T09:16:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:14.364 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:16:14.364 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80294382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967038372007062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4919804, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4676687951649, telescope_dec_j2k=-24.1418717481669, observability=1)
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294403;9.27063139;1.3;_
2025-11-03T09:16:14.364 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4325852394104004 seconds ago
2025-11-03T09:16:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294403;9.27063139;1.3;_
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4919804, teldec = -24.256622
2025-11-03T09:16:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4919804 -24.256622
2025-11-03T09:16:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4919804;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51175;2460982.80294405;9.27063139;1.3;_14.4676687951649 -24.1418717481669
2025-11-03T09:16:14.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4676687951649     dec_j2k = -24.1418717481669
2025-11-03T09:16:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967038372007062;171.162368059163;_
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967038372007062;171.162368059163;_
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:14.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51663)
2025-11-03T09:16:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:14.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:14.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80294403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967038372007062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4919804, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4676687951649, telescope_dec_j2k=-24.1418717481669, observability=1)
2025-11-03T09:16:14.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:14
2025-11-03T09:16:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02110576629638672s
2025-11-03T09:16:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02110576629638672
2025-11-03T09:16:14.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:14
2025-11-03T09:16:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3792541027069092s
2025-11-03T09:16:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3792541027069092
2025-11-03T09:16:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:16
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982752799987793s
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4925408;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51231;2460982.80296718;9.27119028;1.3;_
2025-11-03T09:16:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4925408;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51231;2460982.80296718;9.27119028;1.3;_
2025-11-03T09:16:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4925408, teldec = -24.256622
2025-11-03T09:16:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4925408 -24.256622
2025-11-03T09:16:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4925408 -24.256622
2025-11-03T09:16:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4925408 -24.256622
2025-11-03T09:16:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4925408;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51231;2460982.8029672;9.27119028;1.3;_14.4682286891393 -24.1418839243515
2025-11-03T09:16:16.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4682286891393     dec_j2k = -24.1418839243515
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967039976484775;171.162357330327;_
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967039976484775;171.162357330327;_
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:16.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44543)
2025-11-03T09:16:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:16.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:16.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80296718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967039976484775, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4925408, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4682286891393, telescope_dec_j2k=-24.1418839243515, observability=1)
2025-11-03T09:16:16.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:16
2025-11-03T09:16:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022786855697631836s
2025-11-03T09:16:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022786855697631836
2025-11-03T09:16:16.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:16
2025-11-03T09:16:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.383634090423584s
2025-11-03T09:16:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.383634090423584
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Status age = 1.1453723907470703s
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:17.528 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:17.529 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:17.530 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 17;14.4928486;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51262;2460982.80298067;9.27149722;1.3;_
2025-11-03T09:16:17.530 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response 17;14.4928486;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51262;2460982.80298067;9.27149722;1.3;_
2025-11-03T09:16:17.530 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:17.530 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:17.530 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:17.531 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:17.531 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:17.531 [INFO] [Thread-88598 (handle)] [driver.py] [get_status()] Telra = 14.4928486, teldec = -24.256622
2025-11-03T09:16:17.531 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4928486 -24.256622
2025-11-03T09:16:17.531 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4928486 -24.256622
2025-11-03T09:16:17.531 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4928486 -24.256622
2025-11-03T09:16:17.532 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 17;14.4928486;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51264;2460982.80298069;9.271525;1.3;_14.468536211224 -24.1418906131917
2025-11-03T09:16:17.532 [INFO] [Thread-88598 (handle)] [driver.py] [get_status()] ra_j2k = 14.468536211224     dec_j2k = -24.1418906131917
2025-11-03T09:16:17.532 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:17.532 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:17.532 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 140;0.0967039575365347;171.162357330327;_
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response 140;0.0967039575365347;171.162357330327;_
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:17.533 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:17.534 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:17.535 [DEBUG] [Thread-88598 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:17.535 [DEBUG] [Thread-88598 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:17.535 [DEBUG] [Thread-88598 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44899)
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:17.537 [DEBUG] [Thread-88598 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:17.545 [DEBUG] [Thread-88598 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:17.545 [INFO] [Thread-88598 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80298067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967039575365347, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4928486, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51262, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.468536211224, telescope_dec_j2k=-24.1418906131917, observability=1)
2025-11-03T09:16:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:18
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2164831161499023s
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4932032;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51297;2460982.80299495;9.27185083;1.3;_
2025-11-03T09:16:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4932032;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51297;2460982.80299495;9.27185083;1.3;_
2025-11-03T09:16:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:18.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4932032, teldec = -24.256622
2025-11-03T09:16:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4932032 -24.256622
2025-11-03T09:16:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4932032 -24.256622
2025-11-03T09:16:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4932032 -24.256622
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4932032;-24.256622;50.108593;89.993053;50.08601;90.12017;11.51297;2460982.80299499;9.27185083;1.3;_14.4688904910697 -24.1418983199841
2025-11-03T09:16:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4688904910697     dec_j2k = -24.1418983199841
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967031552976785;171.162357330327;_
2025-11-03T09:16:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967031552976785;171.162357330327;_
2025-11-03T09:16:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50239)
2025-11-03T09:16:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:18.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80299495, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967031552976785, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4932032, telescope_dec=-24.256622, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51297, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4688904910697, telescope_dec_j2k=-24.1418983199841, observability=1)
2025-11-03T09:16:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:20
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976827621459961s
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4937633;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51353;2460982.80301806;9.27240944;1.3;_
2025-11-03T09:16:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4937633;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51353;2460982.80301806;9.27240944;1.3;_
2025-11-03T09:16:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:20.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4937633, teldec = -24.256621
2025-11-03T09:16:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4937633 -24.256621
2025-11-03T09:16:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4937633 -24.256621
2025-11-03T09:16:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4937633 -24.256621
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4937633;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51353;2460982.80301808;9.27240944;1.3;_14.4694500855313 -24.1419094951083
2025-11-03T09:16:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4694500855313     dec_j2k = -24.1419094951083
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967043185440199;171.162351965909;_
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967043185440199;171.162351965909;_
2025-11-03T09:16:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33533)
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:20.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:20.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:20.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80301806, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967043185440199, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4937633, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4694500855313, telescope_dec_j2k=-24.1419094951083, observability=1)
2025-11-03T09:16:21.461 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:21
2025-11-03T09:16:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6832575798034668s
2025-11-03T09:16:21.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6832575798034668
2025-11-03T09:16:21.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:21
2025-11-03T09:16:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7042043209075928s
2025-11-03T09:16:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7042043209075928
2025-11-03T09:16:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:22
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9845552444458008s
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.494324;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51409;2460982.80304124;9.27296861;1.3;_
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.494324;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51409;2460982.80304124;9.27296861;1.3;_
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.494324, teldec = -24.256621
2025-11-03T09:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.494324 -24.256621
2025-11-03T09:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.494324 -24.256621
2025-11-03T09:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.494324 -24.256621
2025-11-03T09:16:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.494324;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51409;2460982.80304127;9.27296861;1.3;_14.470010279381 -24.1419216857738
2025-11-03T09:16:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.470010279381     dec_j2k = -24.1419216857738
2025-11-03T09:16:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967045191037339;171.162351965909;_
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967045191037339;171.162351965909;_
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57961)
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:22.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:22.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:22.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:22.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80304124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967045191037339, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.494324, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51409, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.470010279381, telescope_dec_j2k=-24.1419216857738, observability=1)
2025-11-03T09:16:23.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:23
2025-11-03T09:16:23.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:23.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5824429988861084s
2025-11-03T09:16:23.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5824429988861084
2025-11-03T09:16:23.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:23
2025-11-03T09:16:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6046428680419922s
2025-11-03T09:16:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6046428680419922
2025-11-03T09:16:24.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:24
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980161428451538s
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4948833;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51465;2460982.8030644;9.27352639;1.3;_
2025-11-03T09:16:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4948833;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51465;2460982.8030644;9.27352639;1.3;_
2025-11-03T09:16:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:24.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4948833, teldec = -24.256621
2025-11-03T09:16:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4948833 -24.256621
2025-11-03T09:16:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4948833 -24.256621
2025-11-03T09:16:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4948833 -24.256621
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4948833;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51465;2460982.80306443;9.27352639;1.3;_14.4705690745403 -24.1419338484948
2025-11-03T09:16:24.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4705690745403     dec_j2k = -24.1419338484948
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967048801112192;171.162351965909;_
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967048801112192;171.162351965909;_
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56605)
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:24.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:24.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8030644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967048801112192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4948833, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51465, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4705690745403, telescope_dec_j2k=-24.1419338484948, observability=1)
2025-11-03T09:16:25.599 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:25
2025-11-03T09:16:25.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:25.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8236517906188965s
2025-11-03T09:16:25.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8236517906188965
2025-11-03T09:16:25.623 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:25
2025-11-03T09:16:25.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:25.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8473780155181885s
2025-11-03T09:16:25.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8473780155181885
2025-11-03T09:16:26.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:26
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800755977630615s
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:26.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4954343;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5152;2460982.80308747;9.27407583;1.3;_
2025-11-03T09:16:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4954343;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5152;2460982.80308747;9.27407583;1.3;_
2025-11-03T09:16:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:26.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4954343, teldec = -24.256621
2025-11-03T09:16:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4954343 -24.256621
2025-11-03T09:16:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4954343 -24.256621
2025-11-03T09:16:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4954343 -24.256621
2025-11-03T09:16:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4954343;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5152;2460982.8030875;9.27407583;1.3;_14.4711195772362 -24.1419458331567
2025-11-03T09:16:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4711195772362     dec_j2k = -24.1419458331567
2025-11-03T09:16:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967045191037339;171.162341237072;_
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967045191037339;171.162341237072;_
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46963)
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:26.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:26.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80308747, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967045191037339, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4954343, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5152, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4711195772362, telescope_dec_j2k=-24.1419458331567, observability=1)
2025-11-03T09:16:27.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:27
2025-11-03T09:16:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5930347442626953s
2025-11-03T09:16:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5930347442626953
2025-11-03T09:16:27.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:27
2025-11-03T09:16:27.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:27.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6178574562072754s
2025-11-03T09:16:27.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6178574562072754
2025-11-03T09:16:28.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:28
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9866642951965332s
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4959958;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51576;2460982.80311064;9.27463583;1.3;_
2025-11-03T09:16:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4959958;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51576;2460982.80311064;9.27463583;1.3;_
2025-11-03T09:16:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4959958, teldec = -24.256621
2025-11-03T09:16:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4959958 -24.256621
2025-11-03T09:16:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4959958 -24.256621
2025-11-03T09:16:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4959958 -24.256621
2025-11-03T09:16:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4959958;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51576;2460982.80311067;9.27463583;1.3;_14.471680570501 -24.1419580486881
2025-11-03T09:16:28.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.471680570501     dec_j2k = -24.1419580486881
2025-11-03T09:16:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967045592156767;171.162357330327;_
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967045592156767;171.162357330327;_
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46111)
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:28.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:28.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80311064, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967045592156767, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4959958, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51576, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.471680570501, telescope_dec_j2k=-24.1419580486881, observability=1)
2025-11-03T09:16:29.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:29
2025-11-03T09:16:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5923581123352051s
2025-11-03T09:16:29.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5923581123352051
2025-11-03T09:16:29.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:29
2025-11-03T09:16:29.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:29.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6170506477355957s
2025-11-03T09:16:29.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6170506477355957
2025-11-03T09:16:30.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:30
2025-11-03T09:16:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9963831901550293s
2025-11-03T09:16:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4965554;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51632;2460982.80313392;9.27519389;1.3;_
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4965554;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51632;2460982.80313392;9.27519389;1.3;_
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:30.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4965554, teldec = -24.256621
2025-11-03T09:16:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4965554 -24.256621
2025-11-03T09:16:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4965554 -24.256621
2025-11-03T09:16:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4965554 -24.256621
2025-11-03T09:16:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4965554;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51632;2460982.80313395;9.27519389;1.3;_14.4722396655265 -24.1419702253816
2025-11-03T09:16:30.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4722396655265     dec_j2k = -24.1419702253816
2025-11-03T09:16:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967050806709332;171.162362694745;_
2025-11-03T09:16:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967050806709332;171.162362694745;_
2025-11-03T09:16:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:30.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:30.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:30.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49531)
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:30.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:30.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80313392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967050806709332, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4965554, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51632, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4722396655265, telescope_dec_j2k=-24.1419702253816, observability=1)
2025-11-03T09:16:32.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:32
2025-11-03T09:16:32.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9682154655456543s
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:32.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:32.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4971061;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51687;2460982.80315692;9.27574306;1.3;_
2025-11-03T09:16:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4971061;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51687;2460982.80315692;9.27574306;1.3;_
2025-11-03T09:16:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:32.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4971061, teldec = -24.256621
2025-11-03T09:16:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4971061 -24.256621
2025-11-03T09:16:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4971061 -24.256621
2025-11-03T09:16:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4971061 -24.256621
2025-11-03T09:16:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4971061;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51687;2460982.80315694;9.27574306;1.3;_14.4727898686279 -24.1419822108478
2025-11-03T09:16:32.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4727898686279     dec_j2k = -24.1419822108478
2025-11-03T09:16:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967054416784185;171.162362694745;_
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967054416784185;171.162362694745;_
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60883)
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:32.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:32.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80315692, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967054416784185, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4971061, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51687, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4727898686279, telescope_dec_j2k=-24.1419822108478, observability=1)
2025-11-03T09:16:33.234 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:33
2025-11-03T09:16:33.234 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:33.234 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46050524711608887s
2025-11-03T09:16:33.234 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46050524711608887
2025-11-03T09:16:33.262 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:33
2025-11-03T09:16:33.262 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:33.263 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4889652729034424s
2025-11-03T09:16:33.263 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4889652729034424
2025-11-03T09:16:34.471 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:34
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.697495460510254s
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:34.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:34.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4975829;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51735;2460982.80317677;9.27621861;1.3;_
2025-11-03T09:16:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4975829;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51735;2460982.80317677;9.27621861;1.3;_
2025-11-03T09:16:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:34.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:34.474 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4975829, teldec = -24.256621
2025-11-03T09:16:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4975829 -24.256621
2025-11-03T09:16:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4975829 -24.256621
2025-11-03T09:16:34.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4975829 -24.256621
2025-11-03T09:16:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4975829;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51735;2460982.80317679;9.27621861;1.3;_14.4732662384454 -24.1419925898997
2025-11-03T09:16:34.475 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4732662384454     dec_j2k = -24.1419925898997
2025-11-03T09:16:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:34.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096705120782876;171.162357330327;_
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096705120782876;171.162357330327;_
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:34.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:34.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:34.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33645)
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:34.480 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:34.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:34.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:34.487 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:34.487 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:34.488 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:34.488 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:34.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:34.488 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80317677, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096705120782876, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4975829, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51735, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4732662384454, telescope_dec_j2k=-24.1419925898997, observability=1)
2025-11-03T09:16:34.510 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:34
2025-11-03T09:16:34.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:34.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021815776824951172s
2025-11-03T09:16:34.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021815776824951172
2025-11-03T09:16:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:34
2025-11-03T09:16:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2717113494873047s
2025-11-03T09:16:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2717113494873047
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Status age = 1.173844337463379s
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:35.662 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:35.663 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:35.664 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 17;14.4979188;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51769;2460982.80319056;9.27655361;1.3;_
2025-11-03T09:16:35.664 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response 17;14.4979188;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51769;2460982.80319056;9.27655361;1.3;_
2025-11-03T09:16:35.664 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:35.664 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:35.664 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:35.665 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:35.665 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:35.665 [INFO] [Thread-88599 (handle)] [driver.py] [get_status()] Telra = 14.4979188, teldec = -24.256621
2025-11-03T09:16:35.665 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4979188 -24.256621
2025-11-03T09:16:35.665 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4979188 -24.256621
2025-11-03T09:16:35.665 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4979188 -24.256621
2025-11-03T09:16:35.666 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 17;14.4979188;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51769;2460982.80319058;9.27655361;1.3;_14.4736018354069 -24.141999902906
2025-11-03T09:16:35.666 [INFO] [Thread-88599 (handle)] [driver.py] [get_status()] ra_j2k = 14.4736018354069     dec_j2k = -24.141999902906
2025-11-03T09:16:35.666 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:35.666 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:35.666 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 140;0.0967054817903613;171.162351965909;_
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response 140;0.0967054817903613;171.162351965909;_
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:35.667 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:35.668 [DEBUG] [Thread-88599 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:35.668 [DEBUG] [Thread-88599 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:35.668 [DEBUG] [Thread-88599 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:35.671 [DEBUG] [Thread-88599 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35339)
2025-11-03T09:16:35.671 [DEBUG] [Thread-88599 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:35.671 [DEBUG] [Thread-88599 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:35.671 [DEBUG] [Thread-88599 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:35.671 [DEBUG] [Thread-88599 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:35.672 [DEBUG] [Thread-88599 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:35.679 [DEBUG] [Thread-88599 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:35.679 [INFO] [Thread-88599 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80319056, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967054817903613, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4979188, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51769, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4736018354069, telescope_dec_j2k=-24.141999902906, observability=1)
2025-11-03T09:16:36.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:36
2025-11-03T09:16:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7418467998504639s
2025-11-03T09:16:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7418467998504639
2025-11-03T09:16:36.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:36
2025-11-03T09:16:36.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:36.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7639625072479248s
2025-11-03T09:16:36.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7639625072479248
2025-11-03T09:16:36.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:36
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.090970754623413s
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4982266;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51799;2460982.80320338;9.27686056;1.3;_
2025-11-03T09:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4982266;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51799;2460982.80320338;9.27686056;1.3;_
2025-11-03T09:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4982266, teldec = -24.256621
2025-11-03T09:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4982266 -24.256621
2025-11-03T09:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4982266 -24.256621
2025-11-03T09:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4982266 -24.256621
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4982266;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51799;2460982.8032034;9.27686056;1.3;_14.4739093577339 -24.1420066049249
2025-11-03T09:16:36.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4739093577339     dec_j2k = -24.1420066049249
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967059230217321;171.162351965909;_
2025-11-03T09:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967059230217321;171.162351965909;_
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52411)
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:36.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:36.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:36.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:36.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80320338, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967059230217321, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4982266, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51799, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4739093577339, telescope_dec_j2k=-24.1420066049249, observability=1)
2025-11-03T09:16:38.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:38
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9692797660827637s
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4987776;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51855;2460982.80322639;9.27741;1.3;_
2025-11-03T09:16:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4987776;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51855;2460982.80322639;9.27741;1.3;_
2025-11-03T09:16:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:38.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4987776, teldec = -24.256621
2025-11-03T09:16:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4987776 -24.256621
2025-11-03T09:16:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4987776 -24.256621
2025-11-03T09:16:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4987776 -24.256621
2025-11-03T09:16:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4987776;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51855;2460982.80322641;9.27741;1.3;_14.4744598606995 -24.1420186042488
2025-11-03T09:16:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4744598606995     dec_j2k = -24.1420186042488
2025-11-03T09:16:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967062439172746;171.162346601491;_
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062439172746;171.162346601491;_
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33279)
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:38.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80322639, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062439172746, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4987776, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51855, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4744598606995, telescope_dec_j2k=-24.1420186042488, observability=1)
2025-11-03T09:16:39.153 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:39.153 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:39.153 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:39.153 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:39.153 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:39.154 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:16:39.155 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:16:39.156 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:40.655 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:40
2025-11-03T09:16:40.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:40.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8776352405548096s
2025-11-03T09:16:40.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:40.655 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:40.656 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:40.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:40.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:40.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:40.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:40.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4993104;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51908;2460982.80324836;9.27794139;1.3;_
2025-11-03T09:16:40.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4993104;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51908;2460982.80324836;9.27794139;1.3;_
2025-11-03T09:16:40.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:40.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:40.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:40.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:40.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:40.659 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4993104, teldec = -24.256621
2025-11-03T09:16:40.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4993104 -24.256621
2025-11-03T09:16:40.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4993104 -24.256621
2025-11-03T09:16:40.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4993104 -24.256621
2025-11-03T09:16:40.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4993104;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51908;2460982.80324838;9.27794139;1.3;_14.4749921801249 -24.1420302095219
2025-11-03T09:16:40.660 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4749921801249     dec_j2k = -24.1420302095219
2025-11-03T09:16:40.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:40.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:40.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096706163693389;171.162346601491;_
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096706163693389;171.162346601491;_
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:40.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:40.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:40.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:40.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:40.669 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47777)
2025-11-03T09:16:40.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:40.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:40.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:40.669 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:40.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:40.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:40.677 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80324836, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096706163693389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4993104, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51908, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4749921801249, telescope_dec_j2k=-24.1420302095219, observability=1)
2025-11-03T09:16:40.699 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:40
2025-11-03T09:16:40.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:40.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022056102752685547s
2025-11-03T09:16:40.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022056102752685547
2025-11-03T09:16:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:40
2025-11-03T09:16:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08176183700561523s
2025-11-03T09:16:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08176183700561523
2025-11-03T09:16:42.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:42
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.68638014793396s
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4997862;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51955;2460982.80326812;9.27841583;1.3;_
2025-11-03T09:16:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.4997862;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51955;2460982.80326812;9.27841583;1.3;_
2025-11-03T09:16:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:42.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.4997862, teldec = -24.256621
2025-11-03T09:16:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.4997862 -24.256621
2025-11-03T09:16:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.4997862 -24.256621
2025-11-03T09:16:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.4997862 -24.256621
2025-11-03T09:16:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.4997862;-24.256621;50.108593;89.993053;50.08601;90.12017;11.51955;2460982.80326815;9.27841583;1.3;_14.4754675509983 -24.1420405751488
2025-11-03T09:16:42.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4754675509983     dec_j2k = -24.1420405751488
2025-11-03T09:16:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967062840292174;171.162351965909;_
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062840292174;171.162351965909;_
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42079)
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:42.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:42.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80326812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062840292174, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.4997862, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.51955, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4754675509983, telescope_dec_j2k=-24.1420405751488, observability=1)
2025-11-03T09:16:42.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:42
2025-11-03T09:16:42.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:42.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.039061784744262695s
2025-11-03T09:16:42.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.039061784744262695
2025-11-03T09:16:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:42
2025-11-03T09:16:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3758525848388672s
2025-11-03T09:16:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3758525848388672
2025-11-03T09:16:44.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:44
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9794931411743164s
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5003366;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5201;2460982.80329125;9.27896472;1.3;_
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5003366;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5201;2460982.80329125;9.27896472;1.3;_
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5003366, teldec = -24.256621
2025-11-03T09:16:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5003366 -24.256621
2025-11-03T09:16:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5003366 -24.256621
2025-11-03T09:16:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5003366 -24.256621
2025-11-03T09:16:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5003366;-24.256621;50.108593;89.993053;50.08601;90.12017;11.5201;2460982.80329127;9.27896472;1.3;_14.476017454631 -24.142052568234
2025-11-03T09:16:44.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.476017454631     dec_j2k = -24.142052568234
2025-11-03T09:16:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967059230217321;171.162362694745;_
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967059230217321;171.162362694745;_
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34601)
2025-11-03T09:16:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:44.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:44.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80329125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967059230217321, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5003366, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5201, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.476017454631, telescope_dec_j2k=-24.142052568234, observability=1)
2025-11-03T09:16:44.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:44
2025-11-03T09:16:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021450519561767578s
2025-11-03T09:16:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021450519561767578
2025-11-03T09:16:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:44
2025-11-03T09:16:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3807945251464844s
2025-11-03T09:16:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3807945251464844
2025-11-03T09:16:46.371 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:46
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9902372360229492s
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5008973;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52067;2460982.8033145;9.27952389;1.3;_
2025-11-03T09:16:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5008973;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52067;2460982.8033145;9.27952389;1.3;_
2025-11-03T09:16:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:46.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5008973, teldec = -24.256621
2025-11-03T09:16:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5008973 -24.256621
2025-11-03T09:16:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5008973 -24.256621
2025-11-03T09:16:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5008973 -24.256621
2025-11-03T09:16:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5008973;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52067;2460982.80331453;9.27952389;1.3;_14.4765776490204 -24.1420647882313
2025-11-03T09:16:46.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4765776490204     dec_j2k = -24.1420647882313
2025-11-03T09:16:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967065247008742;171.162368059163;_
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967065247008742;171.162368059163;_
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:16:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41193)
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:46.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:46.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8033145, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967065247008742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5008973, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52067, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4765776490204, telescope_dec_j2k=-24.1420647882313, observability=1)
2025-11-03T09:16:46.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:46
2025-11-03T09:16:46.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:46.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021628379821777344s
2025-11-03T09:16:46.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021628379821777344
2025-11-03T09:16:46.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:46
2025-11-03T09:16:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3683812618255615s
2025-11-03T09:16:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3683812618255615
2025-11-03T09:16:47.320 [DEBUG] [Thread-88600 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:47.321 [DEBUG] [Thread-88600 (handle)] [server.py] [get_status()] Status age = 0.9281926155090332s
2025-11-03T09:16:47.321 [DEBUG] [Thread-88600 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9281926155090332
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5727145671844482s
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:47.965 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:47.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:47.967 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5013454;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52111;2460982.80333295;9.27997083;1.3;_
2025-11-03T09:16:47.967 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.5013454;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52111;2460982.80333295;9.27997083;1.3;_
2025-11-03T09:16:47.967 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:47.967 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:47.967 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:47.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:47.968 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:47.968 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.5013454, teldec = -24.256621
2025-11-03T09:16:47.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5013454 -24.256621
2025-11-03T09:16:47.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5013454 -24.256621
2025-11-03T09:16:47.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5013454 -24.256621
2025-11-03T09:16:47.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5013454;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52111;2460982.80333297;9.27997083;1.3;_14.47702534498 -24.1420745560014
2025-11-03T09:16:47.969 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.47702534498     dec_j2k = -24.1420745560014
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967058026859037;171.162357330327;_
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967058026859037;171.162357330327;_
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:47.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:47.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:47.973 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:47.973 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:47.973 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:47.973 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:47.973 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:47.974 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:47.974 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:47.974 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:47.974 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35303)
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:47.981 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:47.988 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:47.988 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80333295, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967058026859037, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5013454, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.47702534498, telescope_dec_j2k=-24.1420745560014, observability=1)
2025-11-03T09:16:48.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:48
2025-11-03T09:16:48.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:48.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7679979801177979s
2025-11-03T09:16:48.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7679979801177979
2025-11-03T09:16:49.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:49
2025-11-03T09:16:49.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4052636623382568s
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:49.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:49.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:49.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:49.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:49.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5017371;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52151;2460982.80334948;9.28036139;1.3;_
2025-11-03T09:16:49.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5017371;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52151;2460982.80334948;9.28036139;1.3;_
2025-11-03T09:16:49.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:49.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:49.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:49.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:49.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:49.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5017371, teldec = -24.256621
2025-11-03T09:16:49.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5017371 -24.256621
2025-11-03T09:16:49.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5017371 -24.256621
2025-11-03T09:16:49.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5017371 -24.256621
2025-11-03T09:16:49.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5017371;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52151;2460982.80334951;9.28036139;1.3;_14.4774166918181 -24.1420830956614
2025-11-03T09:16:49.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4774166918181     dec_j2k = -24.1420830956614
2025-11-03T09:16:49.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:49.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:49.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967061235814462;171.162368059163;_
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967061235814462;171.162368059163;_
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:49.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:49.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:49.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:49.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:49.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57281)
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:49.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:49.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:49.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:49.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:49.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:49.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80334948, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967061235814462, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5017371, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52151, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4774166918181, telescope_dec_j2k=-24.1420830956614, observability=1)
2025-11-03T09:16:49.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:49
2025-11-03T09:16:49.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:49.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022165536880493164s
2025-11-03T09:16:49.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022165536880493164
2025-11-03T09:16:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:50
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3469903469085693s
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5021198;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52189;2460982.80336528;9.28074306;1.3;_
2025-11-03T09:16:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5021198;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52189;2460982.80336528;9.28074306;1.3;_
2025-11-03T09:16:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5021198, teldec = -24.256621
2025-11-03T09:16:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5021198 -24.256621
2025-11-03T09:16:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5021198 -24.256621
2025-11-03T09:16:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5021198 -24.256621
2025-11-03T09:16:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5021198;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52189;2460982.80336531;9.28074306;1.3;_14.4777990467925 -24.1420914402859
2025-11-03T09:16:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4777990467925     dec_j2k = -24.1420914402859
2025-11-03T09:16:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967060834695034;171.162351965909;_
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967060834695034;171.162351965909;_
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41857)
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:50.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80336528, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967060834695034, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5021198, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4777990467925, telescope_dec_j2k=-24.1420914402859, observability=1)
2025-11-03T09:16:51.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:51
2025-11-03T09:16:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5846624374389648s
2025-11-03T09:16:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5846624374389648
2025-11-03T09:16:51.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:51
2025-11-03T09:16:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6089324951171875s
2025-11-03T09:16:51.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6089324951171875
2025-11-03T09:16:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:52
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824705123901367s
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5026802;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52245;2460982.80338845;9.28130194;1.3;_
2025-11-03T09:16:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5026802;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52245;2460982.80338845;9.28130194;1.3;_
2025-11-03T09:16:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5026802, teldec = -24.256621
2025-11-03T09:16:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5026802 -24.256621
2025-11-03T09:16:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5026802 -24.256621
2025-11-03T09:16:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5026802 -24.256621
2025-11-03T09:16:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5026802;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52245;2460982.80338847;9.28130194;1.3;_14.4783589415991 -24.1421036616909
2025-11-03T09:16:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4783589415991     dec_j2k = -24.1421036616909
2025-11-03T09:16:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967065247008742;171.162373423581;_
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967065247008742;171.162373423581;_
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48399)
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:52.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80338845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967065247008742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5026802, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52245, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4783589415991, telescope_dec_j2k=-24.1421036616909, observability=1)
2025-11-03T09:16:53.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:53
2025-11-03T09:16:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.584221363067627s
2025-11-03T09:16:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.584221363067627
2025-11-03T09:16:53.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:53
2025-11-03T09:16:53.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:53.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6060352325439453s
2025-11-03T09:16:53.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6060352325439453
2025-11-03T09:16:53.718 [DEBUG] [Thread-88601 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:53.718 [DEBUG] [Thread-88601 (handle)] [server.py] [get_status()] Status age = 0.9370083808898926s
2025-11-03T09:16:53.718 [DEBUG] [Thread-88601 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9370083808898926
2025-11-03T09:16:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:54
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792914390563965s
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5032406;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52301;2460982.8034116;9.28186083;1.3;_
2025-11-03T09:16:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5032406;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52301;2460982.8034116;9.28186083;1.3;_
2025-11-03T09:16:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5032406, teldec = -24.256621
2025-11-03T09:16:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5032406 -24.256621
2025-11-03T09:16:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5032406 -24.256621
2025-11-03T09:16:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5032406 -24.256621
2025-11-03T09:16:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5032406;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52301;2460982.80341163;9.28186083;1.3;_14.4789188364518 -24.1421158855928
2025-11-03T09:16:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4789188364518     dec_j2k = -24.1421158855928
2025-11-03T09:16:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967062038053318;171.162351965909;_
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062038053318;171.162351965909;_
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53847)
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8034116, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062038053318, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5032406, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52301, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4789188364518, telescope_dec_j2k=-24.1421158855928, observability=1)
2025-11-03T09:16:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:55
2025-11-03T09:16:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.58203125s
2025-11-03T09:16:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.58203125
2025-11-03T09:16:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:55
2025-11-03T09:16:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037542819976807s
2025-11-03T09:16:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037542819976807
2025-11-03T09:16:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:56
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800770282745361s
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5037913;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52356;2460982.80343472;9.28241;1.3;_
2025-11-03T09:16:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5037913;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52356;2460982.80343472;9.28241;1.3;_
2025-11-03T09:16:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5037913, teldec = -24.256621
2025-11-03T09:16:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5037913 -24.256621
2025-11-03T09:16:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5037913 -24.256621
2025-11-03T09:16:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5037913 -24.256621
2025-11-03T09:16:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5037913;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52356;2460982.80343476;9.28241;1.3;_14.4794690400931 -24.1421279003424
2025-11-03T09:16:56.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4794690400931     dec_j2k = -24.1421279003424
2025-11-03T09:16:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967065247008742;171.162357330327;_
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967065247008742;171.162357330327;_
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59113)
2025-11-03T09:16:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:56.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80343472, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967065247008742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5037913, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52356, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4794690400931, telescope_dec_j2k=-24.1421279003424, observability=1)
2025-11-03T09:16:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:57
2025-11-03T09:16:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.581536054611206s
2025-11-03T09:16:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.581536054611206
2025-11-03T09:16:57.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:57
2025-11-03T09:16:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6040408611297607s
2025-11-03T09:16:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6040408611297607
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3136506080627441s
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:58.095 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:58.095 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:58.095 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5041556;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52392;2460982.80345017;9.28277333;1.3;_
2025-11-03T09:16:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.5041556;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52392;2460982.80345017;9.28277333;1.3;_
2025-11-03T09:16:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:58.097 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.5041556, teldec = -24.256621
2025-11-03T09:16:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5041556 -24.256621
2025-11-03T09:16:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5041556 -24.256621
2025-11-03T09:16:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5041556 -24.256621
2025-11-03T09:16:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5041556;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52392;2460982.80345021;9.28277333;1.3;_14.4798330117655 -24.1421358496848
2025-11-03T09:16:58.098 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.4798330117655     dec_j2k = -24.1421358496848
2025-11-03T09:16:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967062840292174;171.162351965909;_
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062840292174;171.162351965909;_
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:58.102 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36871)
2025-11-03T09:16:58.102 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:58.102 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:58.103 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:58.110 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:58.110 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80345017, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062840292174, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.5041556, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52392, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4798330117655, telescope_dec_j2k=-24.1421358496848, observability=1)
2025-11-03T09:16:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:58
2025-11-03T09:16:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6492519378662109s
2025-11-03T09:16:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6492519378662109
2025-11-03T09:16:59.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:59
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.253296136856079s
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:16:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:16:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:16:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:16:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:16:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:16:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.50452;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52429;2460982.80346487;9.28313667;1.3;_
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.50452;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52429;2460982.80346487;9.28313667;1.3;_
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:16:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:16:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:16:59.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.50452, teldec = -24.256621
2025-11-03T09:16:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.50452 -24.256621
2025-11-03T09:16:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.50452 -24.256621
2025-11-03T09:16:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.50452 -24.256621
2025-11-03T09:16:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.50452;-24.256621;50.108593;89.993053;50.08601;90.12017;11.52429;2460982.8034649;9.28313667;1.3;_14.4801970833672 -24.1421438022645
2025-11-03T09:16:59.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4801970833672     dec_j2k = -24.1421438022645
2025-11-03T09:16:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:16:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:16:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967062840292174;171.162357330327;_
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062840292174;171.162357330327;_
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:16:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:16:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:16:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36103)
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:16:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:16:59.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:16:59.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80346487, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062840292174, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108593, telescope_az=89.993053, telescope_ra=14.50452, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52429, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4801970833672, telescope_dec_j2k=-24.1421438022645, observability=1)
2025-11-03T09:16:59.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:16:59
2025-11-03T09:16:59.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:16:59.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02159905433654785s
2025-11-03T09:16:59.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02159905433654785
2025-11-03T09:17:00.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:00
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3704452514648438s
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:00.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5049121;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52468;2460982.80348098;9.28352778;1.3;_
2025-11-03T09:17:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5049121;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52468;2460982.80348098;9.28352778;1.3;_
2025-11-03T09:17:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:00.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5049121, teldec = -24.256621
2025-11-03T09:17:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5049121 -24.256621
2025-11-03T09:17:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5049121 -24.256621
2025-11-03T09:17:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5049121 -24.256621
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5049121;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52468;2460982.80348101;9.28352778;1.3;_14.4805888300275 -24.1421523605413
2025-11-03T09:17:00.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4805888300275     dec_j2k = -24.1421523605413
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967066450367026;171.162351965909;_
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967066450367026;171.162351965909;_
2025-11-03T09:17:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:00.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52955)
2025-11-03T09:17:00.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:00.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:00.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:00.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:00.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80348098, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967066450367026, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5049121, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4805888300275, telescope_dec_j2k=-24.1421523605413, observability=1)
2025-11-03T09:17:01.671 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:01
2025-11-03T09:17:01.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:01.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8977963924407959s
2025-11-03T09:17:01.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8977963924407959
2025-11-03T09:17:01.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:01
2025-11-03T09:17:01.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:01.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9203102588653564s
2025-11-03T09:17:01.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9203102588653564
2025-11-03T09:17:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:02
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9911179542541504s
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.505472;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52524;2460982.80350422;9.28408611;1.3;_
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.505472;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52524;2460982.80350422;9.28408611;1.3;_
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.505472, teldec = -24.256621
2025-11-03T09:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.505472 -24.256621
2025-11-03T09:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.505472 -24.256621
2025-11-03T09:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.505472 -24.256621
2025-11-03T09:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.505472;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52524;2460982.80350425;9.28408611;1.3;_14.4811482255144 -24.1421645834681
2025-11-03T09:17:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4811482255144     dec_j2k = -24.1421645834681
2025-11-03T09:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967070060441879;171.162368059163;_
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967070060441879;171.162368059163;_
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37299)
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80350422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967070060441879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.505472, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4811482255144, telescope_dec_j2k=-24.1421645834681, observability=1)
2025-11-03T09:17:03.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:03
2025-11-03T09:17:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580496072769165s
2025-11-03T09:17:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580496072769165
2025-11-03T09:17:03.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:03
2025-11-03T09:17:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.60262131690979s
2025-11-03T09:17:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.60262131690979
2025-11-03T09:17:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:04
2025-11-03T09:17:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787328243255615s
2025-11-03T09:17:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5060232;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52579;2460982.80352736;9.28463583;1.3;_
2025-11-03T09:17:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5060232;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52579;2460982.80352736;9.28463583;1.3;_
2025-11-03T09:17:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:04.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5060232, teldec = -24.256621
2025-11-03T09:17:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5060232 -24.256621
2025-11-03T09:17:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5060232 -24.256621
2025-11-03T09:17:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5060232 -24.256621
2025-11-03T09:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5060232;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52579;2460982.8035274;9.28463583;1.3;_14.4816989288857 -24.1421766189024
2025-11-03T09:17:04.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4816989288857     dec_j2k = -24.1421766189024
2025-11-03T09:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967064444769886;171.162351965909;_
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967064444769886;171.162351965909;_
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52761)
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:04.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:04.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80352736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967064444769886, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5060232, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52579, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4816989288857, telescope_dec_j2k=-24.1421766189024, observability=1)
2025-11-03T09:17:05.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:05
2025-11-03T09:17:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5847773551940918s
2025-11-03T09:17:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5847773551940918
2025-11-03T09:17:05.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:05
2025-11-03T09:17:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:05.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6071810722351074s
2025-11-03T09:17:05.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6071810722351074
2025-11-03T09:17:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:06
2025-11-03T09:17:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840352535247803s
2025-11-03T09:17:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5065839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52635;2460982.80355052;9.285195;1.3;_
2025-11-03T09:17:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5065839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52635;2460982.80355052;9.285195;1.3;_
2025-11-03T09:17:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:06.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5065839, teldec = -24.256621
2025-11-03T09:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5065839 -24.256621
2025-11-03T09:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5065839 -24.256621
2025-11-03T09:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5065839 -24.256621
2025-11-03T09:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5065839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52635;2460982.80355056;9.285195;1.3;_14.4822591237434 -24.1421888642457
2025-11-03T09:17:06.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4822591237434     dec_j2k = -24.1421888642457
2025-11-03T09:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967062038053318;171.162341237072;_
2025-11-03T09:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967062038053318;171.162341237072;_
2025-11-03T09:17:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38783)
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:06.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:06.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:06.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:06.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:06.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80355052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967062038053318, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5065839, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52635, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4822591237434, telescope_dec_j2k=-24.1421888642457, observability=1)
2025-11-03T09:17:07.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:07
2025-11-03T09:17:07.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:07.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5909302234649658s
2025-11-03T09:17:07.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5909302234649658
2025-11-03T09:17:07.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:07
2025-11-03T09:17:07.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:07.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6126546859741211s
2025-11-03T09:17:07.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6126546859741211
2025-11-03T09:17:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:08
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810140132904053s
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:08.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5071435;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52691;2460982.80357359;9.28575306;1.3;_
2025-11-03T09:17:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5071435;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52691;2460982.80357359;9.28575306;1.3;_
2025-11-03T09:17:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:08.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5071435, teldec = -24.256621
2025-11-03T09:17:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5071435 -24.256621
2025-11-03T09:17:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5071435 -24.256621
2025-11-03T09:17:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5071435 -24.256621
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5071435;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52691;2460982.80357361;9.28575306;1.3;_14.4828182196381 -24.1422010880559
2025-11-03T09:17:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4828182196381     dec_j2k = -24.1422010880559
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967070060441879;171.162351965909;_
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967070060441879;171.162351965909;_
2025-11-03T09:17:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37717)
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:08.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:08.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:08.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80357359, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967070060441879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5071435, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4828182196381, telescope_dec_j2k=-24.1422010880559, observability=1)
2025-11-03T09:17:09.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:09
2025-11-03T09:17:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5861680507659912s
2025-11-03T09:17:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5861680507659912
2025-11-03T09:17:09.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:09
2025-11-03T09:17:09.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:09.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6104834079742432s
2025-11-03T09:17:09.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6104834079742432
2025-11-03T09:17:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:10
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848225116729736s
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5076948;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52746;2460982.80359678;9.28630278;1.3;_
2025-11-03T09:17:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5076948;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52746;2460982.80359678;9.28630278;1.3;_
2025-11-03T09:17:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5076948, teldec = -24.256621
2025-11-03T09:17:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5076948 -24.256621
2025-11-03T09:17:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5076948 -24.256621
2025-11-03T09:17:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5076948 -24.256621
2025-11-03T09:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5076948;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52746;2460982.80359681;9.28630278;1.3;_14.4833690230548 -24.1422131329949
2025-11-03T09:17:10.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4833690230548     dec_j2k = -24.1422131329949
2025-11-03T09:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967076478352728;171.162357330327;_
2025-11-03T09:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967076478352728;171.162357330327;_
2025-11-03T09:17:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39977)
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:10.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:10.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:10.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:10.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:10.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80359678, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967076478352728, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5076948, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4833690230548, telescope_dec_j2k=-24.1422131329949, observability=1)
2025-11-03T09:17:10.993 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:17:10
2025-11-03T09:17:10.993 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:10.993 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.2133023738861084s
2025-11-03T09:17:10.993 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2133023738861084
2025-11-03T09:17:11.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:11
2025-11-03T09:17:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5838754177093506s
2025-11-03T09:17:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5838754177093506
2025-11-03T09:17:11.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:11
2025-11-03T09:17:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6057331562042236s
2025-11-03T09:17:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6057331562042236
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Status age = 1.0279834270477295s
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:11.808 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:11.809 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:11.810 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 17;14.507975;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52774;2460982.80360891;9.28658222;1.3;_
2025-11-03T09:17:11.810 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response 17;14.507975;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52774;2460982.80360891;9.28658222;1.3;_
2025-11-03T09:17:11.810 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:11.810 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:11.810 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:11.811 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:11.811 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:11.811 [INFO] [Thread-88602 (handle)] [driver.py] [get_status()] Telra = 14.507975, teldec = -24.256621
2025-11-03T09:17:11.811 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] UnCookCoordinates 14.507975 -24.256621
2025-11-03T09:17:11.811 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.507975 -24.256621
2025-11-03T09:17:11.811 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.507975 -24.256621
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 17;14.507975;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52774;2460982.80360894;9.28658222;1.3;_14.4836489706819 -24.1422192557992
2025-11-03T09:17:11.812 [INFO] [Thread-88602 (handle)] [driver.py] [get_status()] ra_j2k = 14.4836489706819     dec_j2k = -24.1422192557992
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 140;0.0967074472755587;171.162378787999;_
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response 140;0.0967074472755587;171.162378787999;_
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:11.812 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:11.813 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:11.813 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:11.813 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:11.813 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:11.814 [DEBUG] [Thread-88602 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:11.814 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:11.814 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:11.814 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:11.815 [DEBUG] [Thread-88602 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:11.815 [DEBUG] [Thread-88602 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:11.815 [DEBUG] [Thread-88602 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:11.816 [DEBUG] [Thread-88602 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56787)
2025-11-03T09:17:11.816 [DEBUG] [Thread-88602 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:11.816 [DEBUG] [Thread-88602 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:11.816 [DEBUG] [Thread-88602 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:11.817 [DEBUG] [Thread-88602 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:11.817 [DEBUG] [Thread-88602 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:11.824 [DEBUG] [Thread-88602 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:11.824 [INFO] [Thread-88602 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80360891, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967074472755587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162378787999, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.507975, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:16:13.134213', telescope_ra_j2k=14.4836489706819, telescope_dec_j2k=-24.1422192557992, observability=1)
2025-11-03T09:17:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:12
2025-11-03T09:17:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9339349269866943s
2025-11-03T09:17:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9339349269866943
2025-11-03T09:17:13.275 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:13.275 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:13.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:13.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:13.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:13.277 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:13.277 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:13.278 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:13.278 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:13.278 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:13.278 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:17:13.278 [INFO] [ThreadPoolExecutor-3393_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:17:13.278 [INFO] [ThreadPoolExecutor-3393_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:17:13.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:13
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5379095077514648s
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5084229;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52819;2460982.8036269;9.28702889;1.3;_
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5084229;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52819;2460982.8036269;9.28702889;1.3;_
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:13.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5084229, teldec = -24.256621
2025-11-03T09:17:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5084229 -24.256621
2025-11-03T09:17:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5084229 -24.256621
2025-11-03T09:17:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5084229 -24.256621
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5084229;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52819;2460982.80362692;9.28702889;1.3;_14.4840964672874 -24.1422290444035
2025-11-03T09:17:13.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4840964672874     dec_j2k = -24.1422290444035
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967075676113872;171.162346601491;_
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967075676113872;171.162346601491;_
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45977)
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:13.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:13.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:13.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:13.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:13.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:13.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:13.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:13.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:13.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:13.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:13.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8036269, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967075676113872, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5084229, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52819, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4840964672874, telescope_dec_j2k=-24.1422290444035, observability=1)
2025-11-03T09:17:13.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:13
2025-11-03T09:17:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022347450256347656s
2025-11-03T09:17:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022347450256347656
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.046858310699463s
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:14.425 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:14.426 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5087025;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52847;2460982.80363919;9.28730778;1.3;_
2025-11-03T09:17:14.426 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.5087025;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52847;2460982.80363919;9.28730778;1.3;_
2025-11-03T09:17:14.426 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:14.426 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:14.426 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:14.427 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:14.427 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:14.427 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.5087025, teldec = -24.256621
2025-11-03T09:17:14.427 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.5087025 -24.256621
2025-11-03T09:17:14.427 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.5087025 -24.256621
2025-11-03T09:17:14.427 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5087025 -24.256621
2025-11-03T09:17:14.428 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5087025;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52847;2460982.80363921;9.28730778;1.3;_14.4843758154849 -24.142235155713
2025-11-03T09:17:14.428 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.4843758154849     dec_j2k = -24.142235155713
2025-11-03T09:17:14.428 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:14.428 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:14.428 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967070060441879;171.162341237072;_
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967070060441879;171.162341237072;_
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:14.429 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:14.430 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:14.431 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:14.431 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:14.431 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47955)
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:14.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:14.441 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:14.441 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:14.441 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:14.441 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:14.441 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:14.442 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:14.442 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:14.442 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:14.442 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:17:14.442 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80363919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967070060441879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5087025, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52847, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4843758154849, telescope_dec_j2k=-24.142235155713, observability=1)
2025-11-03T09:17:14.442 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.449005126953125 seconds ago
2025-11-03T09:17:14.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:14
2025-11-03T09:17:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3232245445251465s
2025-11-03T09:17:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3232245445251465
2025-11-03T09:17:15.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:15
2025-11-03T09:17:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9215757846832275s
2025-11-03T09:17:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9215757846832275
2025-11-03T09:17:15.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:15
2025-11-03T09:17:15.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:15.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9441421031951904s
2025-11-03T09:17:15.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9441421031951904
2025-11-03T09:17:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:16
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.341845750808716s
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5093657;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52913;2460982.80366649;9.28796917;1.3;_
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5093657;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52913;2460982.80366649;9.28796917;1.3;_
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:16.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5093657, teldec = -24.256621
2025-11-03T09:17:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5093657 -24.256621
2025-11-03T09:17:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5093657 -24.256621
2025-11-03T09:17:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5093657 -24.256621
2025-11-03T09:17:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5093657;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52913;2460982.80366652;9.28796917;1.3;_14.4850384182652 -24.1422496539772
2025-11-03T09:17:16.788 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4850384182652     dec_j2k = -24.1422496539772
2025-11-03T09:17:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967072066039019;171.162346601491;_
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967072066039019;171.162346601491;_
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47121)
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:16.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:16.805 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80366649, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967072066039019, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5093657, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4850384182652, telescope_dec_j2k=-24.1422496539772, observability=1)
2025-11-03T09:17:17.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:17
2025-11-03T09:17:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5576951503753662s
2025-11-03T09:17:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5576951503753662
2025-11-03T09:17:17.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:17
2025-11-03T09:17:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830402374267578s
2025-11-03T09:17:17.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830402374267578
2025-11-03T09:17:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:18
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9606778621673584s
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5099264;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52969;2460982.80368944;9.28852833;1.3;_
2025-11-03T09:17:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5099264;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52969;2460982.80368944;9.28852833;1.3;_
2025-11-03T09:17:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5099264, teldec = -24.256621
2025-11-03T09:17:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5099264 -24.256621
2025-11-03T09:17:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5099264 -24.256621
2025-11-03T09:17:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5099264 -24.256621
2025-11-03T09:17:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5099264;-24.256621;50.108592;89.993053;50.08601;90.12017;11.52969;2460982.80368947;9.28852833;1.3;_14.4855986133986 -24.1422619142058
2025-11-03T09:17:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4855986133986     dec_j2k = -24.1422619142058
2025-11-03T09:17:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967073269397303;171.162357330327;_
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967073269397303;171.162357330327;_
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:18.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47105)
2025-11-03T09:17:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:18.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:18.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:18.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80368944, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967073269397303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5099264, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.52969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4855986133986, telescope_dec_j2k=-24.1422619142058, observability=1)
2025-11-03T09:17:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:19
2025-11-03T09:17:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5769000053405762s
2025-11-03T09:17:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5769000053405762
2025-11-03T09:17:19.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:19
2025-11-03T09:17:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5986690521240234s
2025-11-03T09:17:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5986690521240234
2025-11-03T09:17:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:20
2025-11-03T09:17:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9752602577209473s
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5104863;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53025;2460982.8037125;9.28908667;1.3;_
2025-11-03T09:17:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5104863;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53025;2460982.8037125;9.28908667;1.3;_
2025-11-03T09:17:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:20.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5104863, teldec = -24.256621
2025-11-03T09:17:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5104863 -24.256621
2025-11-03T09:17:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5104863 -24.256621
2025-11-03T09:17:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5104863 -24.256621
2025-11-03T09:17:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5104863;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53025;2460982.80371252;9.28908667;1.3;_14.4861580092985 -24.1422741594324
2025-11-03T09:17:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4861580092985     dec_j2k = -24.1422741594324
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967070060441879;171.162346601491;_
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967070060441879;171.162346601491;_
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51303)
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:20.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:20.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:20.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8037125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967070060441879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5104863, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53025, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4861580092985, telescope_dec_j2k=-24.1422741594324, observability=1)
2025-11-03T09:17:21.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:21
2025-11-03T09:17:21.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:21.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6446850299835205s
2025-11-03T09:17:21.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6446850299835205
2025-11-03T09:17:21.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:21
2025-11-03T09:17:21.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:21.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6663191318511963s
2025-11-03T09:17:21.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6663191318511963
2025-11-03T09:17:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:22
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833033084869385s
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5110367;-24.256621;50.108592;89.993053;50.08601;90.12017;11.5308;2460982.80373567;9.28963556;1.3;_
2025-11-03T09:17:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5110367;-24.256621;50.108592;89.993053;50.08601;90.12017;11.5308;2460982.80373567;9.28963556;1.3;_
2025-11-03T09:17:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5110367, teldec = -24.256621
2025-11-03T09:17:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5110367 -24.256621
2025-11-03T09:17:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5110367 -24.256621
2025-11-03T09:17:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5110367 -24.256621
2025-11-03T09:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5110367;-24.256621;50.108592;89.993053;50.08601;90.12017;11.5308;2460982.80373569;9.28963556;1.3;_14.4867079137966 -24.1422861993161
2025-11-03T09:17:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4867079137966     dec_j2k = -24.1422861993161
2025-11-03T09:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967076879472156;171.162351965909;_
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967076879472156;171.162351965909;_
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33439)
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:22.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80373567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967076879472156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5110367, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5308, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4867079137966, telescope_dec_j2k=-24.1422861993161, observability=1)
2025-11-03T09:17:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:23
2025-11-03T09:17:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.579326868057251s
2025-11-03T09:17:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.579326868057251
2025-11-03T09:17:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:23
2025-11-03T09:17:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6021742820739746s
2025-11-03T09:17:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6021742820739746
2025-11-03T09:17:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:24
2025-11-03T09:17:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9772753715515137s
2025-11-03T09:17:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5115979;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53137;2460982.80375881;9.29019528;1.3;_
2025-11-03T09:17:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5115979;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53137;2460982.80375881;9.29019528;1.3;_
2025-11-03T09:17:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5115979, teldec = -24.256621
2025-11-03T09:17:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5115979 -24.256621
2025-11-03T09:17:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5115979 -24.256621
2025-11-03T09:17:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5115979 -24.256621
2025-11-03T09:17:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5115979;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53137;2460982.80375884;9.29019528;1.3;_14.4872686086179 -24.1422984779235
2025-11-03T09:17:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4872686086179     dec_j2k = -24.1422984779235
2025-11-03T09:17:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967072066039019;171.162362694745;_
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967072066039019;171.162362694745;_
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33741)
2025-11-03T09:17:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:24.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:24.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:24.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80375881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967072066039019, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5115979, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4872686086179, telescope_dec_j2k=-24.1422984779235, observability=1)
2025-11-03T09:17:25.899 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:25
2025-11-03T09:17:25.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:25.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1208536624908447s
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5119066;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53167;2460982.80377199;9.29050306;1.3;_
2025-11-03T09:17:25.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5119066;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53167;2460982.80377199;9.29050306;1.3;_
2025-11-03T09:17:25.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:25.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:25.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:25.902 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5119066, teldec = -24.256621
2025-11-03T09:17:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5119066 -24.256621
2025-11-03T09:17:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5119066 -24.256621
2025-11-03T09:17:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5119066 -24.256621
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5119066;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53167;2460982.80377203;9.29050306;1.3;_14.4875770307534 -24.1423052330984
2025-11-03T09:17:25.903 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4875770307534     dec_j2k = -24.1423052330984
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967074071636159;171.162373423581;_
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967074071636159;171.162373423581;_
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51577)
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:25.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:25.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:25.915 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:25.915 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80377199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967074071636159, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5119066, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4875770307534, telescope_dec_j2k=-24.1423052330984, observability=1)
2025-11-03T09:17:25.939 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:25
2025-11-03T09:17:25.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:25.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024212121963500977s
2025-11-03T09:17:25.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024212121963500977
2025-11-03T09:17:26.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:26
2025-11-03T09:17:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8589053153991699s
2025-11-03T09:17:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8589053153991699
2025-11-03T09:17:27.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:27
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4502570629119873s
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5123182;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53209;2460982.80378897;9.29091361;1.3;_
2025-11-03T09:17:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5123182;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53209;2460982.80378897;9.29091361;1.3;_
2025-11-03T09:17:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:27.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5123182, teldec = -24.256621
2025-11-03T09:17:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5123182 -24.256621
2025-11-03T09:17:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5123182 -24.256621
2025-11-03T09:17:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5123182 -24.256621
2025-11-03T09:17:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5123182;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53209;2460982.803789;9.29091361;1.3;_14.4879882602892 -24.1423142411749
2025-11-03T09:17:27.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4879882602892     dec_j2k = -24.1423142411749
2025-11-03T09:17:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967086105219001;171.162351965909;_
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967086105219001;171.162351965909;_
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52859)
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:27.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:27.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80378897, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967086105219001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5123182, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53209, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4879882602892, telescope_dec_j2k=-24.1423142411749, observability=1)
2025-11-03T09:17:27.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:27
2025-11-03T09:17:27.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:27.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021706581115722656s
2025-11-03T09:17:27.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021706581115722656
2025-11-03T09:17:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:28
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.376598596572876s
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5127113;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53248;2460982.80380515;9.29130556;1.3;_
2025-11-03T09:17:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5127113;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53248;2460982.80380515;9.29130556;1.3;_
2025-11-03T09:17:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5127113, teldec = -24.256621
2025-11-03T09:17:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5127113 -24.256621
2025-11-03T09:17:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5127113 -24.256621
2025-11-03T09:17:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5127113 -24.256621
2025-11-03T09:17:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5127113;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53248;2460982.80380517;9.29130556;1.3;_14.4883810064994 -24.1423228456245
2025-11-03T09:17:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4883810064994     dec_j2k = -24.1423228456245
2025-11-03T09:17:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967078483949868;171.162357330327;_
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967078483949868;171.162357330327;_
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51531)
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:28.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:28.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:28.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80380515, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967078483949868, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5127113, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4883810064994, telescope_dec_j2k=-24.1423228456245, observability=1)
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Status age = 1.129023790359497s
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:29.913 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:29.914 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 17;14.5130196;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53279;2460982.80381845;9.29161306;1.3;_
2025-11-03T09:17:29.914 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response 17;14.5130196;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53279;2460982.80381845;9.29161306;1.3;_
2025-11-03T09:17:29.914 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:29.914 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:29.914 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:29.915 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:29.915 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:29.915 [INFO] [Thread-88603 (handle)] [driver.py] [get_status()] Telra = 14.5130196, teldec = -24.256621
2025-11-03T09:17:29.915 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5130196 -24.256621
2025-11-03T09:17:29.915 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5130196 -24.256621
2025-11-03T09:17:29.915 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5130196 -24.256621
2025-11-03T09:17:29.916 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 17;14.5130196;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53279;2460982.80381847;9.29161306;1.3;_14.4886890290455 -24.1423295947701
2025-11-03T09:17:29.916 [INFO] [Thread-88603 (handle)] [driver.py] [get_status()] ra_j2k = 14.4886890290455     dec_j2k = -24.1423295947701
2025-11-03T09:17:29.916 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:29.916 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:29.916 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 140;0.0967076879472156;171.162357330327;_
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response 140;0.0967076879472156;171.162357330327;_
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:29.917 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:29.918 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:29.919 [DEBUG] [Thread-88603 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:29.919 [DEBUG] [Thread-88603 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:29.919 [DEBUG] [Thread-88603 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44277)
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:29.922 [DEBUG] [Thread-88603 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:29.929 [DEBUG] [Thread-88603 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:29.929 [DEBUG] [Thread-88603 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:29.930 [DEBUG] [Thread-88603 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:29.930 [INFO] [Thread-88603 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80381845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967076879472156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5130196, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4886890290455, telescope_dec_j2k=-24.1423295947701, observability=1)
2025-11-03T09:17:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:30
2025-11-03T09:17:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.836550235748291s
2025-11-03T09:17:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.836550235748291
2025-11-03T09:17:31.670 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:31
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.740741491317749s
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:31.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:31.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5135235;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53329;2460982.8038388;9.29211556;1.3;_
2025-11-03T09:17:31.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5135235;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53329;2460982.8038388;9.29211556;1.3;_
2025-11-03T09:17:31.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:31.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:31.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:31.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:31.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:31.673 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5135235, teldec = -24.256621
2025-11-03T09:17:31.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5135235 -24.256621
2025-11-03T09:17:31.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5135235 -24.256621
2025-11-03T09:17:31.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5135235 -24.256621
2025-11-03T09:17:31.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5135235;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53329;2460982.80383882;9.29211556;1.3;_14.489192475592 -24.1423406275142
2025-11-03T09:17:31.674 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.489192475592     dec_j2k = -24.1423406275142
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967077681711012;171.162351965909;_
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967077681711012;171.162351965909;_
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:31.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:31.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:31.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:31.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:31.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:31.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:31.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:31.677 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:31.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:31.678 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:31.682 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55095)
2025-11-03T09:17:31.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:31.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:31.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:31.683 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:31.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:31.690 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:31.691 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8038388, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967077681711012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5135235, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53329, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.489192475592, telescope_dec_j2k=-24.1423406275142, observability=1)
2025-11-03T09:17:31.713 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:31
2025-11-03T09:17:31.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:31.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022156953811645508s
2025-11-03T09:17:31.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022156953811645508
2025-11-03T09:17:32.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:32
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0763380527496338s
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5138221;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53359;2460982.80385149;9.29241333;1.3;_
2025-11-03T09:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5138221;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53359;2460982.80385149;9.29241333;1.3;_
2025-11-03T09:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5138221, teldec = -24.256621
2025-11-03T09:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5138221 -24.256621
2025-11-03T09:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5138221 -24.256621
2025-11-03T09:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5138221 -24.256621
2025-11-03T09:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5138221;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53359;2460982.80385152;9.29241333;1.3;_14.4894908069031 -24.1423471662252
2025-11-03T09:17:32.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4894908069031     dec_j2k = -24.1423471662252
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967077681711012;171.162368059163;_
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967077681711012;171.162368059163;_
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:32.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53797)
2025-11-03T09:17:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:32.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:32.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:32.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80385149, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967077681711012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5138221, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53359, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4894908069031, telescope_dec_j2k=-24.1423471662252, observability=1)
2025-11-03T09:17:33.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:33
2025-11-03T09:17:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5748002529144287s
2025-11-03T09:17:33.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5748002529144287
2025-11-03T09:17:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:33
2025-11-03T09:17:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5958943367004395s
2025-11-03T09:17:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5958943367004395
2025-11-03T09:17:34.156 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.156 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.156 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:34.156 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:34.156 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:17:34.157 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:34.158 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:34.159 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:17:34.160 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:34.161 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Park
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:17:34.162 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:17:34.163 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 29;14.5142156;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53398;2460982.80386763;9.29280583;1.3;_Park Command Successful
2025-11-03T09:17:34.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:34
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790945053100586s
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5143839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53415;2460982.80387464;9.29297361;1.3;_
2025-11-03T09:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5143839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53415;2460982.80387464;9.29297361;1.3;_
2025-11-03T09:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:34.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5143839, teldec = -24.256621
2025-11-03T09:17:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5143839 -24.256621
2025-11-03T09:17:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5143839 -24.256621
2025-11-03T09:17:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5143839 -24.256621
2025-11-03T09:17:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5143839;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53415;2460982.80387466;9.29297361;1.3;_14.490052101415 -24.142359470379
2025-11-03T09:17:34.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.490052101415     dec_j2k = -24.142359470379
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967081692905292;171.162357330327;_
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967081692905292;171.162357330327;_
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56909)
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:34.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:34.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80387464, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967081692905292, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5143839, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53415, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.490052101415, telescope_dec_j2k=-24.142359470379, observability=1)
2025-11-03T09:17:35.163 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:17:35.163 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:17:35.163 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:17:35.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:17:35.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:17:35.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:35
2025-11-03T09:17:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.578258752822876s
2025-11-03T09:17:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.578258752822876
2025-11-03T09:17:35.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:35
2025-11-03T09:17:35.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:35.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6001842021942139s
2025-11-03T09:17:35.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6001842021942139
2025-11-03T09:17:36.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:17:36.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:17:36.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:17:36.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:17:36.164 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:17:36.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:36
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976846694946289s
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.514917;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53468;2460982.80389777;9.29350528;1.3;_
2025-11-03T09:17:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.514917;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53468;2460982.80389777;9.29350528;1.3;_
2025-11-03T09:17:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.514917, teldec = -24.256621
2025-11-03T09:17:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.514917 -24.256621
2025-11-03T09:17:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.514917 -24.256621
2025-11-03T09:17:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.514917 -24.256621
2025-11-03T09:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5149451;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53471;2460982.80389779;9.29353333;1.3;_14.4905847217931 -24.1423711482806
2025-11-03T09:17:36.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4905847217931     dec_j2k = -24.1423711482806
2025-11-03T09:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096708209402472;171.162351965909;_
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096708209402472;171.162351965909;_
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:36.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56837)
2025-11-03T09:17:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:36.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:36.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:36.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80389777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096708209402472, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.514917, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4905847217931, telescope_dec_j2k=-24.1423711482806, observability=1)
2025-11-03T09:17:37.165 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:17:37.165 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:17:37.165 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:17:37.166 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:17:37.166 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:17:37.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:37
2025-11-03T09:17:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5799791812896729s
2025-11-03T09:17:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5799791812896729
2025-11-03T09:17:37.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:37
2025-11-03T09:17:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6015522480010986s
2025-11-03T09:17:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6015522480010986
2025-11-03T09:17:38.166 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:17:38.166 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:17:38.166 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:38.167 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:17:38.168 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:17:38.169 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:38.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:38
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821858406066895s
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5154972;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53527;2460982.80392091;9.29408389;1.3;_
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5154972;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53527;2460982.80392091;9.29408389;1.3;_
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5154972, teldec = -24.256621
2025-11-03T09:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5154972 -24.256621
2025-11-03T09:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5154972 -24.256621
2025-11-03T09:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5154972 -24.256621
2025-11-03T09:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5154972;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53527;2460982.80392095;9.29408389;1.3;_14.4911643998438 -24.1423838605001
2025-11-03T09:17:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4911643998438     dec_j2k = -24.1423838605001
2025-11-03T09:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967081291785864;171.162335872654;_
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967081291785864;171.162335872654;_
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:38.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59663)
2025-11-03T09:17:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:38.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80392091, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967081291785864, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162335872654, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5154972, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53527, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4911643998438, telescope_dec_j2k=-24.1423838605001, observability=1)
2025-11-03T09:17:39.169 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:17:39.170 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:17:39.171 [DEBUG] [ThreadPoolExecutor-3392_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:39.171 [INFO] [ThreadPoolExecutor-3392_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:17:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:39
2025-11-03T09:17:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5794637203216553s
2025-11-03T09:17:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5794637203216553
2025-11-03T09:17:39.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:39
2025-11-03T09:17:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.600858211517334s
2025-11-03T09:17:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.600858211517334
2025-11-03T09:17:40.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:40
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897141456604004s
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5160596;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53583;2460982.80394414;9.29464472;1.3;_
2025-11-03T09:17:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5160596;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53583;2460982.80394414;9.29464472;1.3;_
2025-11-03T09:17:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:40.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5160596, teldec = -24.256621
2025-11-03T09:17:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5160596 -24.256621
2025-11-03T09:17:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5160596 -24.256621
2025-11-03T09:17:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5160596 -24.256621
2025-11-03T09:17:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5160596;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53583;2460982.80394417;9.29464472;1.3;_14.4917262939548 -24.1423961852687
2025-11-03T09:17:40.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4917262939548     dec_j2k = -24.1423961852687
2025-11-03T09:17:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967086105219001;171.162362694745;_
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967086105219001;171.162362694745;_
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39773)
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:40.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:40.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80394414, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967086105219001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5160596, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4917262939548, telescope_dec_j2k=-24.1423961852687, observability=1)
2025-11-03T09:17:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:41
2025-11-03T09:17:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5707130432128906s
2025-11-03T09:17:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5707130432128906
2025-11-03T09:17:41.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:41
2025-11-03T09:17:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5926392078399658s
2025-11-03T09:17:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5926392078399658
2025-11-03T09:17:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:42
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9683053493499756s
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5166116;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53638;2460982.80396714;9.29519528;1.3;_
2025-11-03T09:17:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5166116;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53638;2460982.80396714;9.29519528;1.3;_
2025-11-03T09:17:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5166116, teldec = -24.256621
2025-11-03T09:17:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5166116 -24.256621
2025-11-03T09:17:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5166116 -24.256621
2025-11-03T09:17:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5166116 -24.256621
2025-11-03T09:17:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5166116;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53638;2460982.80396716;9.29519528;1.3;_14.4922777974662 -24.1424082845648
2025-11-03T09:17:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4922777974662     dec_j2k = -24.1424082845648
2025-11-03T09:17:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967087709696713;171.162357330327;_
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967087709696713;171.162357330327;_
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40819)
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80396714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967087709696713, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5166116, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53638, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4922777974662, telescope_dec_j2k=-24.1424082845648, observability=1)
2025-11-03T09:17:43.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:43
2025-11-03T09:17:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5832905769348145s
2025-11-03T09:17:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5832905769348145
2025-11-03T09:17:43.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:43
2025-11-03T09:17:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6053018569946289s
2025-11-03T09:17:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6053018569946289
2025-11-03T09:17:44.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:44
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9968996047973633s
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:44.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:44.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5171735;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53694;2460982.80399051;9.29575556;1.3;_
2025-11-03T09:17:44.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5171735;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53694;2460982.80399051;9.29575556;1.3;_
2025-11-03T09:17:44.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:44.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:44.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:44.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:44.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:44.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5171735, teldec = -24.256621
2025-11-03T09:17:44.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5171735 -24.256621
2025-11-03T09:17:44.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5171735 -24.256621
2025-11-03T09:17:44.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5171735 -24.256621
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5171735;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53694;2460982.80399053;9.29575556;1.3;_14.4928391921194 -24.1424206033406
2025-11-03T09:17:44.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4928391921194     dec_j2k = -24.1424206033406
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967089715293853;171.162362694745;_
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967089715293853;171.162362694745;_
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:44.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:44.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:44.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:44.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:44.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:44.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:44.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:44.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:44.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:44.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43357)
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:44.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:44.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80399051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967089715293853, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5171735, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4928391921194, telescope_dec_j2k=-24.1424206033406, observability=1)
2025-11-03T09:17:45.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:45
2025-11-03T09:17:45.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:45.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5820765495300293s
2025-11-03T09:17:45.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5820765495300293
2025-11-03T09:17:45.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:45
2025-11-03T09:17:45.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:45.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6103761196136475s
2025-11-03T09:17:45.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6103761196136475
2025-11-03T09:17:46.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:46
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9632132053375244s
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:46.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5177247;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53749;2460982.80401344;9.29630528;1.3;_
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5177247;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53749;2460982.80401344;9.29630528;1.3;_
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:46.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5177247, teldec = -24.256621
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5177247 -24.256621
2025-11-03T09:17:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5177247 -24.256621
2025-11-03T09:17:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5177247 -24.256621
2025-11-03T09:17:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5177247;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53749;2460982.80401345;9.29630528;1.3;_14.493389896441 -24.142432689968
2025-11-03T09:17:46.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.493389896441     dec_j2k = -24.142432689968
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967085704099573;171.162351965909;_
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967085704099573;171.162351965909;_
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42999)
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:46.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:46.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:46.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80401344, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967085704099573, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5177247, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53749, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.493389896441, telescope_dec_j2k=-24.142432689968, observability=1)
2025-11-03T09:17:47.079 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:47.079 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3056516647338867s
2025-11-03T09:17:47.079 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3056516647338867
2025-11-03T09:17:47.352 [DEBUG] [Thread-88604 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:47.352 [DEBUG] [Thread-88604 (handle)] [server.py] [get_status()] Status age = 0.5783820152282715s
2025-11-03T09:17:47.352 [DEBUG] [Thread-88604 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5783820152282715
2025-11-03T09:17:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:47
2025-11-03T09:17:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5880753993988037s
2025-11-03T09:17:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5880753993988037
2025-11-03T09:17:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:47
2025-11-03T09:17:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6090805530548096s
2025-11-03T09:17:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6090805530548096
2025-11-03T09:17:47.991 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:47.991 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Status age = 1.217698574066162s
2025-11-03T09:17:47.991 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:47.991 [DEBUG] [Thread-88605 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:47.991 [DEBUG] [Thread-88605 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 17;14.5180617;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53783;2460982.80402768;9.29664139;1.3;_
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response 17;14.5180617;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53783;2460982.80402768;9.29664139;1.3;_
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:47.992 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:47.993 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:47.993 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:47.993 [INFO] [Thread-88605 (handle)] [driver.py] [get_status()] Telra = 14.5180617, teldec = -24.256621
2025-11-03T09:17:47.994 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5180617 -24.256621
2025-11-03T09:17:47.994 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5180617 -24.256621
2025-11-03T09:17:47.994 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5180617 -24.256621
2025-11-03T09:17:47.994 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 17;14.5180617;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53783;2460982.80402771;9.29664139;1.3;_14.4937265934086 -24.1424400808378
2025-11-03T09:17:47.995 [INFO] [Thread-88605 (handle)] [driver.py] [get_status()] ra_j2k = 14.4937265934086     dec_j2k = -24.1424400808378
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 140;0.096708008842758;171.162351965909;_
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response 140;0.096708008842758;171.162351965909;_
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:47.995 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:47.996 [DEBUG] [Thread-88605 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44823)
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:47.997 [DEBUG] [Thread-88605 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:48.005 [DEBUG] [Thread-88605 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:48.005 [INFO] [Thread-88605 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80402768, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096708008842758, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5180617, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4937265934086, telescope_dec_j2k=-24.1424400808378, observability=1)
2025-11-03T09:17:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:48
2025-11-03T09:17:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7585182189941406s
2025-11-03T09:17:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7585182189941406
2025-11-03T09:17:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:49
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3559198379516602s
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:49.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5184263;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53819;2460982.80404354;9.297005;1.3;_
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5184263;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53819;2460982.80404354;9.297005;1.3;_
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:49.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5184263, teldec = -24.256621
2025-11-03T09:17:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5184263 -24.256621
2025-11-03T09:17:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5184263 -24.256621
2025-11-03T09:17:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5184263 -24.256621
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5184263;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53819;2460982.80404356;9.297005;1.3;_14.4940908655771 -24.1424480780273
2025-11-03T09:17:49.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4940908655771     dec_j2k = -24.1424480780273
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967086105219001;171.162346601491;_
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967086105219001;171.162346601491;_
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36549)
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:49.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:49.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:49.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80404354, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967086105219001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5184263, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53819, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4940908655771, telescope_dec_j2k=-24.1424480780273, observability=1)
2025-11-03T09:17:49.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:49
2025-11-03T09:17:49.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:49.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02350926399230957s
2025-11-03T09:17:49.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02350926399230957
2025-11-03T09:17:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:50
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3789844512939453s
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5188377;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53861;2460982.80405973;9.29741528;1.3;_
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5188377;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53861;2460982.80405973;9.29741528;1.3;_
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5188377, teldec = -24.256621
2025-11-03T09:17:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5188377 -24.256621
2025-11-03T09:17:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5188377 -24.256621
2025-11-03T09:17:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5188377 -24.256621
2025-11-03T09:17:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5188377;-24.256621;50.108592;89.993053;50.08601;90.12017;11.53861;2460982.80405976;9.29741528;1.3;_14.4945018956887 -24.142457103
2025-11-03T09:17:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4945018956887     dec_j2k = -24.142457103
2025-11-03T09:17:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967088110816141;171.162368059163;_
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967088110816141;171.162368059163;_
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43923)
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:50.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:50.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:50.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:50.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:50.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:50.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80405973, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967088110816141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108592, telescope_az=89.993053, telescope_ra=14.5188377, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53861, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4945018956887, telescope_dec_j2k=-24.142457103, observability=1)
2025-11-03T09:17:52.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:52
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838321208953857s
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5193706;-24.256621;50.108591;89.993053;50.08601;90.12017;11.53914;2460982.80408286;9.29794667;1.3;_
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5193706;-24.256621;50.108591;89.993053;50.08601;90.12017;11.53914;2460982.80408286;9.29794667;1.3;_
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:52.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5193706, teldec = -24.256621
2025-11-03T09:17:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5193706 -24.256621
2025-11-03T09:17:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5193706 -24.256621
2025-11-03T09:17:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5193706 -24.256621
2025-11-03T09:17:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5193706;-24.256621;50.108591;89.993053;50.08601;90.12017;11.53914;2460982.80408288;9.29794667;1.3;_14.4950343165972 -24.1424687953394
2025-11-03T09:17:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4950343165972     dec_j2k = -24.1424687953394
2025-11-03T09:17:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967085704099573;171.162357330327;_
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967085704099573;171.162357330327;_
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:17:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:17:52.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32951)
2025-11-03T09:17:52.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:52.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:52.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:52.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:52.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:52.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:52.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80408286, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967085704099573, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5193706, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.53914, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4950343165972, telescope_dec_j2k=-24.1424687953394, observability=1)
2025-11-03T09:17:53.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:53
2025-11-03T09:17:53.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:53.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5930345058441162s
2025-11-03T09:17:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5930345058441162
2025-11-03T09:17:53.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:53
2025-11-03T09:17:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6143472194671631s
2025-11-03T09:17:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6143472194671631
2025-11-03T09:17:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:54
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986257553100586s
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5199327;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5397;2460982.80410603;9.29850722;1.3;_
2025-11-03T09:17:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5199327;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5397;2460982.80410603;9.29850722;1.3;_
2025-11-03T09:17:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5199327, teldec = -24.256621
2025-11-03T09:17:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5199327 -24.256621
2025-11-03T09:17:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5199327 -24.256621
2025-11-03T09:17:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5199327 -24.256621
2025-11-03T09:17:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5199327;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5397;2460982.80410605;9.29850722;1.3;_14.4955959112997 -24.1424811307939
2025-11-03T09:17:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4955959112997     dec_j2k = -24.1424811307939
2025-11-03T09:17:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967093325368706;171.162362694745;_
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967093325368706;171.162362694745;_
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37591)
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:54.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:54.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80410603, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967093325368706, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5199327, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5397, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4955959112997, telescope_dec_j2k=-24.1424811307939, observability=1)
2025-11-03T09:17:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:55
2025-11-03T09:17:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5860826969146729s
2025-11-03T09:17:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5860826969146729
2025-11-03T09:17:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:55
2025-11-03T09:17:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6081418991088867s
2025-11-03T09:17:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6081418991088867
2025-11-03T09:17:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:56
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9920942783355713s
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5205126;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54028;2460982.80412927;9.29908556;1.3;_
2025-11-03T09:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5205126;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54028;2460982.80412927;9.29908556;1.3;_
2025-11-03T09:17:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:56.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5205126, teldec = -24.256621
2025-11-03T09:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5205126 -24.256621
2025-11-03T09:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5205126 -24.256621
2025-11-03T09:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5205126 -24.256621
2025-11-03T09:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5205126;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54028;2460982.80412931;9.29908556;1.3;_14.4961752900499 -24.1424938594989
2025-11-03T09:17:56.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4961752900499     dec_j2k = -24.1424938594989
2025-11-03T09:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967087308577285;171.162351965909;_
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967087308577285;171.162351965909;_
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55667)
2025-11-03T09:17:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:56.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:56.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:56.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:56.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:56.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:56.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80412927, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967087308577285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5205126, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54028, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4961752900499, telescope_dec_j2k=-24.1424938594989, observability=1)
2025-11-03T09:17:57.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:57
2025-11-03T09:17:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5728273391723633s
2025-11-03T09:17:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5728273391723633
2025-11-03T09:17:57.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:57
2025-11-03T09:17:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5947394371032715s
2025-11-03T09:17:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5947394371032715
2025-11-03T09:17:58.092 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3025803565979004s
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:17:58.093 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5208778;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54065;2460982.80414461;9.29944972;1.3;_
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.5208778;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54065;2460982.80414461;9.29944972;1.3;_
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:17:58.094 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:17:58.095 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:58.095 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:17:58.096 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.5208778, teldec = -24.256621
2025-11-03T09:17:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5208778 -24.256621
2025-11-03T09:17:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5208778 -24.256621
2025-11-03T09:17:58.096 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5208778 -24.256621
2025-11-03T09:17:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5208778;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54065;2460982.80414464;9.29944972;1.3;_14.4965401618111 -24.1425018769434
2025-11-03T09:17:58.097 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.4965401618111     dec_j2k = -24.1425018769434
2025-11-03T09:17:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:17:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:17:58.097 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096709252312985;171.162346601491;_
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096709252312985;171.162346601491;_
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:58.098 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:17:58.099 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:17:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:17:58.100 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46883)
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:17:58.103 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:17:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:17:58.110 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:58.110 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:17:58.110 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:17:58.111 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:17:58.111 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:17:58.111 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:17:58.111 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:17:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:17:58.111 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80414461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096709252312985, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5208778, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4965401618111, telescope_dec_j2k=-24.1425018769434, observability=1)
2025-11-03T09:17:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:17:58
2025-11-03T09:17:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:17:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6514613628387451s
2025-11-03T09:17:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6514613628387451
2025-11-03T09:18:00.260 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:00
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.149261713027954s
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:00.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:00.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:00.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5214853;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54125;2460982.8041697;9.30005556;1.3;_
2025-11-03T09:18:00.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5214853;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54125;2460982.8041697;9.30005556;1.3;_
2025-11-03T09:18:00.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:00.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:00.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:00.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:00.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:00.263 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5214853, teldec = -24.256621
2025-11-03T09:18:00.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5214853 -24.256621
2025-11-03T09:18:00.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5214853 -24.256621
2025-11-03T09:18:00.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5214853 -24.256621
2025-11-03T09:18:00.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5214853;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54125;2460982.80416972;9.30005556;1.3;_14.4971471158389 -24.1425152160792
2025-11-03T09:18:00.264 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4971471158389     dec_j2k = -24.1425152160792
2025-11-03T09:18:00.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:00.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:00.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967090918652138;171.162351965909;_
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967090918652138;171.162351965909;_
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:00.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:00.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:00.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:00.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:00.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39727)
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:00.270 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:00.279 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:00.279 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8041697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967090918652138, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5214853, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54125, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4971471158389, telescope_dec_j2k=-24.1425152160792, observability=1)
2025-11-03T09:18:00.301 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:00
2025-11-03T09:18:00.301 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:00.301 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02140212059020996s
2025-11-03T09:18:00.301 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02140212059020996
2025-11-03T09:18:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:00
2025-11-03T09:18:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.48208093643188477s
2025-11-03T09:18:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48208093643188477
2025-11-03T09:18:01.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:01
2025-11-03T09:18:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0821208953857422s
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:01.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5217942;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54156;2460982.80418244;9.30036361;1.3;_
2025-11-03T09:18:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5217942;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54156;2460982.80418244;9.30036361;1.3;_
2025-11-03T09:18:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:01.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:01.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5217942, teldec = -24.256621
2025-11-03T09:18:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5217942 -24.256621
2025-11-03T09:18:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5217942 -24.256621
2025-11-03T09:18:01.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5217942 -24.256621
2025-11-03T09:18:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5217942;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54156;2460982.80418247;9.30036361;1.3;_14.4974557382453 -24.1425219998492
2025-11-03T09:18:01.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4974557382453     dec_j2k = -24.1425219998492
2025-11-03T09:18:01.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967095732085274;171.162362694745;_
2025-11-03T09:18:01.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967095732085274;171.162362694745;_
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:01.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:01.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:01.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:01.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:01.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37617)
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:01.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:01.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:01.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:01.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:01.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80418244, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967095732085274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5217942, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54156, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4974557382453, telescope_dec_j2k=-24.1425219998492, observability=1)
2025-11-03T09:18:01.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:01
2025-11-03T09:18:01.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:01.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024335622787475586s
2025-11-03T09:18:01.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024335622787475586
2025-11-03T09:18:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:02
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3771100044250488s
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:02.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.522159;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54193;2460982.80419861;9.3007275;1.3;_
2025-11-03T09:18:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.522159;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54193;2460982.80419861;9.3007275;1.3;_
2025-11-03T09:18:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:02.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.522159, teldec = -24.256621
2025-11-03T09:18:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.522159 -24.256621
2025-11-03T09:18:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.522159 -24.256621
2025-11-03T09:18:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.522159 -24.256621
2025-11-03T09:18:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.522159;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54193;2460982.80419863;9.3007275;1.3;_14.4978202104352 -24.1425300122157
2025-11-03T09:18:02.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4978202104352     dec_j2k = -24.1425300122157
2025-11-03T09:18:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096709051753271;171.162351965909;_
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096709051753271;171.162351965909;_
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59825)
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:02.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:02.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:02.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80419861, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096709051753271, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.522159, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4978202104352, telescope_dec_j2k=-24.1425300122157, observability=1)
2025-11-03T09:18:03.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:03
2025-11-03T09:18:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5877196788787842s
2025-11-03T09:18:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5877196788787842
2025-11-03T09:18:03.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:03
2025-11-03T09:18:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6090958118438721s
2025-11-03T09:18:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6090958118438721
2025-11-03T09:18:04.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:04
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836344718933105s
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5227192;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54249;2460982.80422175;9.30128611;1.3;_
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5227192;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54249;2460982.80422175;9.30128611;1.3;_
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5227192, teldec = -24.256621
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5227192 -24.256621
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5227192 -24.256621
2025-11-03T09:18:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5227192 -24.256621
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5227192;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54249;2460982.80422177;9.30128611;1.3;_14.4983799070767 -24.142542318346
2025-11-03T09:18:04.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4983799070767     dec_j2k = -24.142542318346
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967090116413282;171.162351965909;_
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967090116413282;171.162351965909;_
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42847)
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:04.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:04.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:04.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:04.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80422175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967090116413282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5227192, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54249, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4983799070767, telescope_dec_j2k=-24.142542318346, observability=1)
2025-11-03T09:18:05.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:05
2025-11-03T09:18:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5817768573760986s
2025-11-03T09:18:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5817768573760986
2025-11-03T09:18:05.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:05
2025-11-03T09:18:05.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:05.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6025989055633545s
2025-11-03T09:18:05.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6025989055633545
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Status age = 1.2862000465393066s
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:06.064 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:06.065 [DEBUG] [Thread-88606 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:06.065 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:06.065 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:06.065 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:06.065 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:06.066 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 17;14.5231022;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54287;2460982.80423688;9.30166806;1.3;_
2025-11-03T09:18:06.066 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response 17;14.5231022;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54287;2460982.80423688;9.30166806;1.3;_
2025-11-03T09:18:06.066 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:06.066 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:06.066 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:06.067 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:06.067 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:06.067 [INFO] [Thread-88606 (handle)] [driver.py] [get_status()] Telra = 14.5231022, teldec = -24.256621
2025-11-03T09:18:06.067 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5231022 -24.256621
2025-11-03T09:18:06.067 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5231022 -24.256621
2025-11-03T09:18:06.067 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5231022 -24.256621
2025-11-03T09:18:06.068 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 17;14.5231022;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54287;2460982.8042369;9.30166806;1.3;_14.498762562965 -24.142550733286
2025-11-03T09:18:06.068 [INFO] [Thread-88606 (handle)] [driver.py] [get_status()] ra_j2k = 14.498762562965     dec_j2k = -24.142550733286
2025-11-03T09:18:06.068 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:06.068 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:06.068 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 140;0.096709252312985;171.162362694745;_
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response 140;0.096709252312985;171.162362694745;_
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:06.069 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:06.070 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:06.071 [DEBUG] [Thread-88606 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:06.071 [DEBUG] [Thread-88606 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:06.071 [DEBUG] [Thread-88606 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43183)
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:06.073 [DEBUG] [Thread-88606 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:06.080 [DEBUG] [Thread-88606 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:06.080 [DEBUG] [Thread-88606 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:06.080 [DEBUG] [Thread-88606 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:06.080 [DEBUG] [Thread-88606 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:06.081 [DEBUG] [Thread-88606 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:06.081 [DEBUG] [Thread-88606 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:06.081 [DEBUG] [Thread-88606 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:06.081 [DEBUG] [Thread-88606 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:06.081 [DEBUG] [Thread-88606 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:06.081 [INFO] [Thread-88606 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80423688, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096709252312985, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5231022, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.498762562965, telescope_dec_j2k=-24.142550733286, observability=1)
2025-11-03T09:18:06.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:06
2025-11-03T09:18:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6777243614196777s
2025-11-03T09:18:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6777243614196777
2025-11-03T09:18:07.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:07
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2825615406036377s
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:07.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:07.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:07.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:07.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:07.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5234387;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54321;2460982.80425191;9.30200361;1.3;_
2025-11-03T09:18:07.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5234387;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54321;2460982.80425191;9.30200361;1.3;_
2025-11-03T09:18:07.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:07.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:07.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:07.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:07.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:07.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5234387, teldec = -24.256621
2025-11-03T09:18:07.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5234387 -24.256621
2025-11-03T09:18:07.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5234387 -24.256621
2025-11-03T09:18:07.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5234387 -24.256621
2025-11-03T09:18:07.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5234665;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54323;2460982.80425194;9.30203139;1.3;_14.4990987606498 -24.1425581275275
2025-11-03T09:18:07.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4990987606498     dec_j2k = -24.1425581275275
2025-11-03T09:18:07.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:07.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:07.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967095330965846;171.162357330327;_
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967095330965846;171.162357330327;_
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:07.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:07.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:07.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51819)
2025-11-03T09:18:07.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:07.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:07.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:07.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:07.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:07.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:07.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80425191, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967095330965846, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5234387, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54321, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4990987606498, telescope_dec_j2k=-24.1425581275275, observability=1)
2025-11-03T09:18:07.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:07
2025-11-03T09:18:07.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:07.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02228260040283203s
2025-11-03T09:18:07.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02228260040283203
2025-11-03T09:18:08.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:08
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3875677585601807s
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5238311;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5436;2460982.80426818;9.302395;1.3;_
2025-11-03T09:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5238311;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5436;2460982.80426818;9.302395;1.3;_
2025-11-03T09:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:08.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5238311, teldec = -24.256621
2025-11-03T09:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5238311 -24.256621
2025-11-03T09:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5238311 -24.256621
2025-11-03T09:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5238311 -24.256621
2025-11-03T09:18:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.523859;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54363;2460982.80426821;9.30242278;1.3;_14.4994908081346 -24.1425667512466
2025-11-03T09:18:08.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.4994908081346     dec_j2k = -24.1425667512466
2025-11-03T09:18:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967098539921271;171.162346601491;_
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967098539921271;171.162346601491;_
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51159)
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:08.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80426818, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967098539921271, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5238311, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.4994908081346, telescope_dec_j2k=-24.1425667512466, observability=1)
2025-11-03T09:18:09.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:09
2025-11-03T09:18:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.575178861618042s
2025-11-03T09:18:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.575178861618042
2025-11-03T09:18:09.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:09
2025-11-03T09:18:09.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:09.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6012847423553467s
2025-11-03T09:18:09.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6012847423553467
2025-11-03T09:18:10.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:10
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9702835083007812s
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5243907;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54416;2460982.80429119;9.30295306;1.3;_
2025-11-03T09:18:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5243907;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54416;2460982.80429119;9.30295306;1.3;_
2025-11-03T09:18:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:10.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5243907, teldec = -24.256621
2025-11-03T09:18:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5243907 -24.256621
2025-11-03T09:18:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5243907 -24.256621
2025-11-03T09:18:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5243907 -24.256621
2025-11-03T09:18:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5243907;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54416;2460982.80429122;9.30295306;1.3;_14.5000499054537 -24.1425790516056
2025-11-03T09:18:10.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5000499054537     dec_j2k = -24.1425790516056
2025-11-03T09:18:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967102551115551;171.162357330327;_
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967102551115551;171.162357330327;_
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:10.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41313)
2025-11-03T09:18:10.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:10.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:10.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:10.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:10.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80429119, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967102551115551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5243907, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54416, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.5000499054537, telescope_dec_j2k=-24.1425790516056, observability=1)
2025-11-03T09:18:11.054 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:18:11
2025-11-03T09:18:11.054 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:11.054 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.2745547294616699s
2025-11-03T09:18:11.054 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2745547294616699
2025-11-03T09:18:11.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:11
2025-11-03T09:18:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814321041107178s
2025-11-03T09:18:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814321041107178
2025-11-03T09:18:11.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:11
2025-11-03T09:18:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:11.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6059703826904297s
2025-11-03T09:18:11.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6059703826904297
2025-11-03T09:18:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:12
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811081886291504s
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5249695;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54474;2460982.80431438;9.30353028;1.3;_
2025-11-03T09:18:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5249695;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54474;2460982.80431438;9.30353028;1.3;_
2025-11-03T09:18:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:12.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5249695, teldec = -24.256621
2025-11-03T09:18:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5249695 -24.256621
2025-11-03T09:18:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5249695 -24.256621
2025-11-03T09:18:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5249695 -24.256621
2025-11-03T09:18:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5249695;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54474;2460982.8043144;9.30353028;1.3;_14.5006281855745 -24.1425917766013
2025-11-03T09:18:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5006281855745     dec_j2k = -24.1425917766013
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967101748876695;171.162362694745;_
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967101748876695;171.162362694745;_
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40585)
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:12.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:12.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80431438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967101748876695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5249695, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54474, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:17:13.275206', telescope_ra_j2k=14.5006281855745, telescope_dec_j2k=-24.1425917766013, observability=1)
2025-11-03T09:18:13.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:13
2025-11-03T09:18:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5840723514556885s
2025-11-03T09:18:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5840723514556885
2025-11-03T09:18:13.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:13
2025-11-03T09:18:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6069645881652832s
2025-11-03T09:18:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6069645881652832
2025-11-03T09:18:13.418 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:13.418 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:13.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:13.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:13.418 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:13.419 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:13.419 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:13.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:13.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:13.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:13.420 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:18:13.420 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:13.421 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:13.422 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:13.422 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:18:13.422 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:18:13.422 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:18:13.423 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:14.423 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:14.423 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:14.423 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:14.423 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:14.423 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:18:14.424 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:14.425 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:14.426 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:14.426 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:14.426 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:14.426 [DEBUG] [ThreadPoolExecutor-3394_0] [payload.py] [to_registers()] [0]
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49185)
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:14.432 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:14.439 [DEBUG] [ThreadPoolExecutor-3394_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.723606824874878s
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:14.502 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:14.503 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5254461;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54521;2460982.80433453;9.30400556;1.3;_
2025-11-03T09:18:14.504 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.5254461;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54521;2460982.80433453;9.30400556;1.3;_
2025-11-03T09:18:14.504 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:14.504 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:14.504 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:14.505 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:14.505 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:14.505 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.5254461, teldec = -24.256621
2025-11-03T09:18:14.505 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.5254461 -24.256621
2025-11-03T09:18:14.505 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.5254461 -24.256621
2025-11-03T09:18:14.505 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5254461 -24.256621
2025-11-03T09:18:14.506 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5254461;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54521;2460982.80433456;9.30400556;1.3;_14.5011043575287 -24.1426022567074
2025-11-03T09:18:14.506 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.5011043575287     dec_j2k = -24.1426022567074
2025-11-03T09:18:14.506 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:14.506 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:14.506 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967098539921271;171.162351965909;_
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967098539921271;171.162351965909;_
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:14.507 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:14.508 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:14.509 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:14.509 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:14.509 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51603)
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:14.512 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:14.520 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:18:14.520 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80433453, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967098539921271, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5254461, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54521, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5011043575287, telescope_dec_j2k=-24.1426022567074, observability=1)
2025-11-03T09:18:14.520 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.466463804244995 seconds ago
2025-11-03T09:18:14.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:14
2025-11-03T09:18:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24453186988830566s
2025-11-03T09:18:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24453186988830566
2025-11-03T09:18:15.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:15
2025-11-03T09:18:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8408074378967285s
2025-11-03T09:18:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8408074378967285
2025-11-03T09:18:15.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:15
2025-11-03T09:18:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.866621732711792s
2025-11-03T09:18:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.866621732711792
2025-11-03T09:18:16.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:16
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.243940830230713s
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:16.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:16.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5260617;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54583;2460982.80436072;9.30461944;1.3;_
2025-11-03T09:18:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5260617;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54583;2460982.80436072;9.30461944;1.3;_
2025-11-03T09:18:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:16.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5260617, teldec = -24.256621
2025-11-03T09:18:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5260617 -24.256621
2025-11-03T09:18:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5260617 -24.256621
2025-11-03T09:18:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5260617 -24.256621
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5260617;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54583;2460982.80436074;9.30461944;1.3;_14.5017194046936 -24.1426157959891
2025-11-03T09:18:16.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5017194046936     dec_j2k = -24.1426157959891
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967097336562986;171.162351965909;_
2025-11-03T09:18:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967097336562986;171.162351965909;_
2025-11-03T09:18:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46049)
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80436072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967097336562986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5260617, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5017194046936, telescope_dec_j2k=-24.1426157959891, observability=1)
2025-11-03T09:18:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:17
2025-11-03T09:18:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5789930820465088s
2025-11-03T09:18:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5789930820465088
2025-11-03T09:18:17.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:17
2025-11-03T09:18:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6054399013519287s
2025-11-03T09:18:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6054399013519287
2025-11-03T09:18:18.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:18
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780960083007812s
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5266402;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54641;2460982.80438382;9.30519639;1.3;_
2025-11-03T09:18:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5266402;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54641;2460982.80438382;9.30519639;1.3;_
2025-11-03T09:18:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5266402, teldec = -24.256621
2025-11-03T09:18:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5266402 -24.256621
2025-11-03T09:18:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5266402 -24.256621
2025-11-03T09:18:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5266402 -24.256621
2025-11-03T09:18:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5266402;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54641;2460982.80438384;9.30519639;1.3;_14.502297385227 -24.142628522041
2025-11-03T09:18:18.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.502297385227     dec_j2k = -24.142628522041
2025-11-03T09:18:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967101748876695;171.162357330327;_
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967101748876695;171.162357330327;_
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49105)
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:18.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80438382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967101748876695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5266402, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54641, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.502297385227, telescope_dec_j2k=-24.142628522041, observability=1)
2025-11-03T09:18:19.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:19
2025-11-03T09:18:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6718199253082275s
2025-11-03T09:18:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6718199253082275
2025-11-03T09:18:19.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:19
2025-11-03T09:18:19.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:19.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6931619644165039s
2025-11-03T09:18:19.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6931619644165039
2025-11-03T09:18:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:20
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815912246704102s
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5271728;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54694;2460982.80440693;9.3057275;1.3;_
2025-11-03T09:18:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5271728;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54694;2460982.80440693;9.3057275;1.3;_
2025-11-03T09:18:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:20.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5271728, teldec = -24.256621
2025-11-03T09:18:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5271728 -24.256621
2025-11-03T09:18:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5271728 -24.256621
2025-11-03T09:18:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5271728 -24.256621
2025-11-03T09:18:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5271728;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54694;2460982.80440696;9.3057275;1.3;_14.5028295070204 -24.1426402407098
2025-11-03T09:18:20.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5028295070204     dec_j2k = -24.1426402407098
2025-11-03T09:18:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967101748876695;171.162362694745;_
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967101748876695;171.162362694745;_
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59017)
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:20.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80440693, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967101748876695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5271728, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5028295070204, telescope_dec_j2k=-24.1426402407098, observability=1)
2025-11-03T09:18:21.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:21
2025-11-03T09:18:21.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:21.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6567037105560303s
2025-11-03T09:18:21.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6567037105560303
2025-11-03T09:18:21.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:21
2025-11-03T09:18:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6793482303619385s
2025-11-03T09:18:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6793482303619385
2025-11-03T09:18:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:22
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.987663745880127s
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5277329;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5475;2460982.80443013;9.30628611;1.3;_
2025-11-03T09:18:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5277329;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5475;2460982.80443013;9.30628611;1.3;_
2025-11-03T09:18:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5277329, teldec = -24.256621
2025-11-03T09:18:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5277329 -24.256621
2025-11-03T09:18:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5277329 -24.256621
2025-11-03T09:18:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5277329 -24.256621
2025-11-03T09:18:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5277329;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5475;2460982.80443017;9.30628611;1.3;_14.5033891041678 -24.1426525668762
2025-11-03T09:18:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5033891041678     dec_j2k = -24.1426525668762
2025-11-03T09:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967101347757267;171.162362694745;_
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967101347757267;171.162362694745;_
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57149)
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:22.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:22.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:22.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80443013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967101347757267, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5277329, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5475, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5033891041678, telescope_dec_j2k=-24.1426525668762, observability=1)
2025-11-03T09:18:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:23
2025-11-03T09:18:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5769541263580322s
2025-11-03T09:18:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5769541263580322
2025-11-03T09:18:23.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:23
2025-11-03T09:18:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6017758846282959s
2025-11-03T09:18:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6017758846282959
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Status age = 1.427643060684204s
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:24.212 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:24.213 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:24.214 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 17;14.5281432;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54791;2460982.80444692;9.30669528;1.3;_
2025-11-03T09:18:24.214 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response 17;14.5281432;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54791;2460982.80444692;9.30669528;1.3;_
2025-11-03T09:18:24.214 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:24.214 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:24.215 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:24.215 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:24.215 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:24.216 [INFO] [Thread-88607 (handle)] [driver.py] [get_status()] Telra = 14.5281432, teldec = -24.256621
2025-11-03T09:18:24.216 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5281432 -24.256621
2025-11-03T09:18:24.216 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5281432 -24.256621
2025-11-03T09:18:24.216 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5281432 -24.256621
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 17;14.5281432;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54791;2460982.80444696;9.30669528;1.3;_14.5037990358337 -24.142661597957
2025-11-03T09:18:24.217 [INFO] [Thread-88607 (handle)] [driver.py] [get_status()] ra_j2k = 14.5037990358337     dec_j2k = -24.142661597957
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 140;0.0967100144398983;171.162362694745;_
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response 140;0.0967100144398983;171.162362694745;_
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:24.217 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:24.218 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:24.218 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:24.218 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:24.219 [DEBUG] [Thread-88607 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:24.220 [DEBUG] [Thread-88607 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47893)
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:24.222 [DEBUG] [Thread-88607 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:24.229 [DEBUG] [Thread-88607 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:24.229 [INFO] [Thread-88607 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80444692, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967100144398983, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5281432, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54791, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5037990358337, telescope_dec_j2k=-24.142661597957, observability=1)
2025-11-03T09:18:24.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:24
2025-11-03T09:18:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5278592109680176s
2025-11-03T09:18:24.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5278592109680176
2025-11-03T09:18:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:25
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1322932243347168s
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:25.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:25.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:25.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5284794;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54825;2460982.80446023;9.30703056;1.3;_
2025-11-03T09:18:25.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5284794;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54825;2460982.80446023;9.30703056;1.3;_
2025-11-03T09:18:25.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:25.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:25.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:25.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:25.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:25.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5284794, teldec = -24.256621
2025-11-03T09:18:25.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5284794 -24.256621
2025-11-03T09:18:25.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5284794 -24.256621
2025-11-03T09:18:25.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5284794 -24.256621
2025-11-03T09:18:25.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5284794;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54825;2460982.80446025;9.30703056;1.3;_14.5041349340392 -24.1426689990215
2025-11-03T09:18:25.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5041349340392     dec_j2k = -24.1426689990215
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967108567906972;171.162368059163;_
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967108567906972;171.162368059163;_
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:25.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:25.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:25.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:25.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:25.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:25.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:25.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:25.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:25.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:25.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42619)
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:25.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:25.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:25.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:25.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80446023, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967108567906972, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5284794, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54825, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5041349340392, telescope_dec_j2k=-24.1426689990215, observability=1)
2025-11-03T09:18:25.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:25
2025-11-03T09:18:25.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:25.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021312236785888672s
2025-11-03T09:18:25.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021312236785888672
2025-11-03T09:18:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:26
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3786020278930664s
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.528844;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54861;2460982.80447641;9.30739417;1.3;_
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.528844;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54861;2460982.80447641;9.30739417;1.3;_
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:26.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.528844, teldec = -24.256621
2025-11-03T09:18:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.528844 -24.256621
2025-11-03T09:18:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.528844 -24.256621
2025-11-03T09:18:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.528844 -24.256621
2025-11-03T09:18:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5288718;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54864;2460982.80447644;9.30742194;1.3;_14.50449920677 -24.1426770262908
2025-11-03T09:18:26.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.50449920677     dec_j2k = -24.1426770262908
2025-11-03T09:18:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967105760070976;171.162362694745;_
2025-11-03T09:18:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967105760070976;171.162362694745;_
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:26.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44041)
2025-11-03T09:18:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:26.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:26.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80447641, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967105760070976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.528844, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54861, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.50449920677, telescope_dec_j2k=-24.1426770262908, observability=1)
2025-11-03T09:18:27.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:27
2025-11-03T09:18:27.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5783381462097168s
2025-11-03T09:18:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5783381462097168
2025-11-03T09:18:27.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:27
2025-11-03T09:18:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6014316082000732s
2025-11-03T09:18:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6014316082000732
2025-11-03T09:18:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:28
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834911823272705s
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5294044;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54917;2460982.80449961;9.30795306;1.3;_
2025-11-03T09:18:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5294044;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54917;2460982.80449961;9.30795306;1.3;_
2025-11-03T09:18:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5294044, teldec = -24.256621
2025-11-03T09:18:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5294044 -24.256621
2025-11-03T09:18:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5294044 -24.256621
2025-11-03T09:18:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5294044 -24.256621
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5294044;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54917;2460982.80449964;9.30795306;1.3;_14.505059103787 -24.14268936647
2025-11-03T09:18:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.505059103787     dec_j2k = -24.14268936647
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967097336562986;171.162357330327;_
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967097336562986;171.162357330327;_
2025-11-03T09:18:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55027)
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:28.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80449961, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967097336562986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5294044, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54917, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.505059103787, telescope_dec_j2k=-24.14268936647, observability=1)
2025-11-03T09:18:29.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:29
2025-11-03T09:18:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5796370506286621s
2025-11-03T09:18:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5796370506286621
2025-11-03T09:18:29.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:29
2025-11-03T09:18:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:29.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6031088829040527s
2025-11-03T09:18:29.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6031088829040527
2025-11-03T09:18:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:30
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808449745178223s
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5299829;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54975;2460982.80452273;9.30853;1.3;_
2025-11-03T09:18:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5299829;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54975;2460982.80452273;9.30853;1.3;_
2025-11-03T09:18:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5299829, teldec = -24.256621
2025-11-03T09:18:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5299829 -24.256621
2025-11-03T09:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5299829 -24.256621
2025-11-03T09:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5299829 -24.256621
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5299829;-24.256621;50.108591;89.993053;50.08601;90.12017;11.54975;2460982.80452275;9.30853;1.3;_14.5056370846073 -24.1427021078225
2025-11-03T09:18:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5056370846073     dec_j2k = -24.1427021078225
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967107765668116;171.162351965909;_
2025-11-03T09:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967107765668116;171.162351965909;_
2025-11-03T09:18:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34035)
2025-11-03T09:18:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:30.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:30.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80452273, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967107765668116, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5299829, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.54975, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5056370846073, telescope_dec_j2k=-24.1427021078225, observability=1)
2025-11-03T09:18:32.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:32
2025-11-03T09:18:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.587597131729126s
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5304035;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55017;2460982.80454125;9.30894944;1.3;_
2025-11-03T09:18:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5304035;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55017;2460982.80454125;9.30894944;1.3;_
2025-11-03T09:18:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:32.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5304035, teldec = -24.256621
2025-11-03T09:18:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5304035 -24.256621
2025-11-03T09:18:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5304035 -24.256621
2025-11-03T09:18:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5304035 -24.256621
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5304035;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55017;2460982.80454128;9.30894944;1.3;_14.5060573071675 -24.1427113731194
2025-11-03T09:18:32.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5060573071675     dec_j2k = -24.1427113731194
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967104556712692;171.162351965909;_
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967104556712692;171.162351965909;_
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58261)
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:32.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:32.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80454125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967104556712692, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5304035, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5060573071675, telescope_dec_j2k=-24.1427113731194, observability=1)
2025-11-03T09:18:32.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:32
2025-11-03T09:18:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022790193557739258s
2025-11-03T09:18:32.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022790193557739258
2025-11-03T09:18:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:32
2025-11-03T09:18:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798983097076416s
2025-11-03T09:18:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798983097076416
2025-11-03T09:18:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:34
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796957969665527s
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5309637;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55073;2460982.80456438;9.30950806;1.3;_
2025-11-03T09:18:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5309637;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55073;2460982.80456438;9.30950806;1.3;_
2025-11-03T09:18:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5309637, teldec = -24.256621
2025-11-03T09:18:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5309637 -24.256621
2025-11-03T09:18:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5309637 -24.256621
2025-11-03T09:18:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5309637 -24.256621
2025-11-03T09:18:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5309637;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55073;2460982.80456441;9.30950806;1.3;_14.5066170044936 -24.1427237158041
2025-11-03T09:18:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5066170044936     dec_j2k = -24.1427237158041
2025-11-03T09:18:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967106161190404;171.162357330327;_
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967106161190404;171.162357330327;_
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59019)
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:34.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:34.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:34.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80456438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967106161190404, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5309637, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55073, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5066170044936, telescope_dec_j2k=-24.1427237158041, observability=1)
2025-11-03T09:18:34.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:34
2025-11-03T09:18:34.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:34.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02223491668701172s
2025-11-03T09:18:34.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02223491668701172
2025-11-03T09:18:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:34
2025-11-03T09:18:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3878958225250244s
2025-11-03T09:18:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3878958225250244
2025-11-03T09:18:36.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:36
2025-11-03T09:18:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857025146484375s
2025-11-03T09:18:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5315233;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55129;2460982.80458755;9.31006611;1.3;_
2025-11-03T09:18:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5315233;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55129;2460982.80458755;9.31006611;1.3;_
2025-11-03T09:18:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5315233, teldec = -24.256621
2025-11-03T09:18:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5315233 -24.256621
2025-11-03T09:18:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5315233 -24.256621
2025-11-03T09:18:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5315233 -24.256621
2025-11-03T09:18:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5315233;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55129;2460982.80458758;9.31006611;1.3;_14.5071761024047 -24.142736047747
2025-11-03T09:18:36.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5071761024047     dec_j2k = -24.142736047747
2025-11-03T09:18:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967110573504112;171.162357330327;_
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967110573504112;171.162357330327;_
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43359)
2025-11-03T09:18:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:36.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80458755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967110573504112, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5315233, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55129, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5071761024047, telescope_dec_j2k=-24.142736047747, observability=1)
2025-11-03T09:18:36.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:36
2025-11-03T09:18:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02287769317626953s
2025-11-03T09:18:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02287769317626953
2025-11-03T09:18:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:36
2025-11-03T09:18:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38279032707214355s
2025-11-03T09:18:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38279032707214355
2025-11-03T09:18:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:38
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813275337219238s
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5320745;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55184;2460982.80461068;9.31061583;1.3;_
2025-11-03T09:18:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5320745;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55184;2460982.80461068;9.31061583;1.3;_
2025-11-03T09:18:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5320745, teldec = -24.256621
2025-11-03T09:18:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5320745 -24.256621
2025-11-03T09:18:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5320745 -24.256621
2025-11-03T09:18:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5320745 -24.256621
2025-11-03T09:18:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5321023;-24.256621;50.108591;89.993053;50.08601;90.12017;11.55187;2460982.80461071;9.31064361;1.3;_14.5077268078979 -24.1427481969992
2025-11-03T09:18:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5077268078979     dec_j2k = -24.1427481969992
2025-11-03T09:18:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967107364548688;171.162351965909;_
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967107364548688;171.162351965909;_
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59705)
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80461068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967107364548688, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5320745, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55184, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5077268078979, telescope_dec_j2k=-24.1427481969992, observability=1)
2025-11-03T09:18:38.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:38
2025-11-03T09:18:38.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:38.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026241779327392578s
2025-11-03T09:18:38.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026241779327392578
2025-11-03T09:18:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:38
2025-11-03T09:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3827369213104248s
2025-11-03T09:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3827369213104248
2025-11-03T09:18:39.440 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:39.440 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:39.440 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:39.440 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:39.440 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:39.441 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:18:39.442 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:18:39.443 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:40.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:40
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806647300720215s
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5326352;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5524;2460982.80463384;9.311175;1.3;_
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5326352;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5524;2460982.80463384;9.311175;1.3;_
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5326352, teldec = -24.256621
2025-11-03T09:18:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5326352 -24.256621
2025-11-03T09:18:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5326352 -24.256621
2025-11-03T09:18:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5326352 -24.256621
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5326352;-24.256621;50.108591;89.993053;50.08601;90.12017;11.5524;2460982.80463388;9.311175;1.3;_14.5082870049146 -24.1427605581098
2025-11-03T09:18:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5082870049146     dec_j2k = -24.1427605581098
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967109370145828;171.162357330327;_
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967109370145828;171.162357330327;_
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38799)
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:40.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:40.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:40.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80463384, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967109370145828, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108591, telescope_az=89.993053, telescope_ra=14.5326352, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5082870049146, telescope_dec_j2k=-24.1427605581098, observability=1)
2025-11-03T09:18:40.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:40
2025-11-03T09:18:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026958465576171875s
2025-11-03T09:18:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026958465576171875
2025-11-03T09:18:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:40
2025-11-03T09:18:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37854766845703125s
2025-11-03T09:18:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37854766845703125
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Status age = 1.8899898529052734s
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:42.270 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:42.271 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 17;14.5331669;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55293;2460982.80465591;9.31170528;1.3;_
2025-11-03T09:18:42.271 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response 17;14.5331669;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55293;2460982.80465591;9.31170528;1.3;_
2025-11-03T09:18:42.271 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:42.271 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:42.271 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:42.272 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:42.272 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:42.272 [INFO] [Thread-88608 (handle)] [driver.py] [get_status()] Telra = 14.5331669, teldec = -24.256621
2025-11-03T09:18:42.272 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5331669 -24.256621
2025-11-03T09:18:42.273 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5331669 -24.256621
2025-11-03T09:18:42.273 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5331669 -24.256621
2025-11-03T09:18:42.273 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 17;14.5331669;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55293;2460982.80465594;9.31170528;1.3;_14.5088182279893 -24.1427722821865
2025-11-03T09:18:42.274 [INFO] [Thread-88608 (handle)] [driver.py] [get_status()] ra_j2k = 14.5088182279893     dec_j2k = -24.1427722821865
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 140;0.0967114183578965;171.162351965909;_
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response 140;0.0967114183578965;171.162351965909;_
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:42.274 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:42.275 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:42.275 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:42.275 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:42.275 [DEBUG] [Thread-88608 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:42.276 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:42.276 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:42.276 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:42.276 [DEBUG] [Thread-88608 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:42.276 [DEBUG] [Thread-88608 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:42.277 [DEBUG] [Thread-88608 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:42.280 [DEBUG] [Thread-88608 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37115)
2025-11-03T09:18:42.281 [DEBUG] [Thread-88608 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:42.281 [DEBUG] [Thread-88608 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:42.281 [DEBUG] [Thread-88608 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:42.281 [DEBUG] [Thread-88608 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:42.281 [DEBUG] [Thread-88608 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:42.288 [DEBUG] [Thread-88608 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:42.288 [INFO] [Thread-88608 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80465591, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967114183578965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5331669, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55293, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5088182279893, telescope_dec_j2k=-24.1427722821865, observability=1)
2025-11-03T09:18:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:42
2025-11-03T09:18:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07293701171875s
2025-11-03T09:18:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07293701171875
2025-11-03T09:18:42.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:42
2025-11-03T09:18:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09445714950561523s
2025-11-03T09:18:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09445714950561523
2025-11-03T09:18:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:42
2025-11-03T09:18:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4704320430755615s
2025-11-03T09:18:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4704320430755615
2025-11-03T09:18:44.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:44
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0731382369995117s
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5337455;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55351;2460982.80468013;9.31228222;1.3;_
2025-11-03T09:18:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5337455;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55351;2460982.80468013;9.31228222;1.3;_
2025-11-03T09:18:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5337455, teldec = -24.256621
2025-11-03T09:18:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5337455 -24.256621
2025-11-03T09:18:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5337455 -24.256621
2025-11-03T09:18:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5337455 -24.256621
2025-11-03T09:18:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5337455;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55351;2460982.80468016;9.31228222;1.3;_14.5093963090433 -24.1427850429554
2025-11-03T09:18:44.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5093963090433     dec_j2k = -24.1427850429554
2025-11-03T09:18:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967112980220681;171.162346601491;_
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967112980220681;171.162346601491;_
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:44.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53777)
2025-11-03T09:18:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:44.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:44.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80468013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967112980220681, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5337455, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5093963090433, telescope_dec_j2k=-24.1427850429554, observability=1)
2025-11-03T09:18:44.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:44
2025-11-03T09:18:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022271394729614258s
2025-11-03T09:18:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022271394729614258
2025-11-03T09:18:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:44
2025-11-03T09:18:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3793964385986328s
2025-11-03T09:18:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3793964385986328
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.7910819053649902s
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:46.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:46.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:46.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5342502;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55402;2460982.80470108;9.31278556;1.3;_
2025-11-03T09:18:46.173 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.5342502;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55402;2460982.80470108;9.31278556;1.3;_
2025-11-03T09:18:46.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:46.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:46.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:46.174 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:46.174 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:46.174 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.5342502, teldec = -24.256621
2025-11-03T09:18:46.174 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5342502 -24.256621
2025-11-03T09:18:46.174 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5342502 -24.256621
2025-11-03T09:18:46.174 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5342502 -24.256621
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5342502;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55402;2460982.8047011;9.31278556;1.3;_14.5099005564188 -24.1427961760529
2025-11-03T09:18:46.175 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.5099005564188     dec_j2k = -24.1427961760529
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967112980220681;171.162351965909;_
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967112980220681;171.162351965909;_
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:46.175 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:46.176 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:46.177 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:46.177 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:46.177 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:46.178 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49245)
2025-11-03T09:18:46.178 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:46.178 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:46.178 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:46.178 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:46.179 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:46.186 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:46.186 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80470108, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967112980220681, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5342502, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55402, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5099005564188, telescope_dec_j2k=-24.1427961760529, observability=1)
2025-11-03T09:18:46.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:46
2025-11-03T09:18:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17579078674316406s
2025-11-03T09:18:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17579078674316406
2025-11-03T09:18:46.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:46
2025-11-03T09:18:46.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:46.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1980433464050293s
2025-11-03T09:18:46.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1980433464050293
2025-11-03T09:18:46.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:46
2025-11-03T09:18:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5774061679840088s
2025-11-03T09:18:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5774061679840088
2025-11-03T09:18:47.393 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Status age = 1.207327127456665s
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:47.394 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:47.395 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 17;14.5346145;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55438;2460982.80471522;9.31314889;1.3;_
2025-11-03T09:18:47.395 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response 17;14.5346145;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55438;2460982.80471522;9.31314889;1.3;_
2025-11-03T09:18:47.395 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:47.395 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:47.395 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:47.396 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:47.396 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:47.396 [INFO] [Thread-88609 (handle)] [driver.py] [get_status()] Telra = 14.5346145, teldec = -24.256621
2025-11-03T09:18:47.396 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5346145 -24.256621
2025-11-03T09:18:47.397 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5346145 -24.256621
2025-11-03T09:18:47.397 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5346145 -24.256621
2025-11-03T09:18:47.397 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 17;14.5346145;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55438;2460982.80471524;9.31314889;1.3;_14.5102645297312 -24.1428042133399
2025-11-03T09:18:47.398 [INFO] [Thread-88609 (handle)] [driver.py] [get_status()] ra_j2k = 14.5102645297312     dec_j2k = -24.1428042133399
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 140;0.0967110573504112;171.162351965909;_
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response 140;0.0967110573504112;171.162351965909;_
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:47.398 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:47.399 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:47.401 [DEBUG] [Thread-88609 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:47.401 [DEBUG] [Thread-88609 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:47.401 [DEBUG] [Thread-88609 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45683)
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:47.406 [DEBUG] [Thread-88609 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:47.413 [DEBUG] [Thread-88609 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:47.414 [DEBUG] [Thread-88609 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:47.414 [DEBUG] [Thread-88609 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:47.414 [DEBUG] [Thread-88609 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:47.414 [INFO] [Thread-88609 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80471522, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967110573504112, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5346145, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55438, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5102645297312, telescope_dec_j2k=-24.1428042133399, observability=1)
2025-11-03T09:18:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:48
2025-11-03T09:18:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.947920560836792s
2025-11-03T09:18:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.947920560836792
2025-11-03T09:18:48.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:48
2025-11-03T09:18:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.970191240310669s
2025-11-03T09:18:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.970191240310669
2025-11-03T09:18:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:48
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3450236320495605s
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5349783;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55475;2460982.80473102;9.31351167;1.3;_
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5349783;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55475;2460982.80473102;9.31351167;1.3;_
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5349783, teldec = -24.256621
2025-11-03T09:18:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5349783 -24.256621
2025-11-03T09:18:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5349783 -24.256621
2025-11-03T09:18:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5349783 -24.256621
2025-11-03T09:18:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5349783;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55475;2460982.80473104;9.31351167;1.3;_14.5106280035117 -24.1428122406425
2025-11-03T09:18:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5106280035117     dec_j2k = -24.1428122406425
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967114584698393;171.162346601491;_
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967114584698393;171.162346601491;_
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:48.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60401)
2025-11-03T09:18:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:48.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:48.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80473102, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967114584698393, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5349783, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55475, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5106280035117, telescope_dec_j2k=-24.1428122406425, observability=1)
2025-11-03T09:18:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:50
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.584373950958252s
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5354167;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55518;2460982.80474956;9.31394889;1.3;_
2025-11-03T09:18:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5354167;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55518;2460982.80474956;9.31394889;1.3;_
2025-11-03T09:18:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:50.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5354167, teldec = -24.256621
2025-11-03T09:18:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5354167 -24.256621
2025-11-03T09:18:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5354167 -24.256621
2025-11-03T09:18:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5354167 -24.256621
2025-11-03T09:18:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5354448;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55521;2460982.80474958;9.31397694;1.3;_14.5110660104245 -24.142821915395
2025-11-03T09:18:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5110660104245     dec_j2k = -24.142821915395
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967118194773245;171.162368059163;_
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967118194773245;171.162368059163;_
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54905)
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:50.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:50.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80474956, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967118194773245, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5354167, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55518, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5110660104245, telescope_dec_j2k=-24.142821915395, observability=1)
2025-11-03T09:18:50.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:50
2025-11-03T09:18:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02261805534362793s
2025-11-03T09:18:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02261805534362793
2025-11-03T09:18:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:50
2025-11-03T09:18:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3838801383972168s
2025-11-03T09:18:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3838801383972168
2025-11-03T09:18:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:52
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799103736877441s
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5359774;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55575;2460982.80477272;9.31450806;1.3;_
2025-11-03T09:18:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5359774;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55575;2460982.80477272;9.31450806;1.3;_
2025-11-03T09:18:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5359774, teldec = -24.256621
2025-11-03T09:18:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5359774 -24.256621
2025-11-03T09:18:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5359774 -24.256621
2025-11-03T09:18:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5359774 -24.256621
2025-11-03T09:18:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5359774;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55575;2460982.80477274;9.31450806;1.3;_14.5116262077198 -24.1428342913163
2025-11-03T09:18:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5116262077198     dec_j2k = -24.1428342913163
2025-11-03T09:18:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967116590295533;171.162368059163;_
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967116590295533;171.162368059163;_
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37113)
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:52.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:52.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80477272, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967116590295533, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5359774, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55575, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5116262077198, telescope_dec_j2k=-24.1428342913163, observability=1)
2025-11-03T09:18:52.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:52
2025-11-03T09:18:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021895885467529297s
2025-11-03T09:18:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021895885467529297
2025-11-03T09:18:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:52
2025-11-03T09:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3845832347869873s
2025-11-03T09:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3845832347869873
2025-11-03T09:18:54.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:54
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982252597808838s
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5365375;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55631;2460982.80479588;9.31506667;1.3;_
2025-11-03T09:18:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5365375;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55631;2460982.80479588;9.31506667;1.3;_
2025-11-03T09:18:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5365375, teldec = -24.256621
2025-11-03T09:18:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5365375 -24.256621
2025-11-03T09:18:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5365375 -24.256621
2025-11-03T09:18:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5365375 -24.256621
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5365375;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55631;2460982.8047959;9.31506667;1.3;_14.5121858055999 -24.1428466564741
2025-11-03T09:18:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5121858055999     dec_j2k = -24.1428466564741
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967112177981825;171.162351965909;_
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967112177981825;171.162351965909;_
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45837)
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80479588, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967112177981825, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5365375, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55631, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5121858055999, telescope_dec_j2k=-24.1428466564741, observability=1)
2025-11-03T09:18:54.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:54
2025-11-03T09:18:54.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:54.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025426864624023438s
2025-11-03T09:18:54.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025426864624023438
2025-11-03T09:18:54.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:54
2025-11-03T09:18:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3825223445892334s
2025-11-03T09:18:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3825223445892334
2025-11-03T09:18:56.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:56
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980144739151001s
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5370879;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55686;2460982.80481902;9.31561556;1.3;_
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5370879;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55686;2460982.80481902;9.31561556;1.3;_
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5370879, teldec = -24.256621
2025-11-03T09:18:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5370879 -24.256621
2025-11-03T09:18:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5370879 -24.256621
2025-11-03T09:18:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5370879 -24.256621
2025-11-03T09:18:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5370879;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55686;2460982.80481904;9.31561556;1.3;_14.5127357122213 -24.1428588099022
2025-11-03T09:18:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5127357122213     dec_j2k = -24.1428588099022
2025-11-03T09:18:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967117392534389;171.162351965909;_
2025-11-03T09:18:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967117392534389;171.162351965909;_
2025-11-03T09:18:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:18:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47241)
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:56.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:56.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80481902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967117392534389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5370879, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55686, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5127357122213, telescope_dec_j2k=-24.1428588099022, observability=1)
2025-11-03T09:18:56.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:56
2025-11-03T09:18:56.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:56.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02738213539123535s
2025-11-03T09:18:56.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02738213539123535
2025-11-03T09:18:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:56
2025-11-03T09:18:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3785719871520996s
2025-11-03T09:18:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3785719871520996
2025-11-03T09:18:58.109 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.7291154861450195s
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:18:58.110 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:18:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:18:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:18:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:18:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:18:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:18:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5375926;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55736;2460982.80483926;9.31611889;1.3;_
2025-11-03T09:18:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.5375926;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55736;2460982.80483926;9.31611889;1.3;_
2025-11-03T09:18:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:18:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:18:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:18:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:18:58.113 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.5375926, teldec = -24.256621
2025-11-03T09:18:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5375926 -24.256621
2025-11-03T09:18:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5375926 -24.256621
2025-11-03T09:18:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5375926 -24.256621
2025-11-03T09:18:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5375926;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55736;2460982.80483928;9.31611889;1.3;_14.5132399598478 -24.1428699563278
2025-11-03T09:18:58.114 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.5132399598478     dec_j2k = -24.1428699563278
2025-11-03T09:18:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:18:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:18:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967114183578965;171.162357330327;_
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967114183578965;171.162357330327;_
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:18:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:18:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:18:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49627)
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:18:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:18:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:18:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:58.126 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:18:58.127 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:18:58.127 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80483926, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967114183578965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5375926, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55736, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5132399598478, telescope_dec_j2k=-24.1428699563278, observability=1)
2025-11-03T09:18:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:58
2025-11-03T09:18:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:58.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23472809791564941s
2025-11-03T09:18:58.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23472809791564941
2025-11-03T09:18:58.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:58
2025-11-03T09:18:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2570657730102539s
2025-11-03T09:18:58.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2570657730102539
2025-11-03T09:18:58.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:18:58
2025-11-03T09:18:58.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:18:58.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6280896663665771s
2025-11-03T09:18:58.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6280896663665771
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Status age = 2.2104430198669434s
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:00.337 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:00.338 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:00.339 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 17;14.5382091;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55798;2460982.80486503;9.31673361;1.3;_
2025-11-03T09:19:00.339 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response 17;14.5382091;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55798;2460982.80486503;9.31673361;1.3;_
2025-11-03T09:19:00.339 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:00.339 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:00.339 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:00.340 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:00.340 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:00.340 [INFO] [Thread-88610 (handle)] [driver.py] [get_status()] Telra = 14.5382091, teldec = -24.256621
2025-11-03T09:19:00.340 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5382091 -24.256621
2025-11-03T09:19:00.340 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5382091 -24.256621
2025-11-03T09:19:00.340 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5382091 -24.256621
2025-11-03T09:19:00.341 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 17;14.5382091;-24.256621;50.10859;89.993053;50.08601;90.12017;11.55798;2460982.80486506;9.31673361;1.3;_14.513855907317 -24.142883574614
2025-11-03T09:19:00.341 [INFO] [Thread-88610 (handle)] [driver.py] [get_status()] ra_j2k = 14.513855907317     dec_j2k = -24.142883574614
2025-11-03T09:19:00.341 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:00.341 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:00.341 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 140;0.0967122205967526;171.162351965909;_
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response 140;0.0967122205967526;171.162351965909;_
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:00.342 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:00.343 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:00.344 [DEBUG] [Thread-88610 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:00.344 [DEBUG] [Thread-88610 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:00.344 [DEBUG] [Thread-88610 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55259)
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:00.345 [DEBUG] [Thread-88610 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:00.353 [DEBUG] [Thread-88610 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:00.353 [INFO] [Thread-88610 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80486503, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967122205967526, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5382091, telescope_dec=-24.256621, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55798, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.513855907317, telescope_dec_j2k=-24.142883574614, observability=1)
2025-11-03T09:19:00.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:00
2025-11-03T09:19:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.012067794799804688s
2025-11-03T09:19:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.012067794799804688
2025-11-03T09:19:00.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:00
2025-11-03T09:19:00.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:00.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03701663017272949s
2025-11-03T09:19:00.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03701663017272949
2025-11-03T09:19:00.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:00
2025-11-03T09:19:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4138801097869873s
2025-11-03T09:19:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4138801097869873
2025-11-03T09:19:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:02
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.413891077041626s
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5388809;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55865;2460982.80489317;9.31740361;1.3;_
2025-11-03T09:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5388809;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55865;2460982.80489317;9.31740361;1.3;_
2025-11-03T09:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5388809, teldec = -24.25662
2025-11-03T09:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5388809 -24.25662
2025-11-03T09:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5388809 -24.25662
2025-11-03T09:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5388809 -24.25662
2025-11-03T09:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5388809;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55865;2460982.80489319;9.31740361;1.3;_14.5145271054068 -24.1428974178813
2025-11-03T09:19:02.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5145271054068     dec_j2k = -24.1428974178813
2025-11-03T09:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096711939813153;171.162346601491;_
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096711939813153;171.162346601491;_
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49235)
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80489317, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096711939813153, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5388809, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55865, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5145271054068, telescope_dec_j2k=-24.1428974178813, observability=1)
2025-11-03T09:19:04.479 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:04
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6934502124786377s
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:04.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:04.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:04.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:04.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5393477;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55912;2460982.80491296;9.31786917;1.3;_
2025-11-03T09:19:04.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5393477;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55912;2460982.80491296;9.31786917;1.3;_
2025-11-03T09:19:04.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:04.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:04.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:04.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:04.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:04.482 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5393477, teldec = -24.25662
2025-11-03T09:19:04.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5393477 -24.25662
2025-11-03T09:19:04.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5393477 -24.25662
2025-11-03T09:19:04.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5393477 -24.25662
2025-11-03T09:19:04.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5393477;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55912;2460982.804913;9.31786917;1.3;_14.5149934871273 -24.1429077338157
2025-11-03T09:19:04.483 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5149934871273     dec_j2k = -24.1429077338157
2025-11-03T09:19:04.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:04.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:04.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967120200370386;171.162351965909;_
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967120200370386;171.162351965909;_
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:04.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:04.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:04.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:04.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:04.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:04.490 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46539)
2025-11-03T09:19:04.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:04.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:04.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:04.491 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:04.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:04.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:04.498 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80491296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967120200370386, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5393477, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55912, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5149934871273, telescope_dec_j2k=-24.1429077338157, observability=1)
2025-11-03T09:19:04.520 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:04
2025-11-03T09:19:04.520 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:04.520 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02213764190673828s
2025-11-03T09:19:04.520 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02213764190673828
2025-11-03T09:19:04.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:04
2025-11-03T09:19:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26317715644836426s
2025-11-03T09:19:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26317715644836426
2025-11-03T09:19:06.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:06
2025-11-03T09:19:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2604527473449707s
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5399925;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55976;2460982.80493934;9.31851222;1.3;_
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5399925;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55976;2460982.80493934;9.31851222;1.3;_
2025-11-03T09:19:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5399925, teldec = -24.25662
2025-11-03T09:19:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5399925 -24.25662
2025-11-03T09:19:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5399925 -24.25662
2025-11-03T09:19:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5399925 -24.25662
2025-11-03T09:19:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5399925;-24.25662;50.10859;89.993053;50.08601;90.12017;11.55976;2460982.80493937;9.31851222;1.3;_14.515637709403 -24.142921986248
2025-11-03T09:19:06.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.515637709403     dec_j2k = -24.142921986248
2025-11-03T09:19:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967122607086954;171.162362694745;_
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967122607086954;171.162362694745;_
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58355)
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:06.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:06.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80493934, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967122607086954, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5399925, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.55976, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.515637709403, telescope_dec_j2k=-24.142921986248, observability=1)
2025-11-03T09:19:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:08
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5846099853515625s
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5404402;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56021;2460982.80495793;9.31895861;1.3;_
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5404402;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56021;2460982.80495793;9.31895861;1.3;_
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5404402, teldec = -24.25662
2025-11-03T09:19:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5404402 -24.25662
2025-11-03T09:19:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5404402 -24.25662
2025-11-03T09:19:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5404402 -24.25662
2025-11-03T09:19:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5404402;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56021;2460982.80495795;9.31895861;1.3;_14.5160850083118 -24.1429318839818
2025-11-03T09:19:08.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5160850083118     dec_j2k = -24.1429318839818
2025-11-03T09:19:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967124612684094;171.162351965909;_
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967124612684094;171.162351965909;_
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:08.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44143)
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:08.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:08.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80495793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967124612684094, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5404402, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56021, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5160850083118, telescope_dec_j2k=-24.1429318839818, observability=1)
2025-11-03T09:19:08.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:08
2025-11-03T09:19:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021549701690673828s
2025-11-03T09:19:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021549701690673828
2025-11-03T09:19:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:08
2025-11-03T09:19:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38043761253356934s
2025-11-03T09:19:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38043761253356934
2025-11-03T09:19:10.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:10
2025-11-03T09:19:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9766929149627686s
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5409911;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56076;2460982.80498103;9.31950806;1.3;_
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5409911;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56076;2460982.80498103;9.31950806;1.3;_
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:10.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5409911, teldec = -24.25662
2025-11-03T09:19:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5409911 -24.25662
2025-11-03T09:19:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5409911 -24.25662
2025-11-03T09:19:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5409911 -24.25662
2025-11-03T09:19:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5409911;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56076;2460982.80498105;9.31950806;1.3;_14.5166354148054 -24.1429440654284
2025-11-03T09:19:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5166354148054     dec_j2k = -24.1429440654284
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967123008206382;171.162351965909;_
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967123008206382;171.162351965909;_
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56309)
2025-11-03T09:19:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:10.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:10.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:10.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80498103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967123008206382, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5409911, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56076, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5166354148054, telescope_dec_j2k=-24.1429440654284, observability=1)
2025-11-03T09:19:10.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:10
2025-11-03T09:19:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0222625732421875s
2025-11-03T09:19:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0222625732421875
2025-11-03T09:19:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:10
2025-11-03T09:19:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3811523914337158s
2025-11-03T09:19:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3811523914337158
2025-11-03T09:19:11.115 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:19:11
2025-11-03T09:19:11.115 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:11.115 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.7347056865692139s
2025-11-03T09:19:11.115 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7347056865692139
2025-11-03T09:19:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:12
2025-11-03T09:19:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811787605285645s
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5415521;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56132;2460982.8050042;9.3200675;1.3;_
2025-11-03T09:19:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5415521;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56132;2460982.8050042;9.3200675;1.3;_
2025-11-03T09:19:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5415521, teldec = -24.25662
2025-11-03T09:19:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5415521 -24.25662
2025-11-03T09:19:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5415521 -24.25662
2025-11-03T09:19:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5415521 -24.25662
2025-11-03T09:19:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5415521;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56132;2460982.80500422;9.3200675;1.3;_14.5171959122977 -24.1429564726669
2025-11-03T09:19:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5171959122977     dec_j2k = -24.1429564726669
2025-11-03T09:19:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967126618281235;171.162373423581;_
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967126618281235;171.162373423581;_
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41973)
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:12.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:12.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8050042, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967126618281235, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5415521, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56132, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:18:13.418036', telescope_ra_j2k=14.5171959122977, telescope_dec_j2k=-24.1429564726669, observability=1)
2025-11-03T09:19:12.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:12
2025-11-03T09:19:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023453712463378906s
2025-11-03T09:19:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023453712463378906
2025-11-03T09:19:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:12
2025-11-03T09:19:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3816666603088379s
2025-11-03T09:19:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3816666603088379
2025-11-03T09:19:13.562 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:13.562 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:13.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:13.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:13.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:13.563 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:13.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:13.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:13.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:13.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:13.564 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:19:13.564 [INFO] [ThreadPoolExecutor-3395_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:19:13.565 [INFO] [ThreadPoolExecutor-3395_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 2.2015838623046875s
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:14.580 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5421674;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56194;2460982.80502987;9.32068111;1.3;_
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.5421674;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56194;2460982.80502987;9.32068111;1.3;_
2025-11-03T09:19:14.581 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:14.582 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:14.582 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:14.582 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:14.582 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:14.583 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.5421674, teldec = -24.25662
2025-11-03T09:19:14.583 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.5421674 -24.25662
2025-11-03T09:19:14.583 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.5421674 -24.25662
2025-11-03T09:19:14.583 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5421674 -24.25662
2025-11-03T09:19:14.584 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5421674;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56194;2460982.80502991;9.32068111;1.3;_14.5178106612056 -24.142970083676
2025-11-03T09:19:14.584 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.5178106612056     dec_j2k = -24.142970083676
2025-11-03T09:19:14.584 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:14.584 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:14.584 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967126217161807;171.162351965909;_
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967126217161807;171.162351965909;_
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:14.585 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:14.586 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:14.587 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:14.587 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:14.587 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45805)
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:14.592 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:14.600 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:19:14.600 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80502987, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967126217161807, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5421674, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56194, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5178106612056, telescope_dec_j2k=-24.142970083676, observability=1)
2025-11-03T09:19:14.600 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.485217571258545 seconds ago
2025-11-03T09:19:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:14
2025-11-03T09:19:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1589984893798828s
2025-11-03T09:19:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1589984893798828
2025-11-03T09:19:16.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:16
2025-11-03T09:19:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1784074306488037s
2025-11-03T09:19:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5428024;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56257;2460982.80505532;9.32131444;1.3;_
2025-11-03T09:19:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5428024;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56257;2460982.80505532;9.32131444;1.3;_
2025-11-03T09:19:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:16.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5428024, teldec = -24.25662
2025-11-03T09:19:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5428024 -24.25662
2025-11-03T09:19:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5428024 -24.25662
2025-11-03T09:19:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5428024 -24.25662
2025-11-03T09:19:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5428024;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56257;2460982.80505535;9.32131444;1.3;_14.5184450925284 -24.1429841336
2025-11-03T09:19:16.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5184450925284     dec_j2k = -24.1429841336
2025-11-03T09:19:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967127821639519;171.162351965909;_
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967127821639519;171.162351965909;_
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:16.789 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50905)
2025-11-03T09:19:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:16.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:16.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:16.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80505532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967127821639519, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5428024, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56257, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5184450925284, telescope_dec_j2k=-24.1429841336, observability=1)
2025-11-03T09:19:16.871 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:16
2025-11-03T09:19:16.872 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:16.872 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07367992401123047s
2025-11-03T09:19:16.872 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07367992401123047
2025-11-03T09:19:16.893 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:16
2025-11-03T09:19:16.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:16.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09549784660339355s
2025-11-03T09:19:16.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09549784660339355
2025-11-03T09:19:18.457 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:18.457 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Status age = 1.659494400024414s
2025-11-03T09:19:18.457 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:18.457 [DEBUG] [Thread-88611 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:18.457 [DEBUG] [Thread-88611 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:18.458 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:18.459 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 17;14.5432509;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56302;2460982.80507476;9.32176167;1.3;_
2025-11-03T09:19:18.459 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response 17;14.5432509;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56302;2460982.80507476;9.32176167;1.3;_
2025-11-03T09:19:18.459 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:18.459 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:18.459 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:18.460 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:18.460 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:18.460 [INFO] [Thread-88611 (handle)] [driver.py] [get_status()] Telra = 14.5432509, teldec = -24.25662
2025-11-03T09:19:18.460 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5432509 -24.25662
2025-11-03T09:19:18.460 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5432509 -24.25662
2025-11-03T09:19:18.461 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5432509 -24.25662
2025-11-03T09:19:18.461 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 17;14.5432509;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56302;2460982.80507478;9.32176167;1.3;_14.5188931909084 -24.1429940589674
2025-11-03T09:19:18.462 [INFO] [Thread-88611 (handle)] [driver.py] [get_status()] ra_j2k = 14.5188931909084     dec_j2k = -24.1429940589674
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 140;0.0967127420520091;171.162357330327;_
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response 140;0.0967127420520091;171.162357330327;_
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:18.462 [DEBUG] [Thread-88611 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:18.463 [DEBUG] [Thread-88611 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43093)
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:18.464 [DEBUG] [Thread-88611 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:18.471 [DEBUG] [Thread-88611 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:18.472 [INFO] [Thread-88611 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80507476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967127420520091, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5432509, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5188931909084, telescope_dec_j2k=-24.1429940589674, observability=1)
2025-11-03T09:19:18.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:18
2025-11-03T09:19:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28588223457336426s
2025-11-03T09:19:18.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28588223457336426
2025-11-03T09:19:19.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:19
2025-11-03T09:19:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9769437313079834s
2025-11-03T09:19:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9769437313079834
2025-11-03T09:19:19.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:19
2025-11-03T09:19:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9986286163330078s
2025-11-03T09:19:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9986286163330078
2025-11-03T09:19:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:20
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2936596870422363s
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5438949;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56366;2460982.80510147;9.32240389;1.3;_
2025-11-03T09:19:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5438949;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56366;2460982.80510147;9.32240389;1.3;_
2025-11-03T09:19:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5438949, teldec = -24.25662
2025-11-03T09:19:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5438949 -24.25662
2025-11-03T09:19:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5438949 -24.25662
2025-11-03T09:19:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5438949 -24.25662
2025-11-03T09:19:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5438949;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56366;2460982.80510149;9.32240389;1.3;_14.5195366142759 -24.1430083135523
2025-11-03T09:19:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5195366142759     dec_j2k = -24.1430083135523
2025-11-03T09:19:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967131832833799;171.162357330327;_
2025-11-03T09:19:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967131832833799;171.162357330327;_
2025-11-03T09:19:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56193)
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:20.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:20.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:20.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80510147, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967131832833799, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5438949, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56366, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5195366142759, telescope_dec_j2k=-24.1430083135523, observability=1)
2025-11-03T09:19:21.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:21
2025-11-03T09:19:21.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:21.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6618082523345947s
2025-11-03T09:19:21.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6618082523345947
2025-11-03T09:19:21.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:21
2025-11-03T09:19:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6858983039855957s
2025-11-03T09:19:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6858983039855957
2025-11-03T09:19:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:22
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812204837799072s
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5444453;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56421;2460982.80512459;9.32295278;1.3;_
2025-11-03T09:19:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5444453;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56421;2460982.80512459;9.32295278;1.3;_
2025-11-03T09:19:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5444453, teldec = -24.25662
2025-11-03T09:19:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5444453 -24.25662
2025-11-03T09:19:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5444453 -24.25662
2025-11-03T09:19:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5444453 -24.25662
2025-11-03T09:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5444453;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56421;2460982.80512463;9.32295278;1.3;_14.5200865215011 -24.1430204989458
2025-11-03T09:19:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5200865215011     dec_j2k = -24.1430204989458
2025-11-03T09:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967127420520091;171.162368059163;_
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967127420520091;171.162368059163;_
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53937)
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:22.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:22.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:22.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80512459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967127420520091, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5444453, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56421, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5200865215011, telescope_dec_j2k=-24.1430204989458, observability=1)
2025-11-03T09:19:23.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:23
2025-11-03T09:19:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5842764377593994s
2025-11-03T09:19:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5842764377593994
2025-11-03T09:19:23.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:23
2025-11-03T09:19:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6062793731689453s
2025-11-03T09:19:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6062793731689453
2025-11-03T09:19:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:24
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789767265319824s
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5450063;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56477;2460982.8051477;9.32351222;1.3;_
2025-11-03T09:19:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5450063;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56477;2460982.8051477;9.32351222;1.3;_
2025-11-03T09:19:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5450063, teldec = -24.25662
2025-11-03T09:19:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5450063 -24.25662
2025-11-03T09:19:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5450063 -24.25662
2025-11-03T09:19:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5450063 -24.25662
2025-11-03T09:19:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5450063;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56477;2460982.80514772;9.32351222;1.3;_14.5206470192827 -24.1430329214733
2025-11-03T09:19:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5206470192827     dec_j2k = -24.1430329214733
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967129426117231;171.162362694745;_
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967129426117231;171.162362694745;_
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42871)
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:24.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:24.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:24.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8051477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967129426117231, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5450063, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5206470192827, telescope_dec_j2k=-24.1430329214733, observability=1)
2025-11-03T09:19:25.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:25
2025-11-03T09:19:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830919742584229s
2025-11-03T09:19:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830919742584229
2025-11-03T09:19:25.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:25
2025-11-03T09:19:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6044974327087402s
2025-11-03T09:19:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6044974327087402
2025-11-03T09:19:26.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:26
2025-11-03T09:19:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778568744659424s
2025-11-03T09:19:26.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:26.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5455672;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56533;2460982.80517081;9.32407167;1.3;_
2025-11-03T09:19:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5455672;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56533;2460982.80517081;9.32407167;1.3;_
2025-11-03T09:19:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:26.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:26.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5455672, teldec = -24.25662
2025-11-03T09:19:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5455672 -24.25662
2025-11-03T09:19:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5455672 -24.25662
2025-11-03T09:19:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5455672 -24.25662
2025-11-03T09:19:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5455672;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56533;2460982.80517083;9.32407167;1.3;_14.5212074172008 -24.143045344268
2025-11-03T09:19:26.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5212074172008     dec_j2k = -24.143045344268
2025-11-03T09:19:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967132233953227;171.162362694745;_
2025-11-03T09:19:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967132233953227;171.162362694745;_
2025-11-03T09:19:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40951)
2025-11-03T09:19:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:26.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:26.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80517081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967132233953227, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5455672, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56533, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5212074172008, telescope_dec_j2k=-24.143045344268, observability=1)
2025-11-03T09:19:28.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:28
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827802181243896s
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5461196;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56589;2460982.805194;9.3246225;1.3;_
2025-11-03T09:19:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5461196;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56589;2460982.805194;9.3246225;1.3;_
2025-11-03T09:19:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:28.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5461196, teldec = -24.25662
2025-11-03T09:19:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5461196 -24.25662
2025-11-03T09:19:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5461196 -24.25662
2025-11-03T09:19:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5461196 -24.25662
2025-11-03T09:19:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5461196;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56589;2460982.80519403;9.3246225;1.3;_14.5217593227735 -24.1430575812298
2025-11-03T09:19:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5217593227735     dec_j2k = -24.1430575812298
2025-11-03T09:19:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967141459700073;171.162368059163;_
2025-11-03T09:19:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967141459700073;171.162368059163;_
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42059)
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:28.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.805194, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967141459700073, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5461196, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56589, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5217593227735, telescope_dec_j2k=-24.1430575812298, observability=1)
2025-11-03T09:19:28.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:28
2025-11-03T09:19:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.007562160491943359s
2025-11-03T09:19:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.007562160491943359
2025-11-03T09:19:28.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:28
2025-11-03T09:19:28.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:28.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028564453125s
2025-11-03T09:19:28.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028564453125
2025-11-03T09:19:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:30
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.579592227935791s
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5465689;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56634;2460982.80521252;9.32507056;1.3;_
2025-11-03T09:19:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5465689;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56634;2460982.80521252;9.32507056;1.3;_
2025-11-03T09:19:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5465689, teldec = -24.25662
2025-11-03T09:19:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5465689 -24.25662
2025-11-03T09:19:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5465689 -24.25662
2025-11-03T09:19:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5465689 -24.25662
2025-11-03T09:19:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5465689;-24.25662;50.10859;89.993053;50.08601;90.12017;11.56634;2460982.80521255;9.32507056;1.3;_14.5222082206598 -24.1430675360581
2025-11-03T09:19:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5222082206598     dec_j2k = -24.1430675360581
2025-11-03T09:19:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967125816042378;171.162351965909;_
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967125816042378;171.162351965909;_
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:30.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56443)
2025-11-03T09:19:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:30.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:30.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:30.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:30.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:30.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80521252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967125816042378, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10859, telescope_az=89.993053, telescope_ra=14.5465689, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56634, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5222082206598, telescope_dec_j2k=-24.1430675360581, observability=1)
2025-11-03T09:19:30.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:30
2025-11-03T09:19:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022890090942382812s
2025-11-03T09:19:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022890090942382812
2025-11-03T09:19:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:30
2025-11-03T09:19:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.381744384765625s
2025-11-03T09:19:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.381744384765625
2025-11-03T09:19:33.027 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:33
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.647395372390747s
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:33.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:33.028 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:33.028 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5473162;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56708;2460982.80524339;9.32581583;1.3;_
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5473162;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56708;2460982.80524339;9.32581583;1.3;_
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:33.029 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:33.030 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:33.030 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:33.030 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5473162, teldec = -24.25662
2025-11-03T09:19:33.030 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5473162 -24.25662
2025-11-03T09:19:33.031 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5473162 -24.25662
2025-11-03T09:19:33.031 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5473162 -24.25662
2025-11-03T09:19:33.032 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5473162;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56708;2460982.80524341;9.32581583;1.3;_14.5229548519094 -24.1430840969907
2025-11-03T09:19:33.032 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5229548519094     dec_j2k = -24.1430840969907
2025-11-03T09:19:33.032 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:33.032 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:33.032 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967133437311511;171.162346601491;_
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967133437311511;171.162346601491;_
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:33.033 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:33.034 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:33.035 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:33.035 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:33.035 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34339)
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:33.040 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:33.047 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:33.047 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:33.048 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:33.048 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80524339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967133437311511, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5473162, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56708, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5229548519094, telescope_dec_j2k=-24.1430840969907, observability=1)
2025-11-03T09:19:34.443 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.443 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.443 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:34.443 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:34.443 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:34.444 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.444 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:34.444 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:34.444 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.445 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.446 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.446 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:34.446 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:34.446 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:34.447 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:19:34.448 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:34.449 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Park
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:19:34.450 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:19:34.451 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 29;14.5477086;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56748;2460982.80525985;9.32620722;1.3;_Park Command Successful
2025-11-03T09:19:34.479 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:34
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.43172287940979s
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:34.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:34.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:34.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.5477086;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56748;2460982.80526021;9.32620722;1.3;_
2025-11-03T09:19:34.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 29;14.5477086;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56748;2460982.80526021;9.32620722;1.3;_
2025-11-03T09:19:34.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:34.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:34.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:34.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:34.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:34.483 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5477086, teldec = -24.25662
2025-11-03T09:19:34.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5477086 -24.25662
2025-11-03T09:19:34.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5477086 -24.25662
2025-11-03T09:19:34.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5477086 -24.25662
2025-11-03T09:19:34.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.5477086;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56748;2460982.80526023;9.32620722;1.3;_14.5233469007885 -24.143092794739
2025-11-03T09:19:34.484 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5233469007885     dec_j2k = -24.143092794739
2025-11-03T09:19:34.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967136245147508;171.162368059163;_
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967136245147508;171.162368059163;_
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:34.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:34.492 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45969)
2025-11-03T09:19:34.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:34.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:34.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:34.492 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:34.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:34.499 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:34.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:34.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80526021, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967136245147508, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5477086, telescope_dec=-24.25662, telescope_slewing=True, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56748, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5233469007885, telescope_dec_j2k=-24.143092794739, observability=1)
2025-11-03T09:19:34.527 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:34
2025-11-03T09:19:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02746868133544922s
2025-11-03T09:19:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02746868133544922
2025-11-03T09:19:34.823 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:34
2025-11-03T09:19:34.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:34.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32299351692199707s
2025-11-03T09:19:34.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32299351692199707
2025-11-03T09:19:35.451 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:19:35.451 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:19:35.451 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:19:35.452 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:19:35.452 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:19:36.452 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:19:36.452 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:19:36.453 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:19:36.453 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:19:36.453 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:19:36.523 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:36.523 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Status age = 2.023496150970459s
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:36.524 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:36.525 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 17;14.5482975;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56807;2460982.80528385;9.32679444;1.3;_
2025-11-03T09:19:36.525 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response 17;14.5482975;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56807;2460982.80528385;9.32679444;1.3;_
2025-11-03T09:19:36.525 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:36.525 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:36.525 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:36.526 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:36.526 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:36.526 [INFO] [Thread-88612 (handle)] [driver.py] [get_status()] Telra = 14.5482975, teldec = -24.25662
2025-11-03T09:19:36.526 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5482975 -24.25662
2025-11-03T09:19:36.526 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5482975 -24.25662
2025-11-03T09:19:36.526 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5482975 -24.25662
2025-11-03T09:19:36.527 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 17;14.5482975;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56807;2460982.80528388;9.32679444;1.3;_14.5239352738819 -24.1431058502888
2025-11-03T09:19:36.527 [INFO] [Thread-88612 (handle)] [driver.py] [get_status()] ra_j2k = 14.5239352738819     dec_j2k = -24.1431058502888
2025-11-03T09:19:36.527 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:36.527 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:36.527 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 140;0.0967138250744648;171.162362694745;_
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response 140;0.0967138250744648;171.162362694745;_
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:36.528 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:36.529 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:36.530 [DEBUG] [Thread-88612 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:36.530 [DEBUG] [Thread-88612 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:36.530 [DEBUG] [Thread-88612 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58689)
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:36.531 [DEBUG] [Thread-88612 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:36.538 [DEBUG] [Thread-88612 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:36.539 [DEBUG] [Thread-88612 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:36.539 [INFO] [Thread-88612 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80528385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967138250744648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5482975, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56807, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5239352738819, telescope_dec_j2k=-24.1431058502888, observability=1)
2025-11-03T09:19:36.977 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:36
2025-11-03T09:19:36.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:36.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43802475929260254s
2025-11-03T09:19:36.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43802475929260254
2025-11-03T09:19:37.453 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:19:37.454 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:19:37.454 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:19:37.455 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:19:37.455 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:19:38.455 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:19:38.455 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:19:38.455 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:38.456 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:19:38.457 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:19:38.458 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:38
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.223989248275757s
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.548905;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56867;2460982.80530978;9.32740028;1.3;_
2025-11-03T09:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.548905;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56867;2460982.80530978;9.32740028;1.3;_
2025-11-03T09:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.548905, teldec = -24.25662
2025-11-03T09:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.548905 -24.25662
2025-11-03T09:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.548905 -24.25662
2025-11-03T09:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.548905 -24.25662
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.548905;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56867;2460982.8053098;9.32740028;1.3;_14.5245422303876 -24.1431193210534
2025-11-03T09:19:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5245422303876     dec_j2k = -24.1431193210534
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967135041789224;171.162357330327;_
2025-11-03T09:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967135041789224;171.162357330327;_
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56371)
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:38.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80530978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967135041789224, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.548905, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5245422303876, telescope_dec_j2k=-24.1431193210534, observability=1)
2025-11-03T09:19:39.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:39
2025-11-03T09:19:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6678981781005859s
2025-11-03T09:19:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6678981781005859
2025-11-03T09:19:39.458 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:39.458 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:39.458 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:39.458 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:39.458 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:19:39.459 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:19:39.460 [DEBUG] [ThreadPoolExecutor-3394_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:39.460 [INFO] [ThreadPoolExecutor-3394_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:19:39.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:39
2025-11-03T09:19:39.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:39.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6894707679748535s
2025-11-03T09:19:39.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6894707679748535
2025-11-03T09:19:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:40
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806954860687256s
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5494665;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56923;2460982.8053329;9.32796028;1.3;_
2025-11-03T09:19:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5494665;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56923;2460982.8053329;9.32796028;1.3;_
2025-11-03T09:19:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5494665, teldec = -24.25662
2025-11-03T09:19:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5494665 -24.25662
2025-11-03T09:19:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5494665 -24.25662
2025-11-03T09:19:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5494665 -24.25662
2025-11-03T09:19:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5494665;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56923;2460982.80533293;9.32796028;1.3;_14.525103228096 -24.1431317743959
2025-11-03T09:19:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.525103228096     dec_j2k = -24.1431317743959
2025-11-03T09:19:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967135442908652;171.162357330327;_
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967135442908652;171.162357330327;_
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54605)
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:40.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:40.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:40.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8053329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967135442908652, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5494665, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.56923, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.525103228096, telescope_dec_j2k=-24.1431317743959, observability=1)
2025-11-03T09:19:42.111 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:42
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.332871913909912s
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:42.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:42.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5498308;-24.25662;50.108589;89.993053;50.08601;90.12017;11.5696;2460982.80534853;9.32832361;1.3;_
2025-11-03T09:19:42.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5498308;-24.25662;50.108589;89.993053;50.08601;90.12017;11.5696;2460982.80534853;9.32832361;1.3;_
2025-11-03T09:19:42.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:42.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:42.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:42.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:42.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:42.115 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5498308, teldec = -24.25662
2025-11-03T09:19:42.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5498308 -24.25662
2025-11-03T09:19:42.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5498308 -24.25662
2025-11-03T09:19:42.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5498308 -24.25662
2025-11-03T09:19:42.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5498308;-24.25662;50.108589;89.993053;50.08601;90.12017;11.56963;2460982.80534856;9.32835167;1.3;_14.5254672022355 -24.1431398554268
2025-11-03T09:19:42.116 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5254672022355     dec_j2k = -24.1431398554268
2025-11-03T09:19:42.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:42.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:42.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967142663058357;171.162362694745;_
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967142663058357;171.162362694745;_
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:42.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:42.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:42.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:42.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46871)
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:42.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:42.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:42.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:42.131 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:42.131 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80534853, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967142663058357, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5498308, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5254672022355, telescope_dec_j2k=-24.1431398554268, observability=1)
2025-11-03T09:19:42.152 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:42
2025-11-03T09:19:42.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:42.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021498918533325195s
2025-11-03T09:19:42.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021498918533325195
2025-11-03T09:19:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:42
2025-11-03T09:19:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6308679580688477s
2025-11-03T09:19:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6308679580688477
2025-11-03T09:19:44.182 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:44
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.051243782043457s
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:44.182 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:44.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:44.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:44.183 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:44.183 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:44.184 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:44.184 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:44.184 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:44.184 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5504099;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57018;2460982.8053725;9.32890111;1.3;_
2025-11-03T09:19:44.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5504099;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57018;2460982.8053725;9.32890111;1.3;_
2025-11-03T09:19:44.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:44.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:44.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:44.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:44.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:44.186 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5504099, teldec = -24.25662
2025-11-03T09:19:44.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5504099 -24.25662
2025-11-03T09:19:44.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5504099 -24.25662
2025-11-03T09:19:44.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5504099 -24.25662
2025-11-03T09:19:44.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5504099;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57018;2460982.80537253;9.32890111;1.3;_14.5260457842807 -24.1431527033794
2025-11-03T09:19:44.187 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5260457842807     dec_j2k = -24.1431527033794
2025-11-03T09:19:44.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:44.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:44.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967141860819501;171.162351965909;_
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967141860819501;171.162351965909;_
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:44.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:44.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:44.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:44.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:44.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38701)
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:44.195 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:44.202 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:44.202 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:44.202 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:44.203 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:44.203 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8053725, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967141860819501, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5504099, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57018, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5260457842807, telescope_dec_j2k=-24.1431527033794, observability=1)
2025-11-03T09:19:44.225 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:44
2025-11-03T09:19:44.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:44.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02179694175720215s
2025-11-03T09:19:44.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02179694175720215
2025-11-03T09:19:44.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:44
2025-11-03T09:19:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5535283088684082s
2025-11-03T09:19:44.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5535283088684082
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.074183702468872s
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:45.277 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:45.278 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:45.279 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5507183;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57049;2460982.80538517;9.32920861;1.3;_
2025-11-03T09:19:45.279 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.5507183;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57049;2460982.80538517;9.32920861;1.3;_
2025-11-03T09:19:45.279 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:45.279 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:45.279 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:45.280 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:45.280 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:45.280 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.5507183, teldec = -24.25662
2025-11-03T09:19:45.280 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5507183 -24.25662
2025-11-03T09:19:45.280 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5507183 -24.25662
2025-11-03T09:19:45.280 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5507183 -24.25662
2025-11-03T09:19:45.281 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.5507183;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57049;2460982.8053852;9.32920861;1.3;_14.5263539084641 -24.1431595466413
2025-11-03T09:19:45.281 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.5263539084641     dec_j2k = -24.1431595466413
2025-11-03T09:19:45.281 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:45.281 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:45.281 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.096713784962522;171.162362694745;_
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.096713784962522;171.162362694745;_
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:45.282 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:45.283 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:45.284 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:45.284 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:45.284 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:45.289 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37161)
2025-11-03T09:19:45.290 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:45.290 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:45.290 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:45.290 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:45.290 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:45.297 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:45.297 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80538517, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096713784962522, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5507183, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57049, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5263539084641, telescope_dec_j2k=-24.1431595466413, observability=1)
2025-11-03T09:19:46.025 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:46
2025-11-03T09:19:46.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:46.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7277956008911133s
2025-11-03T09:19:46.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7277956008911133
2025-11-03T09:19:46.047 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:46
2025-11-03T09:19:46.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:46.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7500929832458496s
2025-11-03T09:19:46.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7500929832458496
2025-11-03T09:19:46.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:46
2025-11-03T09:19:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.464357614517212s
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5511386;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57091;2460982.80540235;9.32962778;1.3;_
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5511386;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57091;2460982.80540235;9.32962778;1.3;_
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:46.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5511386, teldec = -24.25662
2025-11-03T09:19:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5511386 -24.25662
2025-11-03T09:19:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5511386 -24.25662
2025-11-03T09:19:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5511386 -24.25662
2025-11-03T09:19:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5511386;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57091;2460982.80540237;9.32962778;1.3;_14.526773832593 -24.1431688741219
2025-11-03T09:19:46.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.526773832593     dec_j2k = -24.1431688741219
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967143866416641;171.162357330327;_
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967143866416641;171.162357330327;_
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41189)
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:46.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:46.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:46.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80540235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967143866416641, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5511386, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57091, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.526773832593, telescope_dec_j2k=-24.1431688741219, observability=1)
2025-11-03T09:19:47.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:47
2025-11-03T09:19:47.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:47.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6410131454467773s
2025-11-03T09:19:47.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6410131454467773
2025-11-03T09:19:47.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:47
2025-11-03T09:19:47.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:47.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6644771099090576s
2025-11-03T09:19:47.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6644771099090576
2025-11-03T09:19:47.474 [DEBUG] [Thread-88613 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:47.474 [DEBUG] [Thread-88613 (handle)] [server.py] [get_status()] Status age = 0.695807933807373s
2025-11-03T09:19:47.474 [DEBUG] [Thread-88613 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.695807933807373
2025-11-03T09:19:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:48
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786815643310547s
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:48.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5516982;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57147;2460982.80542545;9.33018583;1.3;_
2025-11-03T09:19:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5516982;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57147;2460982.80542545;9.33018583;1.3;_
2025-11-03T09:19:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5516982, teldec = -24.25662
2025-11-03T09:19:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5516982 -24.25662
2025-11-03T09:19:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5516982 -24.25662
2025-11-03T09:19:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5516982 -24.25662
2025-11-03T09:19:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5516982;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57147;2460982.80542549;9.33018583;1.3;_14.527332932188 -24.1431812951686
2025-11-03T09:19:48.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.527332932188     dec_j2k = -24.1431812951686
2025-11-03T09:19:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967141860819501;171.162357330327;_
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967141860819501;171.162357330327;_
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53711)
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:48.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80542545, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967141860819501, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5516982, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57147, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.527332932188, telescope_dec_j2k=-24.1431812951686, observability=1)
2025-11-03T09:19:49.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:49
2025-11-03T09:19:49.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:49.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6682534217834473s
2025-11-03T09:19:49.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6682534217834473
2025-11-03T09:19:49.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:49
2025-11-03T09:19:49.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:49.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6893327236175537s
2025-11-03T09:19:49.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6893327236175537
2025-11-03T09:19:50.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:50
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9983181953430176s
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5522497;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57202;2460982.80544881;9.33073583;1.3;_
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5522497;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57202;2460982.80544881;9.33073583;1.3;_
2025-11-03T09:19:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:50.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5522497, teldec = -24.25662
2025-11-03T09:19:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5522497 -24.25662
2025-11-03T09:19:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5522497 -24.25662
2025-11-03T09:19:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5522497 -24.25662
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5522497;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57202;2460982.80544884;9.33073583;1.3;_14.5278839390721 -24.1431935388387
2025-11-03T09:19:50.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5278839390721     dec_j2k = -24.1431935388387
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967144267536069;171.162362694745;_
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967144267536069;171.162362694745;_
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47741)
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:50.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:50.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80544881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967144267536069, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5522497, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57202, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5278839390721, telescope_dec_j2k=-24.1431935388387, observability=1)
2025-11-03T09:19:51.635 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:51
2025-11-03T09:19:51.635 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:51.635 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8426737785339355s
2025-11-03T09:19:51.635 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8426737785339355
2025-11-03T09:19:51.661 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:51
2025-11-03T09:19:51.661 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:51.661 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8682363033294678s
2025-11-03T09:19:51.661 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8682363033294678
2025-11-03T09:19:52.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:52
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984710931777954s
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:52.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:52.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:52.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5528109;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57258;2460982.80547198;9.33129556;1.3;_
2025-11-03T09:19:52.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5528109;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57258;2460982.80547198;9.33129556;1.3;_
2025-11-03T09:19:52.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:52.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:52.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:52.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:52.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:52.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5528109, teldec = -24.25662
2025-11-03T09:19:52.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5528109 -24.25662
2025-11-03T09:19:52.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5528109 -24.25662
2025-11-03T09:19:52.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5528109 -24.25662
2025-11-03T09:19:52.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5528109;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57258;2460982.80547201;9.33129556;1.3;_14.5284446373299 -24.1432060003143
2025-11-03T09:19:52.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5284446373299     dec_j2k = -24.1432060003143
2025-11-03T09:19:52.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:52.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:52.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:52.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967145069774925;171.162357330327;_
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967145069774925;171.162357330327;_
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48777)
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:52.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:52.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80547198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967145069774925, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5528109, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57258, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5284446373299, telescope_dec_j2k=-24.1432060003143, observability=1)
2025-11-03T09:19:54.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:54
2025-11-03T09:19:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5689623355865479s
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5532499;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57302;2460982.80549035;9.33173333;1.3;_
2025-11-03T09:19:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5532499;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57302;2460982.80549035;9.33173333;1.3;_
2025-11-03T09:19:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5532499, teldec = -24.25662
2025-11-03T09:19:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5532499 -24.25662
2025-11-03T09:19:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5532499 -24.25662
2025-11-03T09:19:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5532499 -24.25662
2025-11-03T09:19:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5532499;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57302;2460982.80549037;9.33173333;1.3;_14.5288832448738 -24.1432157500613
2025-11-03T09:19:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5288832448738     dec_j2k = -24.1432157500613
2025-11-03T09:19:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096713985522236;171.162357330327;_
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096713985522236;171.162357330327;_
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55257)
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:54.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:54.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80549035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096713985522236, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5532499, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5288832448738, telescope_dec_j2k=-24.1432157500613, observability=1)
2025-11-03T09:19:54.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:54
2025-11-03T09:19:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02295064926147461s
2025-11-03T09:19:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02295064926147461
2025-11-03T09:19:54.590 [DEBUG] [Thread-88614 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:54.590 [DEBUG] [Thread-88614 (handle)] [server.py] [get_status()] Status age = 0.20889806747436523s
2025-11-03T09:19:54.590 [DEBUG] [Thread-88614 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20889806747436523
2025-11-03T09:19:54.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:54
2025-11-03T09:19:54.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:54.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3748033046722412s
2025-11-03T09:19:54.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3748033046722412
2025-11-03T09:19:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:56
2025-11-03T09:19:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980163335800171s
2025-11-03T09:19:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5538117;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57358;2460982.80551346;9.33229361;1.3;_
2025-11-03T09:19:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5538117;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57358;2460982.80551346;9.33229361;1.3;_
2025-11-03T09:19:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5538117, teldec = -24.25662
2025-11-03T09:19:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5538117 -24.25662
2025-11-03T09:19:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5538117 -24.25662
2025-11-03T09:19:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5538117 -24.25662
2025-11-03T09:19:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5538117;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57358;2460982.80551348;9.33229361;1.3;_14.5294445426794 -24.1432282292861
2025-11-03T09:19:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5294445426794     dec_j2k = -24.1432282292861
2025-11-03T09:19:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967144668655497;171.162362694745;_
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967144668655497;171.162362694745;_
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:56.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52305)
2025-11-03T09:19:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:56.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:56.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80551346, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967144668655497, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5538117, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57358, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5294445426794, telescope_dec_j2k=-24.1432282292861, observability=1)
2025-11-03T09:19:56.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:56
2025-11-03T09:19:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02282118797302246s
2025-11-03T09:19:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02282118797302246
2025-11-03T09:19:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:56
2025-11-03T09:19:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37994837760925293s
2025-11-03T09:19:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37994837760925293
2025-11-03T09:19:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5522441864013672s
2025-11-03T09:19:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:57.931 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5542602;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57403;2460982.80553163;9.33274083;1.3;_
2025-11-03T09:19:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.5542602;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57403;2460982.80553163;9.33274083;1.3;_
2025-11-03T09:19:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:57.934 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.5542602, teldec = -24.25662
2025-11-03T09:19:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5542602 -24.25662
2025-11-03T09:19:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5542602 -24.25662
2025-11-03T09:19:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5542602 -24.25662
2025-11-03T09:19:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5542602;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57403;2460982.80553166;9.33274083;1.3;_14.5298926417981 -24.1432381935696
2025-11-03T09:19:57.935 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.5298926417981     dec_j2k = -24.1432381935696
2025-11-03T09:19:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967146273133209;171.162362694745;_
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967146273133209;171.162362694745;_
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:19:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:19:57.941 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53705)
2025-11-03T09:19:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:57.942 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:57.942 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:57.949 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:57.950 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:57.950 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80553163, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967146273133209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5542602, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57403, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5298926417981, telescope_dec_j2k=-24.1432381935696, observability=1)
2025-11-03T09:19:58.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:58
2025-11-03T09:19:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.817934513092041s
2025-11-03T09:19:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.817934513092041
2025-11-03T09:19:59.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:59
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4970438480377197s
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:19:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.554673;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57444;2460982.80554917;9.3331525;1.3;_
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.554673;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57444;2460982.80554917;9.3331525;1.3;_
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:19:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:19:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:19:59.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.554673, teldec = -24.25662
2025-11-03T09:19:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.554673 -24.25662
2025-11-03T09:19:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.554673 -24.25662
2025-11-03T09:19:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.554673 -24.25662
2025-11-03T09:19:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.554673;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57444;2460982.80554919;9.3331525;1.3;_14.530305072853 -24.1432473661091
2025-11-03T09:19:59.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.530305072853     dec_j2k = -24.1432473661091
2025-11-03T09:19:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:19:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:19:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967141058580644;171.162362694745;_
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967141058580644;171.162362694745;_
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:19:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:19:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:19:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:19:59.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41511)
2025-11-03T09:19:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:19:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:19:59.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:19:59.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:19:59.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:19:59.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:19:59.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80554917, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967141058580644, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.554673, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.530305072853, telescope_dec_j2k=-24.1432473661091, observability=1)
2025-11-03T09:19:59.486 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:19:59
2025-11-03T09:19:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:19:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022137880325317383s
2025-11-03T09:19:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022137880325317383
2025-11-03T09:20:00.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:00
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2929468154907227s
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5550379;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57481;2460982.80556434;9.33351639;1.3;_
2025-11-03T09:20:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5550379;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57481;2460982.80556434;9.33351639;1.3;_
2025-11-03T09:20:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5550379, teldec = -24.25662
2025-11-03T09:20:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5550379 -24.25662
2025-11-03T09:20:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5550379 -24.25662
2025-11-03T09:20:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5550379 -24.25662
2025-11-03T09:20:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5550379;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57481;2460982.80556436;9.33351639;1.3;_14.5306696467405 -24.1432554754132
2025-11-03T09:20:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5306696467405     dec_j2k = -24.1432554754132
2025-11-03T09:20:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967145470894353;171.162351965909;_
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967145470894353;171.162351965909;_
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57065)
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80556434, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967145470894353, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5550379, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57481, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5306696467405, telescope_dec_j2k=-24.1432554754132, observability=1)
2025-11-03T09:20:01.970 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:01
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1921203136444092s
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:01.970 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:01.971 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:01.972 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5553746;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57514;2460982.80557838;9.33385222;1.3;_
2025-11-03T09:20:01.972 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5553746;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57514;2460982.80557838;9.33385222;1.3;_
2025-11-03T09:20:01.972 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:01.972 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:01.972 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:01.973 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:01.973 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:01.973 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5553746, teldec = -24.25662
2025-11-03T09:20:01.973 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5553746 -24.25662
2025-11-03T09:20:01.973 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5553746 -24.25662
2025-11-03T09:20:01.973 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5553746 -24.25662
2025-11-03T09:20:01.974 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5553746;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57514;2460982.8055784;9.33385222;1.3;_14.5310060458481 -24.1432629589483
2025-11-03T09:20:01.974 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5310060458481     dec_j2k = -24.1432629589483
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096715028432749;171.162357330327;_
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096715028432749;171.162357330327;_
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:01.975 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:01.976 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50167)
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:01.978 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:01.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:01.985 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80557838, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096715028432749, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5553746, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5310060458481, telescope_dec_j2k=-24.1432629589483, observability=1)
2025-11-03T09:20:02.008 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:02
2025-11-03T09:20:02.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:02.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022434234619140625s
2025-11-03T09:20:02.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022434234619140625
2025-11-03T09:20:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:02
2025-11-03T09:20:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7784934043884277s
2025-11-03T09:20:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7784934043884277
2025-11-03T09:20:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:03
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3753471374511719s
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5557579;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57553;2460982.80559447;9.33423444;1.3;_
2025-11-03T09:20:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5557579;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57553;2460982.80559447;9.33423444;1.3;_
2025-11-03T09:20:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:03.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5557579, teldec = -24.25662
2025-11-03T09:20:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5557579 -24.25662
2025-11-03T09:20:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5557579 -24.25662
2025-11-03T09:20:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5557579 -24.25662
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5557579;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57553;2460982.80559449;9.33423444;1.3;_14.5313890033323 -24.1432714793068
2025-11-03T09:20:03.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5313890033323     dec_j2k = -24.1432714793068
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967146273133209;171.162362694745;_
2025-11-03T09:20:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967146273133209;171.162362694745;_
2025-11-03T09:20:03.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:03.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:03.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:03.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:03.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51597)
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:03.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:03.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:03.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:03.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80559447, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967146273133209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5557579, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57553, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5313890033323, telescope_dec_j2k=-24.1432714793068, observability=1)
2025-11-03T09:20:03.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:03
2025-11-03T09:20:03.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:03.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02307415008544922s
2025-11-03T09:20:03.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02307415008544922
2025-11-03T09:20:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:04
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3832502365112305s
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5561509;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57592;2460982.80561068;9.33462639;1.3;_
2025-11-03T09:20:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5561509;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57592;2460982.80561068;9.33462639;1.3;_
2025-11-03T09:20:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:04.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5561509, teldec = -24.25662
2025-11-03T09:20:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5561509 -24.25662
2025-11-03T09:20:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5561509 -24.25662
2025-11-03T09:20:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5561509 -24.25662
2025-11-03T09:20:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5561509;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57592;2460982.80561071;9.33462639;1.3;_14.5317816521714 -24.1432802164867
2025-11-03T09:20:04.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5317816521714     dec_j2k = -24.1432802164867
2025-11-03T09:20:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967151487685774;171.162351965909;_
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967151487685774;171.162351965909;_
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44641)
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:04.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:04.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80561068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967151487685774, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5561509, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57592, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5317816521714, telescope_dec_j2k=-24.1432802164867, observability=1)
2025-11-03T09:20:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:05
2025-11-03T09:20:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5812482833862305s
2025-11-03T09:20:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5812482833862305
2025-11-03T09:20:05.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:05
2025-11-03T09:20:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6032290458679199s
2025-11-03T09:20:05.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6032290458679199
2025-11-03T09:20:06.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:06
2025-11-03T09:20:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977182149887085s
2025-11-03T09:20:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:06.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.556713;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57648;2460982.8056338;9.33518694;1.3;_
2025-11-03T09:20:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.556713;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57648;2460982.8056338;9.33518694;1.3;_
2025-11-03T09:20:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.556713, teldec = -24.25662
2025-11-03T09:20:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.556713 -24.25662
2025-11-03T09:20:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.556713 -24.25662
2025-11-03T09:20:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.556713 -24.25662
2025-11-03T09:20:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.556713;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57648;2460982.80563382;9.33518694;1.3;_14.5323432499534 -24.1432927152121
2025-11-03T09:20:06.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5323432499534     dec_j2k = -24.1432927152121
2025-11-03T09:20:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967149883208062;171.162357330327;_
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967149883208062;171.162357330327;_
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39257)
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:06.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:06.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8056338, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967149883208062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.556713, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57648, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5323432499534, telescope_dec_j2k=-24.1432927152121, observability=1)
2025-11-03T09:20:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:08
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983367681503296s
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5572634;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57703;2460982.80565696;9.33573583;1.3;_
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5572634;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57703;2460982.80565696;9.33573583;1.3;_
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:08.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5572634, teldec = -24.25662
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5572634 -24.25662
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5572634 -24.25662
2025-11-03T09:20:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5572634 -24.25662
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5572634;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57703;2460982.80565698;9.33573583;1.3;_14.532893158235 -24.1433049561881
2025-11-03T09:20:08.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.532893158235     dec_j2k = -24.1433049561881
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967149080969206;171.162362694745;_
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967149080969206;171.162362694745;_
2025-11-03T09:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:08.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59611)
2025-11-03T09:20:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:08.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80565696, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967149080969206, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5572634, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57703, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.532893158235, telescope_dec_j2k=-24.1433049561881, observability=1)
2025-11-03T09:20:09.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:09
2025-11-03T09:20:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6703863143920898s
2025-11-03T09:20:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6703863143920898
2025-11-03T09:20:09.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:09
2025-11-03T09:20:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.692157506942749s
2025-11-03T09:20:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.692157506942749
2025-11-03T09:20:10.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:10
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9895873069763184s
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5578241;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57759;2460982.80568018;9.336295;1.3;_
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5578241;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57759;2460982.80568018;9.336295;1.3;_
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:10.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5578241, teldec = -24.25662
2025-11-03T09:20:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5578241 -24.25662
2025-11-03T09:20:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5578241 -24.25662
2025-11-03T09:20:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5578241 -24.25662
2025-11-03T09:20:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5578241;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57759;2460982.80568021;9.336295;1.3;_14.5334533573614 -24.1433174286886
2025-11-03T09:20:10.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5334533573614     dec_j2k = -24.1433174286886
2025-11-03T09:20:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967150685446918;171.162362694745;_
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967150685446918;171.162362694745;_
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55081)
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:10.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80568018, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967150685446918, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5578241, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57759, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5334533573614, telescope_dec_j2k=-24.1433174286886, observability=1)
2025-11-03T09:20:11.176 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:20:11
2025-11-03T09:20:11.176 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:11.176 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3939640522003174s
2025-11-03T09:20:11.176 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3939640522003174
2025-11-03T09:20:11.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:11
2025-11-03T09:20:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5792357921600342s
2025-11-03T09:20:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5792357921600342
2025-11-03T09:20:11.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:11
2025-11-03T09:20:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6016550064086914s
2025-11-03T09:20:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6016550064086914
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Status age = 1.9222655296325684s
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:12.704 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:12.705 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:12.706 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 17;14.5583561;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57812;2460982.80570262;9.33682556;1.3;_
2025-11-03T09:20:12.706 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response 17;14.5583561;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57812;2460982.80570262;9.33682556;1.3;_
2025-11-03T09:20:12.706 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:12.706 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:12.706 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:12.707 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:12.707 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:12.707 [INFO] [Thread-88615 (handle)] [driver.py] [get_status()] Telra = 14.5583561, teldec = -24.25662
2025-11-03T09:20:12.707 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5583561 -24.25662
2025-11-03T09:20:12.707 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5583561 -24.25662
2025-11-03T09:20:12.707 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5583561 -24.25662
2025-11-03T09:20:12.708 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 17;14.5583561;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57812;2460982.80570264;9.33682556;1.3;_14.5339848821692 -24.1433292650581
2025-11-03T09:20:12.708 [INFO] [Thread-88615 (handle)] [driver.py] [get_status()] ra_j2k = 14.5339848821692     dec_j2k = -24.1433292650581
2025-11-03T09:20:12.708 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:12.708 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:12.708 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 140;0.0967145470894353;171.162357330327;_
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response 140;0.0967145470894353;171.162357330327;_
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:12.709 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:12.710 [DEBUG] [Thread-88615 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57709)
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:12.713 [DEBUG] [Thread-88615 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:12.720 [DEBUG] [Thread-88615 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:12.720 [DEBUG] [Thread-88615 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:12.720 [DEBUG] [Thread-88615 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:12.720 [DEBUG] [Thread-88615 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:12.720 [DEBUG] [Thread-88615 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:12.721 [DEBUG] [Thread-88615 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:12.721 [DEBUG] [Thread-88615 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:12.721 [DEBUG] [Thread-88615 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:12.721 [DEBUG] [Thread-88615 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:12.721 [INFO] [Thread-88615 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80570262, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967145470894353, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5583561, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:19:13.559725', telescope_ra_j2k=14.5339848821692, telescope_dec_j2k=-24.1433292650581, observability=1)
2025-11-03T09:20:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:12
2025-11-03T09:20:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04011225700378418s
2025-11-03T09:20:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04011225700378418
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:13.705 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:13.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:13.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:13.706 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:13.707 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:20:13.708 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.9389822483062744s
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:14.660 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:14.661 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:14.662 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5589065;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57867;2460982.80572525;9.33737444;1.3;_
2025-11-03T09:20:14.662 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.5589065;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57867;2460982.80572525;9.33737444;1.3;_
2025-11-03T09:20:14.662 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:14.662 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:14.662 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:14.663 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:14.663 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:14.663 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.5589065, teldec = -24.25662
2025-11-03T09:20:14.663 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.5589065 -24.25662
2025-11-03T09:20:14.663 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.5589065 -24.25662
2025-11-03T09:20:14.663 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5589065 -24.25662
2025-11-03T09:20:14.664 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5589065;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57867;2460982.80572528;9.33737444;1.3;_14.5345347905865 -24.1433415131492
2025-11-03T09:20:14.664 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.5345347905865     dec_j2k = -24.1433415131492
2025-11-03T09:20:14.664 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:14.664 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:14.664 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967153894402342;171.162346601491;_
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967153894402342;171.162346601491;_
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:14.665 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:14.666 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:14.667 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:14.667 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:14.667 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45803)
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:14.670 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:14.677 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:20:14.677 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80572525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967153894402342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5589065, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5345347905865, telescope_dec_j2k=-24.1433415131492, observability=1)
2025-11-03T09:20:14.678 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.501753091812134 seconds ago
2025-11-03T09:20:14.709 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:14.709 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:14.709 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:14.709 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:14.709 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:20:14.710 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:14.711 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:14.712 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:14.712 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:14.712 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:14.712 [DEBUG] [ThreadPoolExecutor-3396_0] [payload.py] [to_registers()] [0]
2025-11-03T09:20:14.717 [DEBUG] [ThreadPoolExecutor-3396_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53423)
2025-11-03T09:20:14.717 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:14.717 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:14.717 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:20:14.717 [DEBUG] [ThreadPoolExecutor-3396_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:14.718 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:14.724 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:14.725 [DEBUG] [ThreadPoolExecutor-3396_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:14.727 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:14
2025-11-03T09:20:14.727 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:14.727 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04953145980834961s
2025-11-03T09:20:14.727 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04953145980834961
2025-11-03T09:20:14.748 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:14
2025-11-03T09:20:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0706627368927002s
2025-11-03T09:20:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0706627368927002
2025-11-03T09:20:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:14
2025-11-03T09:20:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0858304500579834s
2025-11-03T09:20:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0858304500579834
2025-11-03T09:20:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:16
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6841273307800293s
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5593831;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57915;2460982.80574494;9.33784972;1.3;_
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5593831;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57915;2460982.80574494;9.33784972;1.3;_
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5593831, teldec = -24.25662
2025-11-03T09:20:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5593831 -24.25662
2025-11-03T09:20:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5593831 -24.25662
2025-11-03T09:20:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5593831 -24.25662
2025-11-03T09:20:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5593831;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57915;2460982.80574496;9.33784972;1.3;_14.5350109649541 -24.1433521208885
2025-11-03T09:20:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5350109649541     dec_j2k = -24.1433521208885
2025-11-03T09:20:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967151888805202;171.162362694745;_
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967151888805202;171.162362694745;_
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52861)
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:16.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:16.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80574494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967151888805202, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5593831, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57915, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5350109649541, telescope_dec_j2k=-24.1433521208885, observability=1)
2025-11-03T09:20:16.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:16
2025-11-03T09:20:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021816253662109375s
2025-11-03T09:20:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021816253662109375
2025-11-03T09:20:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:16
2025-11-03T09:20:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40675973892211914s
2025-11-03T09:20:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40675973892211914
2025-11-03T09:20:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:18
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9849812984466553s
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5599432;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57971;2460982.80576809;9.33840833;1.3;_
2025-11-03T09:20:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5599432;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57971;2460982.80576809;9.33840833;1.3;_
2025-11-03T09:20:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5599432, teldec = -24.25662
2025-11-03T09:20:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5599432 -24.25662
2025-11-03T09:20:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5599432 -24.25662
2025-11-03T09:20:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5599432 -24.25662
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5599432;-24.25662;50.108589;89.993053;50.08601;90.12017;11.57971;2460982.80576811;9.33840833;1.3;_14.5355705647949 -24.14336458938
2025-11-03T09:20:18.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5355705647949     dec_j2k = -24.14336458938
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967148679849778;171.162368059163;_
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967148679849778;171.162368059163;_
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43713)
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:18.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:18.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80576809, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967148679849778, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5599432, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.57971, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5355705647949, telescope_dec_j2k=-24.14336458938, observability=1)
2025-11-03T09:20:18.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:18
2025-11-03T09:20:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022452831268310547s
2025-11-03T09:20:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022452831268310547
2025-11-03T09:20:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:18
2025-11-03T09:20:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38580799102783203s
2025-11-03T09:20:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38580799102783203
2025-11-03T09:20:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:20
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806623458862305s
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5605028;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58027;2460982.80579124;9.33896639;1.3;_
2025-11-03T09:20:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5605028;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58027;2460982.80579124;9.33896639;1.3;_
2025-11-03T09:20:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5605028, teldec = -24.25662
2025-11-03T09:20:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5605028 -24.25662
2025-11-03T09:20:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5605028 -24.25662
2025-11-03T09:20:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5605028 -24.25662
2025-11-03T09:20:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5605028;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58027;2460982.80579126;9.33896639;1.3;_14.5361296651292 -24.1433770492047
2025-11-03T09:20:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5361296651292     dec_j2k = -24.1433770492047
2025-11-03T09:20:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967151086566346;171.162357330327;_
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967151086566346;171.162357330327;_
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42611)
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:20.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:20.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80579124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967151086566346, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5605028, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58027, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5361296651292, telescope_dec_j2k=-24.1433770492047, observability=1)
2025-11-03T09:20:20.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:20
2025-11-03T09:20:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02085113525390625s
2025-11-03T09:20:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02085113525390625
2025-11-03T09:20:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:20
2025-11-03T09:20:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3830745220184326s
2025-11-03T09:20:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3830745220184326
2025-11-03T09:20:22.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:22
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810361862182617s
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:22.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5610538;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58082;2460982.80581435;9.33951583;1.3;_
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5610538;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58082;2460982.80581435;9.33951583;1.3;_
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:22.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5610538, teldec = -24.25662
2025-11-03T09:20:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5610538 -24.25662
2025-11-03T09:20:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5610538 -24.25662
2025-11-03T09:20:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5610538 -24.25662
2025-11-03T09:20:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5610538;-24.25662;50.108589;89.993053;50.08601;90.12017;11.58082;2460982.80581438;9.33951583;1.3;_14.5366801731884 -24.1433893199512
2025-11-03T09:20:22.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5366801731884     dec_j2k = -24.1433893199512
2025-11-03T09:20:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967153493282914;171.162351965909;_
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967153493282914;171.162351965909;_
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:22.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38301)
2025-11-03T09:20:22.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:22.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:22.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:22.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:22.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:22.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:22.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80581435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967153493282914, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108589, telescope_az=89.993053, telescope_ra=14.5610538, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58082, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5366801731884, telescope_dec_j2k=-24.1433893199512, observability=1)
2025-11-03T09:20:22.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:22
2025-11-03T09:20:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022084474563598633s
2025-11-03T09:20:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022084474563598633
2025-11-03T09:20:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:22
2025-11-03T09:20:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38889312744140625s
2025-11-03T09:20:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38889312744140625
2025-11-03T09:20:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:24
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9855172634124756s
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5616145;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58138;2460982.80583755;9.340075;1.3;_
2025-11-03T09:20:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5616145;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58138;2460982.80583755;9.340075;1.3;_
2025-11-03T09:20:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5616145, teldec = -24.25662
2025-11-03T09:20:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5616145 -24.25662
2025-11-03T09:20:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5616145 -24.25662
2025-11-03T09:20:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5616145 -24.25662
2025-11-03T09:20:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5616145;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58138;2460982.80583757;9.340075;1.3;_14.5372403726342 -24.1434018091668
2025-11-03T09:20:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5372403726342     dec_j2k = -24.1434018091668
2025-11-03T09:20:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967157103357767;171.162357330327;_
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967157103357767;171.162357330327;_
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47759)
2025-11-03T09:20:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80583755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967157103357767, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5616145, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58138, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5372403726342, telescope_dec_j2k=-24.1434018091668, observability=1)
2025-11-03T09:20:24.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:24
2025-11-03T09:20:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021906137466430664s
2025-11-03T09:20:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021906137466430664
2025-11-03T09:20:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:24
2025-11-03T09:20:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3779945373535156s
2025-11-03T09:20:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3779945373535156
2025-11-03T09:20:26.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:26
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3939602375030518s
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5622863;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58205;2460982.80586547;9.340745;1.3;_
2025-11-03T09:20:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5622863;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58205;2460982.80586547;9.340745;1.3;_
2025-11-03T09:20:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:26.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5622863, teldec = -24.25662
2025-11-03T09:20:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5622863 -24.25662
2025-11-03T09:20:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5622863 -24.25662
2025-11-03T09:20:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5622863 -24.25662
2025-11-03T09:20:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5622863;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58205;2460982.8058655;9.340745;1.3;_14.5379115729598 -24.1434167763149
2025-11-03T09:20:26.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5379115729598     dec_j2k = -24.1434167763149
2025-11-03T09:20:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967156301118911;171.162362694745;_
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967156301118911;171.162362694745;_
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48863)
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:26.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:26.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:26.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:26.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80586547, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967156301118911, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5622863, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5379115729598, telescope_dec_j2k=-24.1434167763149, observability=1)
2025-11-03T09:20:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:28
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.966385841369629s
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5628375;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58261;2460982.80588846;9.34129472;1.3;_
2025-11-03T09:20:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5628375;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58261;2460982.80588846;9.34129472;1.3;_
2025-11-03T09:20:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5628375, teldec = -24.25662
2025-11-03T09:20:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5628375 -24.25662
2025-11-03T09:20:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5628375 -24.25662
2025-11-03T09:20:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5628375 -24.25662
2025-11-03T09:20:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5628375;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58261;2460982.80588848;9.34129472;1.3;_14.5384622809883 -24.1434290592443
2025-11-03T09:20:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5384622809883     dec_j2k = -24.1434290592443
2025-11-03T09:20:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967153493282914;171.162351965909;_
2025-11-03T09:20:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967153493282914;171.162351965909;_
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40155)
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:28.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80588846, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967153493282914, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5628375, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58261, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5384622809883, telescope_dec_j2k=-24.1434290592443, observability=1)
2025-11-03T09:20:29.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:29
2025-11-03T09:20:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6654536724090576s
2025-11-03T09:20:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6654536724090576
2025-11-03T09:20:29.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:29
2025-11-03T09:20:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6865179538726807s
2025-11-03T09:20:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6865179538726807
2025-11-03T09:20:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:30
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797532558441162s
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5633982;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58317;2460982.80591161;9.34185389;1.3;_
2025-11-03T09:20:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5633982;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58317;2460982.80591161;9.34185389;1.3;_
2025-11-03T09:20:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5633982, teldec = -24.25662
2025-11-03T09:20:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5633982 -24.25662
2025-11-03T09:20:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5633982 -24.25662
2025-11-03T09:20:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5633982 -24.25662
2025-11-03T09:20:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5633982;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58317;2460982.80591163;9.34185389;1.3;_14.5390224805846 -24.1434415563215
2025-11-03T09:20:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5390224805846     dec_j2k = -24.1434415563215
2025-11-03T09:20:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967160713432619;171.162351965909;_
2025-11-03T09:20:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967160713432619;171.162351965909;_
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59923)
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:30.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:30.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80591161, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967160713432619, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5633982, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58317, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5390224805846, telescope_dec_j2k=-24.1434415563215, observability=1)
2025-11-03T09:20:30.781 [DEBUG] [Thread-88616 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:30.781 [DEBUG] [Thread-88616 (handle)] [server.py] [get_status()] Status age = 0.0037887096405029297s
2025-11-03T09:20:30.781 [DEBUG] [Thread-88616 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0037887096405029297
2025-11-03T09:20:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:31
2025-11-03T09:20:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582404375076294s
2025-11-03T09:20:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582404375076294
2025-11-03T09:20:31.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:31
2025-11-03T09:20:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037671566009521s
2025-11-03T09:20:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037671566009521
2025-11-03T09:20:32.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:32
2025-11-03T09:20:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811596870422363s
2025-11-03T09:20:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5639575;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58373;2460982.80593472;9.34241167;1.3;_
2025-11-03T09:20:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5639575;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58373;2460982.80593472;9.34241167;1.3;_
2025-11-03T09:20:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5639575, teldec = -24.25662
2025-11-03T09:20:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5639575 -24.25662
2025-11-03T09:20:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5639575 -24.25662
2025-11-03T09:20:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5639575 -24.25662
2025-11-03T09:20:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5639575;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58373;2460982.80593475;9.34241167;1.3;_14.5395812814774 -24.1434540246565
2025-11-03T09:20:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5395812814774     dec_j2k = -24.1434540246565
2025-11-03T09:20:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967159108954907;171.162357330327;_
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967159108954907;171.162357330327;_
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41129)
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:32.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:32.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80593472, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967159108954907, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5639575, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58373, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5395812814774, telescope_dec_j2k=-24.1434540246565, observability=1)
2025-11-03T09:20:33.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:33
2025-11-03T09:20:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5820784568786621s
2025-11-03T09:20:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5820784568786621
2025-11-03T09:20:33.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:33
2025-11-03T09:20:33.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:33.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6064703464508057s
2025-11-03T09:20:33.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6064703464508057
2025-11-03T09:20:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:34
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817895889282227s
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:34.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5645079;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58428;2460982.80595787;9.34296056;1.3;_
2025-11-03T09:20:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5645079;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58428;2460982.80595787;9.34296056;1.3;_
2025-11-03T09:20:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5645079, teldec = -24.25662
2025-11-03T09:20:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5645079 -24.25662
2025-11-03T09:20:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5645079 -24.25662
2025-11-03T09:20:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5645079 -24.25662
2025-11-03T09:20:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5645079;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58428;2460982.80595789;9.34296056;1.3;_14.5401311903584 -24.1434662969858
2025-11-03T09:20:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5401311903584     dec_j2k = -24.1434662969858
2025-11-03T09:20:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967161114552047;171.162357330327;_
2025-11-03T09:20:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967161114552047;171.162357330327;_
2025-11-03T09:20:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44279)
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:34.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:34.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80595787, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967161114552047, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5645079, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58428, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5401311903584, telescope_dec_j2k=-24.1434662969858, observability=1)
2025-11-03T09:20:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:35
2025-11-03T09:20:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5799307823181152s
2025-11-03T09:20:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5799307823181152
2025-11-03T09:20:35.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:35
2025-11-03T09:20:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6017506122589111s
2025-11-03T09:20:35.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6017506122589111
2025-11-03T09:20:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:36
2025-11-03T09:20:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979013442993164s
2025-11-03T09:20:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5650686;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58484;2460982.80598103;9.34351972;1.3;_
2025-11-03T09:20:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5650686;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58484;2460982.80598103;9.34351972;1.3;_
2025-11-03T09:20:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5650686, teldec = -24.25662
2025-11-03T09:20:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5650686 -24.25662
2025-11-03T09:20:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5650686 -24.25662
2025-11-03T09:20:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5650686 -24.25662
2025-11-03T09:20:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5650686;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58484;2460982.80598106;9.34351972;1.3;_14.5406913900956 -24.1434788014228
2025-11-03T09:20:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5406913900956     dec_j2k = -24.1434788014228
2025-11-03T09:20:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967163120149188;171.162346601491;_
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967163120149188;171.162346601491;_
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:36.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33397)
2025-11-03T09:20:36.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:36.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:36.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80598103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967163120149188, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5650686, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58484, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5406913900956, telescope_dec_j2k=-24.1434788014228, observability=1)
2025-11-03T09:20:38.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:38
2025-11-03T09:20:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853777885437012s
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5656285;-24.25662;50.108588;89.993053;50.08601;90.12017;11.5854;2460982.80600417;9.34407806;1.3;_
2025-11-03T09:20:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5656285;-24.25662;50.108588;89.993053;50.08601;90.12017;11.5854;2460982.80600417;9.34407806;1.3;_
2025-11-03T09:20:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:38.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5656285, teldec = -24.25662
2025-11-03T09:20:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5656285 -24.25662
2025-11-03T09:20:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5656285 -24.25662
2025-11-03T09:20:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5656285 -24.25662
2025-11-03T09:20:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5656285;-24.25662;50.108588;89.993053;50.08601;90.12017;11.5854;2460982.80600419;9.34407806;1.3;_14.5412507905938 -24.1434912904833
2025-11-03T09:20:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5412507905938     dec_j2k = -24.1434912904833
2025-11-03T09:20:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967168334701752;171.162362694745;_
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967168334701752;171.162362694745;_
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34265)
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:38.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:38.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80600417, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967168334701752, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5656285, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5854, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5412507905938, telescope_dec_j2k=-24.1434912904833, observability=1)
2025-11-03T09:20:39.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:39
2025-11-03T09:20:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6715855598449707s
2025-11-03T09:20:39.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6715855598449707
2025-11-03T09:20:39.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:39
2025-11-03T09:20:39.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:39.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6933193206787109s
2025-11-03T09:20:39.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6933193206787109
2025-11-03T09:20:39.725 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:39.725 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:39.725 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:39.725 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:39.725 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:39.726 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:39.726 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:39.726 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:39.726 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:39.726 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:39.727 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:39.727 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:39.727 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:39.727 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:20:39.728 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:20:39.729 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:40
2025-11-03T09:20:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983238935470581s
2025-11-03T09:20:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5661789;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58595;2460982.80602734;9.34462694;1.3;_
2025-11-03T09:20:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5661789;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58595;2460982.80602734;9.34462694;1.3;_
2025-11-03T09:20:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:40.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5661789, teldec = -24.25662
2025-11-03T09:20:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5661789 -24.25662
2025-11-03T09:20:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5661789 -24.25662
2025-11-03T09:20:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5661789 -24.25662
2025-11-03T09:20:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5661789;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58595;2460982.80602736;9.34462694;1.3;_14.5418006996133 -24.1435035700382
2025-11-03T09:20:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5418006996133     dec_j2k = -24.1435035700382
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967161114552047;171.162362694745;_
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967161114552047;171.162362694745;_
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36271)
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:40.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:40.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:40.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80602734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967161114552047, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5661789, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5418006996133, telescope_dec_j2k=-24.1435035700382, observability=1)
2025-11-03T09:20:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:41
2025-11-03T09:20:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5798442363739014s
2025-11-03T09:20:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5798442363739014
2025-11-03T09:20:41.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:41
2025-11-03T09:20:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6019570827484131s
2025-11-03T09:20:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6019570827484131
2025-11-03T09:20:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:42
2025-11-03T09:20:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815261363983154s
2025-11-03T09:20:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5667396;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58651;2460982.80605051;9.34518611;1.3;_
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5667396;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58651;2460982.80605051;9.34518611;1.3;_
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5667396, teldec = -24.25662
2025-11-03T09:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5667396 -24.25662
2025-11-03T09:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5667396 -24.25662
2025-11-03T09:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5667396 -24.25662
2025-11-03T09:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5667396;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58651;2460982.80605053;9.34518611;1.3;_14.5423608994917 -24.1435160818352
2025-11-03T09:20:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5423608994917     dec_j2k = -24.1435160818352
2025-11-03T09:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967163120149188;171.162346601491;_
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967163120149188;171.162346601491;_
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46499)
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:42.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:42.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:42.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80605051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967163120149188, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5667396, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58651, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5423608994917, telescope_dec_j2k=-24.1435160818352, observability=1)
2025-11-03T09:20:43.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:43
2025-11-03T09:20:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5819642543792725s
2025-11-03T09:20:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5819642543792725
2025-11-03T09:20:43.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:43
2025-11-03T09:20:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6040844917297363s
2025-11-03T09:20:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6040844917297363
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6075904369354248s
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:44.387 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:44.388 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:44.388 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.567188;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58696;2460982.80606932;9.34563333;1.3;_
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.567188;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58696;2460982.80606932;9.34563333;1.3;_
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:44.389 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:44.390 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:44.390 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:44.390 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.567188, teldec = -24.25662
2025-11-03T09:20:44.390 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.567188 -24.25662
2025-11-03T09:20:44.390 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.567188 -24.25662
2025-11-03T09:20:44.390 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.567188 -24.25662
2025-11-03T09:20:44.391 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.567188;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58696;2460982.80606934;9.34563333;1.3;_14.5428088995712 -24.1435260894794
2025-11-03T09:20:44.391 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.5428088995712     dec_j2k = -24.1435260894794
2025-11-03T09:20:44.392 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:44.392 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:44.392 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967163521268616;171.162351965909;_
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967163521268616;171.162351965909;_
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:44.393 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:44.395 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:44.396 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:44.396 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:44.396 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55847)
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:44.400 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:44.407 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:44.407 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80606932, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967163521268616, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.567188, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5428088995712, telescope_dec_j2k=-24.1435260894794, observability=1)
2025-11-03T09:20:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:44
2025-11-03T09:20:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35706353187561035s
2025-11-03T09:20:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35706353187561035
2025-11-03T09:20:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:45
2025-11-03T09:20:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9537527561187744s
2025-11-03T09:20:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9537527561187744
2025-11-03T09:20:45.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:45
2025-11-03T09:20:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9750127792358398s
2025-11-03T09:20:45.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9750127792358398
2025-11-03T09:20:46.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:46
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3536581993103027s
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.567851;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58762;2460982.80609681;9.34629444;1.3;_
2025-11-03T09:20:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.567851;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58762;2460982.80609681;9.34629444;1.3;_
2025-11-03T09:20:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:46.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.567851, teldec = -24.25662
2025-11-03T09:20:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.567851 -24.25662
2025-11-03T09:20:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.567851 -24.25662
2025-11-03T09:20:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.567851 -24.25662
2025-11-03T09:20:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.567851;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58762;2460982.80609683;9.34629444;1.3;_14.543471308308 -24.1435408895807
2025-11-03T09:20:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.543471308308     dec_j2k = -24.1435408895807
2025-11-03T09:20:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09671647246269;171.162362694745;_
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09671647246269;171.162362694745;_
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:46.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46895)
2025-11-03T09:20:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:46.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:46.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:46.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80609681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09671647246269, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.567851, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58762, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.543471308308, telescope_dec_j2k=-24.1435408895807, observability=1)
2025-11-03T09:20:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:47
2025-11-03T09:20:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5791647434234619s
2025-11-03T09:20:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5791647434234619
2025-11-03T09:20:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:47
2025-11-03T09:20:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6014797687530518s
2025-11-03T09:20:47.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6014797687530518
2025-11-03T09:20:47.535 [DEBUG] [Thread-88617 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:47.536 [DEBUG] [Thread-88617 (handle)] [server.py] [get_status()] Status age = 0.7535157203674316s
2025-11-03T09:20:47.536 [DEBUG] [Thread-88617 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7535157203674316
2025-11-03T09:20:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:48
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9765944480895996s
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5684122;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58818;2460982.80611991;9.34685417;1.3;_
2025-11-03T09:20:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5684122;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58818;2460982.80611991;9.34685417;1.3;_
2025-11-03T09:20:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5684122, teldec = -24.25662
2025-11-03T09:20:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5684122 -24.25662
2025-11-03T09:20:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5684122 -24.25662
2025-11-03T09:20:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5684122 -24.25662
2025-11-03T09:20:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5684122;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58818;2460982.80611993;9.34685417;1.3;_14.5440320078819 -24.1435534199053
2025-11-03T09:20:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5440320078819     dec_j2k = -24.1435534199053
2025-11-03T09:20:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967164323507472;171.162357330327;_
2025-11-03T09:20:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967164323507472;171.162357330327;_
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:48.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45631)
2025-11-03T09:20:48.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:48.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:48.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:48.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:48.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80611991, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967164323507472, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5684122, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58818, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5440320078819, telescope_dec_j2k=-24.1435534199053, observability=1)
2025-11-03T09:20:48.859 [DEBUG] [Thread-88618 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:48.859 [DEBUG] [Thread-88618 (handle)] [server.py] [get_status()] Status age = 0.08477044105529785s
2025-11-03T09:20:48.859 [DEBUG] [Thread-88618 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08477044105529785
2025-11-03T09:20:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:49
2025-11-03T09:20:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5871157646179199s
2025-11-03T09:20:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5871157646179199
2025-11-03T09:20:49.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:49
2025-11-03T09:20:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.609020471572876s
2025-11-03T09:20:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.609020471572876
2025-11-03T09:20:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:50
2025-11-03T09:20:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835467338562012s
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5689724;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58874;2460982.80614306;9.34741278;1.3;_
2025-11-03T09:20:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5689724;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58874;2460982.80614306;9.34741278;1.3;_
2025-11-03T09:20:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:50.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5689724, teldec = -24.25662
2025-11-03T09:20:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5689724 -24.25662
2025-11-03T09:20:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5689724 -24.25662
2025-11-03T09:20:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5689724 -24.25662
2025-11-03T09:20:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5689724;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58874;2460982.80614308;9.34741278;1.3;_14.5445917083948 -24.1435659303682
2025-11-03T09:20:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5445917083948     dec_j2k = -24.1435659303682
2025-11-03T09:20:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967169939179464;171.162351965909;_
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967169939179464;171.162351965909;_
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43541)
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:50.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:50.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80614306, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967169939179464, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5689724, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58874, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5445917083948, telescope_dec_j2k=-24.1435659303682, observability=1)
2025-11-03T09:20:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:51
2025-11-03T09:20:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5812356472015381s
2025-11-03T09:20:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5812356472015381
2025-11-03T09:20:51.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:51
2025-11-03T09:20:51.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:51.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6034653186798096s
2025-11-03T09:20:51.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6034653186798096
2025-11-03T09:20:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:52
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800317287445068s
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5695225;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58929;2460982.80616622;9.34796139;1.3;_
2025-11-03T09:20:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5695225;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58929;2460982.80616622;9.34796139;1.3;_
2025-11-03T09:20:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5695225, teldec = -24.25662
2025-11-03T09:20:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5695225 -24.25662
2025-11-03T09:20:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5695225 -24.25662
2025-11-03T09:20:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5695225 -24.25662
2025-11-03T09:20:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5695225;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58929;2460982.80616624;9.34796139;1.3;_14.5451413179592 -24.1435782176739
2025-11-03T09:20:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5451413179592     dec_j2k = -24.1435782176739
2025-11-03T09:20:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967167933582324;171.162357330327;_
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967167933582324;171.162357330327;_
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47791)
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:52.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:52.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:52.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:52.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:52.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:52.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80616622, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967167933582324, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5695225, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58929, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5451413179592, telescope_dec_j2k=-24.1435782176739, observability=1)
2025-11-03T09:20:53.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:53
2025-11-03T09:20:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5871624946594238s
2025-11-03T09:20:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5871624946594238
2025-11-03T09:20:53.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:53
2025-11-03T09:20:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6082913875579834s
2025-11-03T09:20:53.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6082913875579834
2025-11-03T09:20:54.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:54
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9978995323181152s
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:54.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5700832;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58985;2460982.80618957;9.34852056;1.3;_
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5700832;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58985;2460982.80618957;9.34852056;1.3;_
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:54.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:54.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:54.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:54.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5700832, teldec = -24.25662
2025-11-03T09:20:54.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5700832 -24.25662
2025-11-03T09:20:54.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5700832 -24.25662
2025-11-03T09:20:54.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5700832 -24.25662
2025-11-03T09:20:54.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5700832;-24.25662;50.108588;89.993053;50.08601;90.12017;11.58985;2460982.80618959;9.34852056;1.3;_14.5457015181203 -24.143590744191
2025-11-03T09:20:54.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5457015181203     dec_j2k = -24.143590744191
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967173950373745;171.162362694745;_
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967173950373745;171.162362694745;_
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:54.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:20:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33133)
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:54.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:54.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:54.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:54.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:54.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80618957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967173950373745, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5700832, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.58985, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5457015181203, telescope_dec_j2k=-24.143590744191, observability=1)
2025-11-03T09:20:55.737 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:55
2025-11-03T09:20:55.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:55.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9396061897277832s
2025-11-03T09:20:55.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9396061897277832
2025-11-03T09:20:55.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:55
2025-11-03T09:20:55.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:55.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9627823829650879s
2025-11-03T09:20:55.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9627823829650879
2025-11-03T09:20:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:56
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9662127494812012s
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5706436;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59041;2460982.80621257;9.34907944;1.3;_
2025-11-03T09:20:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5706436;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59041;2460982.80621257;9.34907944;1.3;_
2025-11-03T09:20:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5706436, teldec = -24.25662
2025-11-03T09:20:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5706436 -24.25662
2025-11-03T09:20:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5706436 -24.25662
2025-11-03T09:20:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5706436 -24.25662
2025-11-03T09:20:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5706436;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59041;2460982.80621259;9.34907944;1.3;_14.5462614185962 -24.1436032664713
2025-11-03T09:20:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5462614185962     dec_j2k = -24.1436032664713
2025-11-03T09:20:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967172345896033;171.162362694745;_
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967172345896033;171.162362694745;_
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45681)
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:56.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:56.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:56.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:56.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:56.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:56.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:56.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:56.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80621257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967172345896033, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5706436, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59041, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5462614185962, telescope_dec_j2k=-24.1436032664713, observability=1)
2025-11-03T09:20:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:57
2025-11-03T09:20:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5769736766815186s
2025-11-03T09:20:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5769736766815186
2025-11-03T09:20:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:57
2025-11-03T09:20:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5986878871917725s
2025-11-03T09:20:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5986878871917725
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1493637561798096s
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.570979;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59075;2460982.80622611;9.34941389;1.3;_
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.570979;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59075;2460982.80622611;9.34941389;1.3;_
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:57.937 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.570979, teldec = -24.25662
2025-11-03T09:20:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.570979 -24.25662
2025-11-03T09:20:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.570979 -24.25662
2025-11-03T09:20:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.570979 -24.25662
2025-11-03T09:20:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.570979;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59075;2460982.80622613;9.34941389;1.3;_14.5465965196532 -24.1436107622484
2025-11-03T09:20:57.938 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.5465965196532     dec_j2k = -24.1436107622484
2025-11-03T09:20:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967169538060036;171.162357330327;_
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967169538060036;171.162357330327;_
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35791)
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:57.947 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:57.954 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:57.955 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80622611, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967169538060036, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.570979, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59075, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5465965196532, telescope_dec_j2k=-24.1436107622484, observability=1)
2025-11-03T09:20:58.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:58
2025-11-03T09:20:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8111560344696045s
2025-11-03T09:20:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8111560344696045
2025-11-03T09:20:59.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:59
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4092037677764893s
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:20:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5713622;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59113;2460982.80624265;9.34979611;1.3;_
2025-11-03T09:20:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5713622;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59113;2460982.80624265;9.34979611;1.3;_
2025-11-03T09:20:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:20:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:20:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:20:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:20:59.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5713622, teldec = -24.25662
2025-11-03T09:20:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5713622 -24.25662
2025-11-03T09:20:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5713622 -24.25662
2025-11-03T09:20:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5713622 -24.25662
2025-11-03T09:20:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5713622;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59113;2460982.80624269;9.34979611;1.3;_14.5469793781266 -24.1436193273771
2025-11-03T09:20:59.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5469793781266     dec_j2k = -24.1436193273771
2025-11-03T09:20:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:20:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:20:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967169538060036;171.162357330327;_
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967169538060036;171.162357330327;_
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:20:59.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:20:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:20:59.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60131)
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:20:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:20:59.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:20:59.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80624265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967169538060036, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5713622, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59113, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5469793781266, telescope_dec_j2k=-24.1436193273771, observability=1)
2025-11-03T09:20:59.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:20:59
2025-11-03T09:20:59.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:20:59.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022854328155517578s
2025-11-03T09:20:59.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022854328155517578
2025-11-03T09:21:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:00
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3789787292480469s
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5717544;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59152;2460982.80625882;9.35018722;1.3;_
2025-11-03T09:21:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5717544;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59152;2460982.80625882;9.35018722;1.3;_
2025-11-03T09:21:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5717544, teldec = -24.25662
2025-11-03T09:21:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5717544 -24.25662
2025-11-03T09:21:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5717544 -24.25662
2025-11-03T09:21:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5717544 -24.25662
2025-11-03T09:21:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5717544;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59152;2460982.80625884;9.35018722;1.3;_14.5473712286018 -24.1436280948633
2025-11-03T09:21:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5473712286018     dec_j2k = -24.1436280948633
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967175153732029;171.162357330327;_
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967175153732029;171.162357330327;_
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48735)
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:00.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80625882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967175153732029, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5717544, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59152, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5473712286018, telescope_dec_j2k=-24.1436280948633, observability=1)
2025-11-03T09:21:01.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:01
2025-11-03T09:21:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5892245769500732s
2025-11-03T09:21:01.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5892245769500732
2025-11-03T09:21:01.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:01
2025-11-03T09:21:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6133062839508057s
2025-11-03T09:21:01.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6133062839508057
2025-11-03T09:21:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:02
2025-11-03T09:21:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809625148773193s
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:02.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:02.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5723148;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59208;2460982.80628194;9.35074611;1.3;_
2025-11-03T09:21:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5723148;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59208;2460982.80628194;9.35074611;1.3;_
2025-11-03T09:21:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:02.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5723148, teldec = -24.25662
2025-11-03T09:21:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5723148 -24.25662
2025-11-03T09:21:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5723148 -24.25662
2025-11-03T09:21:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5723148 -24.25662
2025-11-03T09:21:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5723148;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59208;2460982.80628198;9.35074611;1.3;_14.5479311292191 -24.1436406244926
2025-11-03T09:21:02.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5479311292191     dec_j2k = -24.1436406244926
2025-11-03T09:21:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967176758209741;171.162351965909;_
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967176758209741;171.162351965909;_
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37767)
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:02.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:02.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:02.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80628194, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967176758209741, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5723148, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59208, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5479311292191, telescope_dec_j2k=-24.1436406244926, observability=1)
2025-11-03T09:21:03.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:03
2025-11-03T09:21:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5822069644927979s
2025-11-03T09:21:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5822069644927979
2025-11-03T09:21:03.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:03
2025-11-03T09:21:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6069142818450928s
2025-11-03T09:21:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6069142818450928
2025-11-03T09:21:04.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:04
2025-11-03T09:21:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979332685470581s
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5728744;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59264;2460982.80630509;9.35130417;1.3;_
2025-11-03T09:21:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5728744;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59264;2460982.80630509;9.35130417;1.3;_
2025-11-03T09:21:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:04.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5728744, teldec = -24.25662
2025-11-03T09:21:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5728744 -24.25662
2025-11-03T09:21:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5728744 -24.25662
2025-11-03T09:21:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5728744 -24.25662
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5728744;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59264;2460982.80630513;9.35130417;1.3;_14.5484902305967 -24.1436531386938
2025-11-03T09:21:04.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5484902305967     dec_j2k = -24.1436531386938
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967181571642878;171.162346601491;_
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967181571642878;171.162346601491;_
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:04.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50669)
2025-11-03T09:21:04.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:04.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:04.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:04.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80630509, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967181571642878, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5728744, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59264, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5484902305967, telescope_dec_j2k=-24.1436531386938, observability=1)
2025-11-03T09:21:05.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:05
2025-11-03T09:21:05.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:05.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5918962955474854s
2025-11-03T09:21:05.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5918962955474854
2025-11-03T09:21:05.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:05
2025-11-03T09:21:05.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:05.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6139254570007324s
2025-11-03T09:21:05.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6139254570007324
2025-11-03T09:21:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:06
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9864590167999268s
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5734254;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59319;2460982.80632826;9.35185361;1.3;_
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5734254;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59319;2460982.80632826;9.35185361;1.3;_
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5734254, teldec = -24.25662
2025-11-03T09:21:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5734254 -24.25662
2025-11-03T09:21:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5734254 -24.25662
2025-11-03T09:21:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5734254 -24.25662
2025-11-03T09:21:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5734254;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59319;2460982.80632829;9.35185361;1.3;_14.5490407396833 -24.1436654629754
2025-11-03T09:21:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5490407396833     dec_j2k = -24.1436654629754
2025-11-03T09:21:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967176758209741;171.162357330327;_
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967176758209741;171.162357330327;_
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42263)
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:06.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80632826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967176758209741, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5734254, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59319, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5490407396833, telescope_dec_j2k=-24.1436654629754, observability=1)
2025-11-03T09:21:06.956 [DEBUG] [Thread-88619 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:06.956 [DEBUG] [Thread-88619 (handle)] [server.py] [get_status()] Status age = 0.17768096923828125s
2025-11-03T09:21:06.956 [DEBUG] [Thread-88619 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17768096923828125
2025-11-03T09:21:08.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:08
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9906268119812012s
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5739864;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59375;2460982.80635152;9.35241306;1.3;_
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5739864;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59375;2460982.80635152;9.35241306;1.3;_
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:08.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5739864, teldec = -24.25662
2025-11-03T09:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5739864 -24.25662
2025-11-03T09:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5739864 -24.25662
2025-11-03T09:21:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5739864 -24.25662
2025-11-03T09:21:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5739864;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59375;2460982.80635154;9.35241306;1.3;_14.5496012399076 -24.1436780133747
2025-11-03T09:21:08.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5496012399076     dec_j2k = -24.1436780133747
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967177159329169;171.162357330327;_
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967177159329169;171.162357330327;_
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50383)
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:08.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:08.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:08.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80635152, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967177159329169, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5739864, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59375, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5496012399076, telescope_dec_j2k=-24.1436780133747, observability=1)
2025-11-03T09:21:09.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:09
2025-11-03T09:21:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.661513090133667s
2025-11-03T09:21:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.661513090133667
2025-11-03T09:21:09.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:09
2025-11-03T09:21:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6905052661895752s
2025-11-03T09:21:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6905052661895752
2025-11-03T09:21:10.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:10
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.970698356628418s
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:10.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:10.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5745462;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59431;2460982.80637451;9.35297139;1.3;_
2025-11-03T09:21:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5745462;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59431;2460982.80637451;9.35297139;1.3;_
2025-11-03T09:21:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:10.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5745462, teldec = -24.25662
2025-11-03T09:21:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5745462 -24.25662
2025-11-03T09:21:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5745462 -24.25662
2025-11-03T09:21:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5745462 -24.25662
2025-11-03T09:21:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5745462;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59431;2460982.80637454;9.35297139;1.3;_14.5501605412484 -24.1436905393885
2025-11-03T09:21:10.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5501605412484     dec_j2k = -24.1436905393885
2025-11-03T09:21:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967180368284594;171.162357330327;_
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967180368284594;171.162357330327;_
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45159)
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:10.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80637451, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967180368284594, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5745462, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59431, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5501605412484, telescope_dec_j2k=-24.1436905393885, observability=1)
2025-11-03T09:21:11.237 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:21:11
2025-11-03T09:21:11.237 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:11.237 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.46399784088134766s
2025-11-03T09:21:11.237 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46399784088134766
2025-11-03T09:21:11.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:11
2025-11-03T09:21:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5883026123046875s
2025-11-03T09:21:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5883026123046875
2025-11-03T09:21:11.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:11
2025-11-03T09:21:11.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:11.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6093459129333496s
2025-11-03T09:21:11.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6093459129333496
2025-11-03T09:21:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:12
2025-11-03T09:21:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9885170459747314s
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5750969;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59486;2460982.80639772;9.35352056;1.3;_
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5750969;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59486;2460982.80639772;9.35352056;1.3;_
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5750969, teldec = -24.25662
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5750969 -24.25662
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5750969 -24.25662
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5750969 -24.25662
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5750969;-24.25662;50.108588;89.993053;50.08601;90.12017;11.59486;2460982.80639774;9.35352056;1.3;_14.5507107507414 -24.1437028641798
2025-11-03T09:21:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5507107507414     dec_j2k = -24.1437028641798
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967180368284594;171.162357330327;_
2025-11-03T09:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967180368284594;171.162357330327;_
2025-11-03T09:21:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59829)
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:12.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:12.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:12.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:12.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:12.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80639772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967180368284594, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5750969, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59486, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:20:13.704646', telescope_ra_j2k=14.5507107507414, telescope_dec_j2k=-24.1437028641798, observability=1)
2025-11-03T09:21:13.847 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:13.847 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:13.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:13.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:13.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:13.848 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:13.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:13.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:13.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:13.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:13.849 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:21:13.850 [INFO] [ThreadPoolExecutor-3397_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:21:13.850 [INFO] [ThreadPoolExecutor-3397_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.9597992897033691s
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:14.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:14.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:14.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:14.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5756295;-24.25662;50.108588;89.993053;50.08601;90.12017;11.5954;2460982.80642059;9.35405167;1.3;_
2025-11-03T09:21:14.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.5756295;-24.25662;50.108588;89.993053;50.08601;90.12017;11.5954;2460982.80642059;9.35405167;1.3;_
2025-11-03T09:21:14.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:14.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:14.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:14.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:14.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:14.741 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.5756295, teldec = -24.25662
2025-11-03T09:21:14.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.5756295 -24.25662
2025-11-03T09:21:14.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.5756295 -24.25662
2025-11-03T09:21:14.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5756295 -24.25662
2025-11-03T09:21:14.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.5756576;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59543;2460982.80642063;9.35407972;1.3;_14.5512428763998 -24.143714786151
2025-11-03T09:21:14.742 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.5512428763998     dec_j2k = -24.143714786151
2025-11-03T09:21:14.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:14.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:14.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967180769404022;171.162351965909;_
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967180769404022;171.162351965909;_
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:14.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:14.744 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:14.745 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:14.745 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:14.745 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44825)
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:14.746 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:14.753 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:21:14.753 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80642059, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967180769404022, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108588, telescope_az=89.993053, telescope_ra=14.5756295, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.5954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5512428763998, telescope_dec_j2k=-24.143714786151, observability=1)
2025-11-03T09:21:14.754 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5166780948638916 seconds ago
2025-11-03T09:21:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:14
2025-11-03T09:21:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.008836507797241211s
2025-11-03T09:21:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008836507797241211
2025-11-03T09:21:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:16
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0273399353027344s
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5762175;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59599;2460982.80644425;9.35463806;1.3;_
2025-11-03T09:21:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5762175;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59599;2460982.80644425;9.35463806;1.3;_
2025-11-03T09:21:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:16.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5762175, teldec = -24.25662
2025-11-03T09:21:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5762175 -24.25662
2025-11-03T09:21:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5762175 -24.25662
2025-11-03T09:21:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5762175 -24.25662
2025-11-03T09:21:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5762175;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59599;2460982.80644427;9.35463806;1.3;_14.5518303527678 -24.143727950805
2025-11-03T09:21:16.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5518303527678     dec_j2k = -24.143727950805
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967181972762306;171.162357330327;_
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967181972762306;171.162357330327;_
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51429)
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:16.800 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:16.800 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:16.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:16.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:16.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:16.801 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:16.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:16.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80644425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967181972762306, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5762175, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59599, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5518303527678, telescope_dec_j2k=-24.143727950805, observability=1)
2025-11-03T09:21:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:18
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9618587493896484s
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5767679;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59654;2460982.80646719;9.35518694;1.3;_
2025-11-03T09:21:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5767679;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59654;2460982.80646719;9.35518694;1.3;_
2025-11-03T09:21:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:18.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5767679, teldec = -24.25662
2025-11-03T09:21:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5767679 -24.25662
2025-11-03T09:21:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5767679 -24.25662
2025-11-03T09:21:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5767679 -24.25662
2025-11-03T09:21:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5767679;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59654;2460982.80646721;9.35518694;1.3;_14.5523802626672 -24.1437402760937
2025-11-03T09:21:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5523802626672     dec_j2k = -24.1437402760937
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967183978359446;171.162362694745;_
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967183978359446;171.162362694745;_
2025-11-03T09:21:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52155)
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:18.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:18.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80646719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967183978359446, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5767679, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59654, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5523802626672, telescope_dec_j2k=-24.1437402760937, observability=1)
2025-11-03T09:21:19.063 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:19
2025-11-03T09:21:19.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:19.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28656959533691406s
2025-11-03T09:21:19.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28656959533691406
2025-11-03T09:21:19.085 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:19
2025-11-03T09:21:19.085 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:19.085 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3079195022583008s
2025-11-03T09:21:19.085 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3079195022583008
2025-11-03T09:21:20.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:20
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5847959518432617s
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5772166;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59698;2460982.80648569;9.35563444;1.3;_
2025-11-03T09:21:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5772166;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59698;2460982.80648569;9.35563444;1.3;_
2025-11-03T09:21:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5772166, teldec = -24.25662
2025-11-03T09:21:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5772166 -24.25662
2025-11-03T09:21:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5772166 -24.25662
2025-11-03T09:21:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5772166 -24.25662
2025-11-03T09:21:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5772166;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59698;2460982.80648572;9.35563444;1.3;_14.5528285631588 -24.1437503257376
2025-11-03T09:21:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5528285631588     dec_j2k = -24.1437503257376
2025-11-03T09:21:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967185983956587;171.162357330327;_
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967185983956587;171.162357330327;_
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59011)
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:20.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:20.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80648569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967185983956587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5772166, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59698, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5528285631588, telescope_dec_j2k=-24.1437503257376, observability=1)
2025-11-03T09:21:20.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:20
2025-11-03T09:21:20.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:20.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021960973739624023s
2025-11-03T09:21:20.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021960973739624023
2025-11-03T09:21:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:20
2025-11-03T09:21:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795204162597656s
2025-11-03T09:21:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795204162597656
2025-11-03T09:21:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:22
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836053848266602s
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.577777;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59754;2460982.80650883;9.35619333;1.3;_
2025-11-03T09:21:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.577777;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59754;2460982.80650883;9.35619333;1.3;_
2025-11-03T09:21:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.577777, teldec = -24.25662
2025-11-03T09:21:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.577777 -24.25662
2025-11-03T09:21:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.577777 -24.25662
2025-11-03T09:21:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.577777 -24.25662
2025-11-03T09:21:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.577777;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59754;2460982.80650887;9.35619333;1.3;_14.5533884642389 -24.14376287937
2025-11-03T09:21:22.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5533884642389     dec_j2k = -24.14376287937
2025-11-03T09:21:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967185181717731;171.162346601491;_
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967185181717731;171.162346601491;_
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44425)
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:22.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:22.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80650883, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967185181717731, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.577777, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59754, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5533884642389, telescope_dec_j2k=-24.14376287937, observability=1)
2025-11-03T09:21:22.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:22
2025-11-03T09:21:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023418664932250977s
2025-11-03T09:21:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023418664932250977
2025-11-03T09:21:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:22
2025-11-03T09:21:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37762951850891113s
2025-11-03T09:21:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37762951850891113
2025-11-03T09:21:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:24
2025-11-03T09:21:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800798892974854s
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5783274;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59809;2460982.80653199;9.35674222;1.3;_
2025-11-03T09:21:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5783274;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59809;2460982.80653199;9.35674222;1.3;_
2025-11-03T09:21:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5783274, teldec = -24.25662
2025-11-03T09:21:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5783274 -24.25662
2025-11-03T09:21:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5783274 -24.25662
2025-11-03T09:21:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5783274 -24.25662
2025-11-03T09:21:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5783274;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59809;2460982.80653201;9.35674222;1.3;_14.5539383742682 -24.1437752113861
2025-11-03T09:21:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5539383742682     dec_j2k = -24.1437752113861
2025-11-03T09:21:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967183978359446;171.162368059163;_
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967183978359446;171.162368059163;_
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49297)
2025-11-03T09:21:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80653199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967183978359446, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5783274, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59809, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5539383742682, telescope_dec_j2k=-24.1437752113861, observability=1)
2025-11-03T09:21:24.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:24
2025-11-03T09:21:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023429155349731445s
2025-11-03T09:21:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023429155349731445
2025-11-03T09:21:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:24
2025-11-03T09:21:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3825047016143799s
2025-11-03T09:21:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3825047016143799
2025-11-03T09:21:25.036 [DEBUG] [Thread-88620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:25.037 [DEBUG] [Thread-88620 (handle)] [server.py] [get_status()] Status age = 0.6552598476409912s
2025-11-03T09:21:25.037 [DEBUG] [Thread-88620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6552598476409912
2025-11-03T09:21:26.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:26
2025-11-03T09:21:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9862451553344727s
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5788881;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59866;2460982.8065552;9.35730139;1.3;_
2025-11-03T09:21:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5788881;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59866;2460982.8065552;9.35730139;1.3;_
2025-11-03T09:21:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:26.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5788881, teldec = -24.25662
2025-11-03T09:21:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5788881 -24.25662
2025-11-03T09:21:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5788881 -24.25662
2025-11-03T09:21:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5788881 -24.25662
2025-11-03T09:21:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5788881;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59866;2460982.80655522;9.35730139;1.3;_14.5544985751755 -24.1437877766203
2025-11-03T09:21:26.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5544985751755     dec_j2k = -24.1437877766203
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967182775001162;171.162346601491;_
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967182775001162;171.162346601491;_
2025-11-03T09:21:26.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:26.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:26.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:26.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:26.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:26.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:26.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:26.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37435)
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:26.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:26.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:26.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8065552, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967182775001162, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5788881, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59866, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5544985751755, telescope_dec_j2k=-24.1437877766203, observability=1)
2025-11-03T09:21:26.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:26
2025-11-03T09:21:26.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:26.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028881072998046875s
2025-11-03T09:21:26.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028881072998046875
2025-11-03T09:21:26.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:26
2025-11-03T09:21:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37549686431884766s
2025-11-03T09:21:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37549686431884766
2025-11-03T09:21:28.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:28
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.373347282409668s
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5795608;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59933;2460982.80658288;9.35797222;1.3;_
2025-11-03T09:21:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5795608;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59933;2460982.80658288;9.35797222;1.3;_
2025-11-03T09:21:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:28.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5795608, teldec = -24.25662
2025-11-03T09:21:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5795608 -24.25662
2025-11-03T09:21:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5795608 -24.25662
2025-11-03T09:21:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5795608 -24.25662
2025-11-03T09:21:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5795608;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59933;2460982.8065829;9.35797222;1.3;_14.5551706764518 -24.1438028550144
2025-11-03T09:21:28.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5551706764518     dec_j2k = -24.1438028550144
2025-11-03T09:21:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967188791792583;171.162351965909;_
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967188791792583;171.162351965909;_
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43031)
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:28.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:28.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:28.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80658288, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967188791792583, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5795608, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59933, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5551706764518, telescope_dec_j2k=-24.1438028550144, observability=1)
2025-11-03T09:21:29.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:29
2025-11-03T09:21:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6672499179840088s
2025-11-03T09:21:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6672499179840088
2025-11-03T09:21:29.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:29
2025-11-03T09:21:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6884334087371826s
2025-11-03T09:21:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6884334087371826
2025-11-03T09:21:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:30
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809935092926025s
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5801112;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59988;2460982.80660604;9.35852111;1.3;_
2025-11-03T09:21:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5801112;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59988;2460982.80660604;9.35852111;1.3;_
2025-11-03T09:21:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:30.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5801112, teldec = -24.25662
2025-11-03T09:21:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5801112 -24.25662
2025-11-03T09:21:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5801112 -24.25662
2025-11-03T09:21:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5801112 -24.25662
2025-11-03T09:21:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5801112;-24.25662;50.108587;89.993053;50.08601;90.12017;11.59988;2460982.80660606;9.35852111;1.3;_14.5557205866298 -24.1438151947231
2025-11-03T09:21:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5557205866298     dec_j2k = -24.1438151947231
2025-11-03T09:21:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967191198509151;171.162357330327;_
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967191198509151;171.162357330327;_
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:30.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56331)
2025-11-03T09:21:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:30.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:30.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80660604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967191198509151, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5801112, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.59988, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5557205866298, telescope_dec_j2k=-24.1438151947231, observability=1)
2025-11-03T09:21:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:32
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821264743804932s
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.580671;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60044;2460982.80662922;9.35907944;1.3;_
2025-11-03T09:21:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.580671;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60044;2460982.80662922;9.35907944;1.3;_
2025-11-03T09:21:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.580671, teldec = -24.25662
2025-11-03T09:21:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.580671 -24.25662
2025-11-03T09:21:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.580671 -24.25662
2025-11-03T09:21:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.580671 -24.25662
2025-11-03T09:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.580671;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60044;2460982.80662925;9.35907944;1.3;_14.5562798884895 -24.1438277476095
2025-11-03T09:21:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5562798884895     dec_j2k = -24.1438277476095
2025-11-03T09:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967193204106292;171.162357330327;_
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967193204106292;171.162357330327;_
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42775)
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:32.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80662922, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967193204106292, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.580671, telescope_dec=-24.25662, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60044, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5562798884895, telescope_dec_j2k=-24.1438277476095, observability=1)
2025-11-03T09:21:34.729 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.729 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.729 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:34.729 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:34.729 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:21:34.730 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:34.731 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:34.732 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.733 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.734 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:21:34.734 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:21:34.734 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:21:34.736 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:34
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9537220001220703s
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:34.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:34.736 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.737 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:34.737 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Park
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:21:34.737 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:34.738 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 29;14.5812036;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60097;2460982.80665206;9.35961056;1.3;_Park Command Successful
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:34.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:34.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.5812036;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60097;2460982.80665207;9.35961056;1.3;_
2025-11-03T09:21:34.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 29;14.5812036;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60097;2460982.80665207;9.35961056;1.3;_
2025-11-03T09:21:34.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:34.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:34.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:34.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:34.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:34.740 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5812036, teldec = -24.25662
2025-11-03T09:21:34.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5812036 -24.25662
2025-11-03T09:21:34.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5812036 -24.25662
2025-11-03T09:21:34.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5812036 -24.25662
2025-11-03T09:21:34.741 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;14.5812036;-24.25662;50.108587;89.993053;50.08601;90.12017;11.60097;2460982.80665209;9.35961056;1.3;_14.5568120145973 -24.143839692845
2025-11-03T09:21:34.741 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5568120145973     dec_j2k = -24.143839692845
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967195209703432;171.162351965909;_
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967195209703432;171.162351965909;_
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:34.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:34.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:34.744 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:34.744 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:34.744 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43513)
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:34.751 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:34.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:34.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80665207, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967195209703432, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5812036, telescope_dec=-24.25662, telescope_slewing=True, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60097, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5568120145973, telescope_dec_j2k=-24.143839692845, observability=1)
2025-11-03T09:21:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:34
2025-11-03T09:21:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0061798095703125s
2025-11-03T09:21:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0061798095703125
2025-11-03T09:21:34.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:34
2025-11-03T09:21:34.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:34.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0224153995513916s
2025-11-03T09:21:34.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0224153995513916
2025-11-03T09:21:35.738 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:21:35.738 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:21:35.738 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:21:35.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:21:35.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:21:36.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:21:36.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:21:36.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:21:36.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:21:36.739 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:21:37.740 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:21:37.740 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:21:37.740 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:21:37.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:21:37.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:21:38.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:21:38.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:21:38.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:21:38.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:21:38.741 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:38.742 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:21:38.743 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:39.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:39
2025-11-03T09:21:39.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:39.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 4.680992841720581s
2025-11-03T09:21:39.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:39.439 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:39.439 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:39.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:39.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:39.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5825105;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60228;2460982.80670649;9.36091389;1.3;_
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5825105;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60228;2460982.80670649;9.36091389;1.3;_
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:39.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:39.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:39.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:39.443 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5825105, teldec = -24.256619
2025-11-03T09:21:39.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5825105 -24.256619
2025-11-03T09:21:39.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5825105 -24.256619
2025-11-03T09:21:39.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5825105 -24.256619
2025-11-03T09:21:39.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5825105;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60228;2460982.80670653;9.36091389;1.3;_14.5581177520573 -24.1438680136199
2025-11-03T09:21:39.444 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5581177520573     dec_j2k = -24.1438680136199
2025-11-03T09:21:39.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:39.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:39.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967196814181144;171.162357330327;_
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967196814181144;171.162357330327;_
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:39.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:39.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:39.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:39.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:39.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:39.450 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39889)
2025-11-03T09:21:39.450 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:39.450 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:39.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:39.451 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:39.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:39.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:39.458 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80670649, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967196814181144, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5825105, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60228, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5581177520573, telescope_dec_j2k=-24.1438680136199, observability=1)
2025-11-03T09:21:39.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:39
2025-11-03T09:21:39.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:39.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.006163835525512695s
2025-11-03T09:21:39.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.006163835525512695
2025-11-03T09:21:39.479 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:39
2025-11-03T09:21:39.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:39.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021364212036132812s
2025-11-03T09:21:39.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021364212036132812
2025-11-03T09:21:39.744 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:39.744 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:39.744 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:39.744 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:39.744 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:21:39.745 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:21:39.746 [DEBUG] [ThreadPoolExecutor-3396_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:39.746 [INFO] [ThreadPoolExecutor-3396_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:21:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:40
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3038914203643799s
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5829027;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60267;2460982.80672179;9.361305;1.3;_
2025-11-03T09:21:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5829027;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60267;2460982.80672179;9.361305;1.3;_
2025-11-03T09:21:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5829027, teldec = -24.256619
2025-11-03T09:21:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5829027 -24.256619
2025-11-03T09:21:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5829027 -24.256619
2025-11-03T09:21:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5829027 -24.256619
2025-11-03T09:21:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5829027;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60267;2460982.80672183;9.361305;1.3;_14.5585096031942 -24.1438768153763
2025-11-03T09:21:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5585096031942     dec_j2k = -24.1438768153763
2025-11-03T09:21:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967198017539428;171.162362694745;_
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967198017539428;171.162362694745;_
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50969)
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:40.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:40.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:40.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:40.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:40.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80672179, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967198017539428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5829027, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60267, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5585096031942, telescope_dec_j2k=-24.1438768153763, observability=1)
2025-11-03T09:21:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:42
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799954891204834s
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5834626;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60323;2460982.80674493;9.36186333;1.3;_
2025-11-03T09:21:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5834626;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60323;2460982.80674493;9.36186333;1.3;_
2025-11-03T09:21:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5834626, teldec = -24.256619
2025-11-03T09:21:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5834626 -24.256619
2025-11-03T09:21:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5834626 -24.256619
2025-11-03T09:21:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5834626 -24.256619
2025-11-03T09:21:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5834626;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60323;2460982.80674495;9.36186333;1.3;_14.5590690052019 -24.1438893827445
2025-11-03T09:21:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5590690052019     dec_j2k = -24.1438893827445
2025-11-03T09:21:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967200023136569;171.162362694745;_
2025-11-03T09:21:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967200023136569;171.162362694745;_
2025-11-03T09:21:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55867)
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80674493, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967200023136569, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5834626, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60323, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5590690052019, telescope_dec_j2k=-24.1438893827445, observability=1)
2025-11-03T09:21:43.187 [DEBUG] [Thread-88621 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:43.187 [DEBUG] [Thread-88621 (handle)] [server.py] [get_status()] Status age = 0.40608954429626465s
2025-11-03T09:21:43.187 [DEBUG] [Thread-88621 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40608954429626465
2025-11-03T09:21:43.485 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:43.485 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.7041418552398682s
2025-11-03T09:21:43.485 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7041418552398682
2025-11-03T09:21:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:44
2025-11-03T09:21:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781794548034668s
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5840132;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60378;2460982.80676808;9.3624125;1.3;_
2025-11-03T09:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5840132;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60378;2460982.80676808;9.3624125;1.3;_
2025-11-03T09:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5840132, teldec = -24.256619
2025-11-03T09:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5840132 -24.256619
2025-11-03T09:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5840132 -24.256619
2025-11-03T09:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5840132 -24.256619
2025-11-03T09:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5840132;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60378;2460982.8067681;9.3624125;1.3;_14.5596191155277 -24.1439017437606
2025-11-03T09:21:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5596191155277     dec_j2k = -24.1439017437606
2025-11-03T09:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967199220897712;171.162362694745;_
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967199220897712;171.162362694745;_
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58293)
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:44.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:44.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:44.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:44.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80676808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967199220897712, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5840132, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60378, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5596191155277, telescope_dec_j2k=-24.1439017437606, observability=1)
2025-11-03T09:21:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:46
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9850692749023438s
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5845737;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60434;2460982.80679126;9.36297139;1.3;_
2025-11-03T09:21:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5845737;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60434;2460982.80679126;9.36297139;1.3;_
2025-11-03T09:21:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5845737, teldec = -24.256619
2025-11-03T09:21:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5845737 -24.256619
2025-11-03T09:21:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5845737 -24.256619
2025-11-03T09:21:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5845737 -24.256619
2025-11-03T09:21:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5845737;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60434;2460982.80679128;9.36297139;1.3;_14.5601791170962 -24.1439143294699
2025-11-03T09:21:46.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5601791170962     dec_j2k = -24.1439143294699
2025-11-03T09:21:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967196814181144;171.162362694745;_
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967196814181144;171.162362694745;_
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39283)
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:46.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80679126, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967196814181144, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5845737, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60434, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5601791170962, telescope_dec_j2k=-24.1439143294699, observability=1)
2025-11-03T09:21:47.580 [DEBUG] [Thread-88622 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:47.580 [DEBUG] [Thread-88622 (handle)] [server.py] [get_status()] Status age = 0.7999541759490967s
2025-11-03T09:21:47.580 [DEBUG] [Thread-88622 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7999541759490967
2025-11-03T09:21:48.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:48
2025-11-03T09:21:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.987891435623169s
2025-11-03T09:21:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5851335;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6049;2460982.80681448;9.36352972;1.3;_
2025-11-03T09:21:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5851335;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6049;2460982.80681448;9.36352972;1.3;_
2025-11-03T09:21:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:48.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5851335, teldec = -24.256619
2025-11-03T09:21:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5851335 -24.256619
2025-11-03T09:21:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5851335 -24.256619
2025-11-03T09:21:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5851335 -24.256619
2025-11-03T09:21:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5851335;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6049;2460982.8068145;9.36352972;1.3;_14.5607384193348 -24.1439269019153
2025-11-03T09:21:48.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5607384193348     dec_j2k = -24.1439269019153
2025-11-03T09:21:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967200424255997;171.162362694745;_
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967200424255997;171.162362694745;_
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58217)
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:48.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:48.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80681448, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967200424255997, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5851335, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6049, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5607384193348, telescope_dec_j2k=-24.1439269019153, observability=1)
2025-11-03T09:21:49.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:49
2025-11-03T09:21:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6599233150482178s
2025-11-03T09:21:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6599233150482178
2025-11-03T09:21:49.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:49
2025-11-03T09:21:49.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:49.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6816143989562988s
2025-11-03T09:21:49.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6816143989562988
2025-11-03T09:21:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:50
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.970205545425415s
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5856839;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60545;2460982.80683751;9.36407861;1.3;_
2025-11-03T09:21:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5856839;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60545;2460982.80683751;9.36407861;1.3;_
2025-11-03T09:21:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5856839, teldec = -24.256619
2025-11-03T09:21:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5856839 -24.256619
2025-11-03T09:21:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5856839 -24.256619
2025-11-03T09:21:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5856839 -24.256619
2025-11-03T09:21:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5856839;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60545;2460982.80683755;9.36407861;1.3;_14.5612883299781 -24.1439392656387
2025-11-03T09:21:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5612883299781     dec_j2k = -24.1439392656387
2025-11-03T09:21:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967203232091993;171.162351965909;_
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967203232091993;171.162351965909;_
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47339)
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:50.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80683751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967203232091993, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5856839, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5612883299781, telescope_dec_j2k=-24.1439392656387, observability=1)
2025-11-03T09:21:50.807 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:50
2025-11-03T09:21:50.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:50.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02573418617248535s
2025-11-03T09:21:50.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02573418617248535
2025-11-03T09:21:50.829 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:50
2025-11-03T09:21:50.829 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:50.829 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04784440994262695s
2025-11-03T09:21:50.829 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04784440994262695
2025-11-03T09:21:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:52
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9766228199005127s
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5862441;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60601;2460982.80686065;9.36463722;1.3;_
2025-11-03T09:21:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5862441;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60601;2460982.80686065;9.36463722;1.3;_
2025-11-03T09:21:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5862441, teldec = -24.256619
2025-11-03T09:21:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5862441 -24.256619
2025-11-03T09:21:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5862441 -24.256619
2025-11-03T09:21:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5862441 -24.256619
2025-11-03T09:21:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5862441;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60601;2460982.80686067;9.36463722;1.3;_14.5618480319554 -24.1439518519352
2025-11-03T09:21:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5618480319554     dec_j2k = -24.1439518519352
2025-11-03T09:21:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967199622017141;171.162351965909;_
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967199622017141;171.162351965909;_
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33881)
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:52.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:52.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80686065, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967199622017141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5862441, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60601, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5618480319554, telescope_dec_j2k=-24.1439518519352, observability=1)
2025-11-03T09:21:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:54
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816646575927734s
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5868045;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60657;2460982.80688378;9.36519611;1.3;_
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5868045;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60657;2460982.80688378;9.36519611;1.3;_
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:54.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5868045, teldec = -24.256619
2025-11-03T09:21:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5868045 -24.256619
2025-11-03T09:21:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5868045 -24.256619
2025-11-03T09:21:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5868045 -24.256619
2025-11-03T09:21:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5868045;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60657;2460982.80688381;9.36519611;1.3;_14.5624079338027 -24.1439644451819
2025-11-03T09:21:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5624079338027     dec_j2k = -24.1439644451819
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967202028733709;171.162357330327;_
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967202028733709;171.162357330327;_
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38167)
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80688378, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967202028733709, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5868045, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60657, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5624079338027, telescope_dec_j2k=-24.1439644451819, observability=1)
2025-11-03T09:21:54.995 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:54
2025-11-03T09:21:54.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:54.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.216536283493042s
2025-11-03T09:21:54.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.216536283493042
2025-11-03T09:21:55.017 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:55
2025-11-03T09:21:55.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:55.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23857712745666504s
2025-11-03T09:21:55.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23857712745666504
2025-11-03T09:21:56.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:56
2025-11-03T09:21:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5817914009094238s
2025-11-03T09:21:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.587224;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60699;2460982.80690234;9.36561444;1.3;_
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.587224;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60699;2460982.80690234;9.36561444;1.3;_
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:56.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.587224, teldec = -24.256619
2025-11-03T09:21:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.587224 -24.256619
2025-11-03T09:21:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.587224 -24.256619
2025-11-03T09:21:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.587224 -24.256619
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.587224;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60699;2460982.80690236;9.36561444;1.3;_14.5628270609305 -24.1439738737474
2025-11-03T09:21:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5628270609305     dec_j2k = -24.1439738737474
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967204836569705;171.162357330327;_
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967204836569705;171.162357330327;_
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:21:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47235)
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:56.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:56.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80690234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967204836569705, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.587224, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60699, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5628270609305, telescope_dec_j2k=-24.1439738737474, observability=1)
2025-11-03T09:21:56.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:56
2025-11-03T09:21:56.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:56.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02190113067626953s
2025-11-03T09:21:56.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02190113067626953
2025-11-03T09:21:56.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:56
2025-11-03T09:21:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3819243907928467s
2025-11-03T09:21:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3819243907928467
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.6076507568359375s
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5876911;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60746;2460982.80692113;9.36608028;1.3;_
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.5876911;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60746;2460982.80692113;9.36608028;1.3;_
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:57.988 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.5876911, teldec = -24.256619
2025-11-03T09:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5876911 -24.256619
2025-11-03T09:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5876911 -24.256619
2025-11-03T09:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5876911 -24.256619
2025-11-03T09:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.5876911;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60746;2460982.80692117;9.36608028;1.3;_14.5632937457806 -24.1439843737769
2025-11-03T09:21:57.989 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.5632937457806     dec_j2k = -24.1439843737769
2025-11-03T09:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967201226494853;171.162351965909;_
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967201226494853;171.162351965909;_
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39397)
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:58.001 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:58.002 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80692113, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967201226494853, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5876911, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5632937457806, telescope_dec_j2k=-24.1439843737769, observability=1)
2025-11-03T09:21:58.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:58
2025-11-03T09:21:58.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:58.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7712945938110352s
2025-11-03T09:21:58.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7712945938110352
2025-11-03T09:21:59.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:59
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.446620225906372s
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:21:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:21:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:21:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5881114;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60788;2460982.80693808;9.36649944;1.3;_
2025-11-03T09:21:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5881114;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60788;2460982.80693808;9.36649944;1.3;_
2025-11-03T09:21:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:21:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:21:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:21:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:21:59.451 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5881114, teldec = -24.256619
2025-11-03T09:21:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5881114 -24.256619
2025-11-03T09:21:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5881114 -24.256619
2025-11-03T09:21:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5881114 -24.256619
2025-11-03T09:21:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5881114;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60788;2460982.8069381;9.36649944;1.3;_14.563713672254 -24.143993823239
2025-11-03T09:21:59.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.563713672254     dec_j2k = -24.143993823239
2025-11-03T09:21:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967202830972565;171.162362694745;_
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967202830972565;171.162362694745;_
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:59.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:59.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:59.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:59.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:59.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:21:59.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:21:59.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:21:59.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:59.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:21:59.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48989)
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:21:59.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:21:59.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:21:59.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80693808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967202830972565, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5881114, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60788, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.563713672254, telescope_dec_j2k=-24.143993823239, observability=1)
2025-11-03T09:21:59.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:21:59
2025-11-03T09:21:59.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:21:59.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02248692512512207s
2025-11-03T09:21:59.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02248692512512207
2025-11-03T09:22:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:00
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2925958633422852s
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5884757;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60824;2460982.80695326;9.36686278;1.3;_
2025-11-03T09:22:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5884757;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60824;2460982.80695326;9.36686278;1.3;_
2025-11-03T09:22:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5884757, teldec = -24.256619
2025-11-03T09:22:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5884757 -24.256619
2025-11-03T09:22:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5884757 -24.256619
2025-11-03T09:22:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5884757 -24.256619
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5884757;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60824;2460982.8069533;9.36686278;1.3;_14.5640776485171 -24.1440020147899
2025-11-03T09:22:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5640776485171     dec_j2k = -24.1440020147899
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967201226494853;171.162362694745;_
2025-11-03T09:22:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967201226494853;171.162362694745;_
2025-11-03T09:22:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42487)
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:00.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:00.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:00.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80695326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967201226494853, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5884757, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60824, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5640776485171, telescope_dec_j2k=-24.1440020147899, observability=1)
2025-11-03T09:22:01.254 [DEBUG] [Thread-88623 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:01.254 [DEBUG] [Thread-88623 (handle)] [server.py] [get_status()] Status age = 0.4780433177947998s
2025-11-03T09:22:01.254 [DEBUG] [Thread-88623 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4780433177947998
2025-11-03T09:22:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:02
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9933204650878906s
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5890072;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6088;2460982.80697653;9.36742083;1.3;_
2025-11-03T09:22:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5890072;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6088;2460982.80697653;9.36742083;1.3;_
2025-11-03T09:22:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:02.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5890072, teldec = -24.256619
2025-11-03T09:22:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5890072 -24.256619
2025-11-03T09:22:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5890072 -24.256619
2025-11-03T09:22:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5890072 -24.256619
2025-11-03T09:22:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5890353;-24.256619;50.108587;89.993053;50.08601;90.12017;11.6088;2460982.80697656;9.36742083;1.3;_14.5646086762334 -24.1440139678164
2025-11-03T09:22:02.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5646086762334     dec_j2k = -24.1440139678164
2025-11-03T09:22:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967198418658856;171.162351965909;_
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967198418658856;171.162351965909;_
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49471)
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:02.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:02.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80697653, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967198418658856, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5890072, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6088, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5646086762334, telescope_dec_j2k=-24.1440139678164, observability=1)
2025-11-03T09:22:03.994 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:03
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2058250904083252s
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:03.994 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:03.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:03.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5893623;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60913;2460982.80699069;9.36774694;1.3;_
2025-11-03T09:22:03.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5893623;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60913;2460982.80699069;9.36774694;1.3;_
2025-11-03T09:22:03.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:03.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:03.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:03.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:03.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:03.998 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5893623, teldec = -24.256619
2025-11-03T09:22:03.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5893623 -24.256619
2025-11-03T09:22:03.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5893623 -24.256619
2025-11-03T09:22:03.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5893623 -24.256619
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5893623;-24.256619;50.108587;89.993053;50.08601;90.12017;11.60913;2460982.80699072;9.36774694;1.3;_14.5649634607202 -24.1440219549734
2025-11-03T09:22:03.999 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5649634607202     dec_j2k = -24.1440219549734
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096720804552513;171.162362694745;_
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096720804552513;171.162362694745;_
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:03.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:04.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:04.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:04.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:04.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:04.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:04.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:04.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:04.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:04.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42599)
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:04.008 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:04.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:04.016 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:04.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:04.016 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80699069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096720804552513, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108587, telescope_az=89.993053, telescope_ra=14.5893623, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5649634607202, telescope_dec_j2k=-24.1440219549734, observability=1)
2025-11-03T09:22:04.037 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:04
2025-11-03T09:22:04.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:04.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02183818817138672s
2025-11-03T09:22:04.038 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02183818817138672
2025-11-03T09:22:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:04
2025-11-03T09:22:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7483129501342773s
2025-11-03T09:22:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7483129501342773
2025-11-03T09:22:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:06
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7429897785186768s
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.590147;-24.256619;50.108586;89.993053;50.08601;90.12017;11.60991;2460982.80702269;9.36852944;1.3;_
2025-11-03T09:22:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.590147;-24.256619;50.108586;89.993053;50.08601;90.12017;11.60991;2460982.80702269;9.36852944;1.3;_
2025-11-03T09:22:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.590147, teldec = -24.256619
2025-11-03T09:22:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.590147 -24.256619
2025-11-03T09:22:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.590147 -24.256619
2025-11-03T09:22:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.590147 -24.256619
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.590147;-24.256619;50.108586;89.993053;50.08601;90.12017;11.60991;2460982.80702271;9.36852944;1.3;_14.5657474635673 -24.14403960849
2025-11-03T09:22:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5657474635673     dec_j2k = -24.14403960849
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967207243286274;171.162357330327;_
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967207243286274;171.162357330327;_
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41439)
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:06.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80702269, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967207243286274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.590147, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.60991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5657474635673, telescope_dec_j2k=-24.14403960849, observability=1)
2025-11-03T09:22:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:08
2025-11-03T09:22:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982088565826416s
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5906787;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61045;2460982.80704587;9.36905972;1.3;_
2025-11-03T09:22:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5906787;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61045;2460982.80704587;9.36905972;1.3;_
2025-11-03T09:22:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:08.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5906787, teldec = -24.256619
2025-11-03T09:22:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5906787 -24.256619
2025-11-03T09:22:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5906787 -24.256619
2025-11-03T09:22:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5906787 -24.256619
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5907068;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61047;2460982.8070459;9.36908778;1.3;_14.566278691241 -24.1440515729627
2025-11-03T09:22:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.566278691241     dec_j2k = -24.1440515729627
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967207243286274;171.162346601491;_
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967207243286274;171.162346601491;_
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:08.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50261)
2025-11-03T09:22:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:08.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:08.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:08.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80704587, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967207243286274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5906787, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61045, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.566278691241, telescope_dec_j2k=-24.1440515729627, observability=1)
2025-11-03T09:22:09.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:09
2025-11-03T09:22:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6651883125305176s
2025-11-03T09:22:09.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6651883125305176
2025-11-03T09:22:09.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:09
2025-11-03T09:22:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6869845390319824s
2025-11-03T09:22:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6869845390319824
2025-11-03T09:22:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:10
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796597957611084s
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5912578;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61103;2460982.80706902;9.36963722;1.3;_
2025-11-03T09:22:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5912578;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61103;2460982.80706902;9.36963722;1.3;_
2025-11-03T09:22:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:10.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5912578, teldec = -24.256619
2025-11-03T09:22:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5912578 -24.256619
2025-11-03T09:22:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5912578 -24.256619
2025-11-03T09:22:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5912578 -24.256619
2025-11-03T09:22:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5912578;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61103;2460982.80706904;9.36963722;1.3;_14.5668572768567 -24.1440646065587
2025-11-03T09:22:10.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5668572768567     dec_j2k = -24.1440646065587
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967208446644558;171.162362694745;_
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967208446644558;171.162362694745;_
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39149)
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:10.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80706902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967208446644558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5912578, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61103, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5668572768567, telescope_dec_j2k=-24.1440646065587, observability=1)
2025-11-03T09:22:11.298 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:22:11
2025-11-03T09:22:11.298 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:11.298 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.5156199932098389s
2025-11-03T09:22:11.298 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5156199932098389
2025-11-03T09:22:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:12
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5805439949035645s
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5917073;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61147;2460982.80708756;9.37008556;1.3;_
2025-11-03T09:22:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5917073;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61147;2460982.80708756;9.37008556;1.3;_
2025-11-03T09:22:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5917073, teldec = -24.256619
2025-11-03T09:22:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5917073 -24.256619
2025-11-03T09:22:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5917073 -24.256619
2025-11-03T09:22:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5917073 -24.256619
2025-11-03T09:22:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5917073;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61147;2460982.80708758;9.37008556;1.3;_14.5673063776245 -24.1440747251009
2025-11-03T09:22:12.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5673063776245     dec_j2k = -24.1440747251009
2025-11-03T09:22:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967205237689133;171.162362694745;_
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967205237689133;171.162362694745;_
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41939)
2025-11-03T09:22:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:12.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:12.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80708756, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967205237689133, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5917073, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61147, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:21:13.846937', telescope_ra_j2k=14.5673063776245, telescope_dec_j2k=-24.1440747251009, observability=1)
2025-11-03T09:22:12.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:12
2025-11-03T09:22:12.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021443843841552734s
2025-11-03T09:22:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021443843841552734
2025-11-03T09:22:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:12
2025-11-03T09:22:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798947334289551s
2025-11-03T09:22:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798947334289551
2025-11-03T09:22:13.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:13.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:13.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:13.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:13.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:13.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:13.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:13.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:13.999 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:14.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:14.000 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:14.001 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:22:14.002 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:22:14.003 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:14
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.378781318664551s
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5923708;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61214;2460982.80711529;9.37074722;1.3;_
2025-11-03T09:22:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5923708;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61214;2460982.80711529;9.37074722;1.3;_
2025-11-03T09:22:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5923708, teldec = -24.256619
2025-11-03T09:22:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5923708 -24.256619
2025-11-03T09:22:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5923708 -24.256619
2025-11-03T09:22:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5923708 -24.256619
2025-11-03T09:22:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5923708;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61214;2460982.80711532;9.37074722;1.3;_14.5679692883802 -24.1440896638103
2025-11-03T09:22:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5679692883802     dec_j2k = -24.1440896638103
2025-11-03T09:22:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967207243286274;171.162357330327;_
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967207243286274;171.162357330327;_
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55289)
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:14.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:14.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80711529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967207243286274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5923708, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61214, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5679692883802, telescope_dec_j2k=-24.1440896638103, observability=1)
2025-11-03T09:22:14.814 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:22:14.814 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.03372597694396973s
2025-11-03T09:22:14.814 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.03372597694396973
2025-11-03T09:22:14.814 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.515880823135376 seconds ago
2025-11-03T09:22:15.003 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:15.003 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:15.003 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:15.003 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:15.003 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:22:15.004 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:15.005 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:15.006 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:15.006 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:15.006 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:15.006 [DEBUG] [ThreadPoolExecutor-3398_0] [payload.py] [to_registers()] [0]
2025-11-03T09:22:15.009 [DEBUG] [ThreadPoolExecutor-3398_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39949)
2025-11-03T09:22:15.010 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:15.010 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:15.010 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:22:15.010 [DEBUG] [ThreadPoolExecutor-3398_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:15.010 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:15.017 [DEBUG] [ThreadPoolExecutor-3398_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:16.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:16
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5836503505706787s
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5928198;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61259;2460982.80713387;9.371195;1.3;_
2025-11-03T09:22:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5928198;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61259;2460982.80713387;9.371195;1.3;_
2025-11-03T09:22:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:16.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5928198, teldec = -24.256619
2025-11-03T09:22:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5928198 -24.256619
2025-11-03T09:22:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5928198 -24.256619
2025-11-03T09:22:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5928198 -24.256619
2025-11-03T09:22:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5928198;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61259;2460982.80713389;9.371195;1.3;_14.5684178896681 -24.1440997750018
2025-11-03T09:22:16.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5684178896681     dec_j2k = -24.1440997750018
2025-11-03T09:22:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967215666794263;171.162362694745;_
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967215666794263;171.162362694745;_
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:16.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:16.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:16.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:16.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41953)
2025-11-03T09:22:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:16.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:16.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:16.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:16.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:16.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:16.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80713387, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967215666794263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5928198, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61259, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5684178896681, telescope_dec_j2k=-24.1440997750018, observability=1)
2025-11-03T09:22:16.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:16
2025-11-03T09:22:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022199392318725586s
2025-11-03T09:22:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022199392318725586
2025-11-03T09:22:16.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:16
2025-11-03T09:22:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38554954528808594s
2025-11-03T09:22:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38554954528808594
2025-11-03T09:22:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:18
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9752564430236816s
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5933529;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61312;2460982.80715698;9.37172667;1.3;_
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5933529;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61312;2460982.80715698;9.37172667;1.3;_
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5933529, teldec = -24.256619
2025-11-03T09:22:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5933529 -24.256619
2025-11-03T09:22:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5933529 -24.256619
2025-11-03T09:22:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5933529 -24.256619
2025-11-03T09:22:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5933529;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61312;2460982.807157;9.37172667;1.3;_14.5689505163152 -24.1441117821167
2025-11-03T09:22:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5689505163152     dec_j2k = -24.1441117821167
2025-11-03T09:22:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967209650002842;171.162351965909;_
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967209650002842;171.162351965909;_
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52147)
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80715698, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967209650002842, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5933529, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61312, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5689505163152, telescope_dec_j2k=-24.1441117821167, observability=1)
2025-11-03T09:22:18.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:18
2025-11-03T09:22:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022148847579956055s
2025-11-03T09:22:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022148847579956055
2025-11-03T09:22:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:18
2025-11-03T09:22:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38413548469543457s
2025-11-03T09:22:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38413548469543457
2025-11-03T09:22:19.329 [DEBUG] [Thread-88624 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:19.329 [DEBUG] [Thread-88624 (handle)] [server.py] [get_status()] Status age = 0.9504942893981934s
2025-11-03T09:22:19.329 [DEBUG] [Thread-88624 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9504942893981934
2025-11-03T09:22:20.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:20
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9837398529052734s
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5939329;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6137;2460982.80718014;9.372305;1.3;_
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5939329;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6137;2460982.80718014;9.372305;1.3;_
2025-11-03T09:22:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5939329, teldec = -24.256619
2025-11-03T09:22:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5939329 -24.256619
2025-11-03T09:22:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5939329 -24.256619
2025-11-03T09:22:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5939329 -24.256619
2025-11-03T09:22:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5939329;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6137;2460982.80718017;9.372305;1.3;_14.5695300013676 -24.1441248480915
2025-11-03T09:22:20.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5695300013676     dec_j2k = -24.1441248480915
2025-11-03T09:22:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967219276869115;171.162357330327;_
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967219276869115;171.162357330327;_
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38631)
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:20.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:20.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80718014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967219276869115, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5939329, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5695300013676, telescope_dec_j2k=-24.1441248480915, observability=1)
2025-11-03T09:22:20.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:20
2025-11-03T09:22:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022628307342529297s
2025-11-03T09:22:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022628307342529297
2025-11-03T09:22:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:20
2025-11-03T09:22:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37934041023254395s
2025-11-03T09:22:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37934041023254395
2025-11-03T09:22:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:22
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805798530578613s
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5944941;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61426;2460982.80720329;9.37286472;1.3;_
2025-11-03T09:22:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5944941;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61426;2460982.80720329;9.37286472;1.3;_
2025-11-03T09:22:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5944941, teldec = -24.256619
2025-11-03T09:22:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5944941 -24.256619
2025-11-03T09:22:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5944941 -24.256619
2025-11-03T09:22:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5944941 -24.256619
2025-11-03T09:22:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5944941;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61426;2460982.80720331;9.37286472;1.3;_14.5700907031603 -24.14413749305
2025-11-03T09:22:22.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5700907031603     dec_j2k = -24.14413749305
2025-11-03T09:22:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967209650002842;171.162351965909;_
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967209650002842;171.162351965909;_
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:22.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42029)
2025-11-03T09:22:22.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:22.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:22.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80720329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967209650002842, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5944941, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61426, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5700907031603, telescope_dec_j2k=-24.14413749305, observability=1)
2025-11-03T09:22:22.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:22
2025-11-03T09:22:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023955345153808594s
2025-11-03T09:22:22.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023955345153808594
2025-11-03T09:22:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:22
2025-11-03T09:22:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3812143802642822s
2025-11-03T09:22:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3812143802642822
2025-11-03T09:22:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:24
2025-11-03T09:22:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.37756085395813s
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5951579;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61493;2460982.80723103;9.37352667;1.3;_
2025-11-03T09:22:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5951579;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61493;2460982.80723103;9.37352667;1.3;_
2025-11-03T09:22:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5951579, teldec = -24.256619
2025-11-03T09:22:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5951579 -24.256619
2025-11-03T09:22:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5951579 -24.256619
2025-11-03T09:22:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5951579 -24.256619
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5951579;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61493;2460982.80723105;9.37352667;1.3;_14.5707539139314 -24.1441524529677
2025-11-03T09:22:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5707539139314     dec_j2k = -24.1441524529677
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967214062316551;171.162357330327;_
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967214062316551;171.162357330327;_
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42327)
2025-11-03T09:22:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:24.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:24.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:24.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80723103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967214062316551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5951579, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61493, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5707539139314, telescope_dec_j2k=-24.1441524529677, observability=1)
2025-11-03T09:22:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:26
2025-11-03T09:22:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9874770641326904s
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5957194;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61549;2460982.80725424;9.37408667;1.3;_
2025-11-03T09:22:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5957194;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61549;2460982.80725424;9.37408667;1.3;_
2025-11-03T09:22:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5957194, teldec = -24.256619
2025-11-03T09:22:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5957194 -24.256619
2025-11-03T09:22:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5957194 -24.256619
2025-11-03T09:22:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5957194 -24.256619
2025-11-03T09:22:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5957194;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61549;2460982.80725427;9.37408667;1.3;_14.5713149155626 -24.144165110059
2025-11-03T09:22:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5713149155626     dec_j2k = -24.144165110059
2025-11-03T09:22:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967213661197122;171.162346601491;_
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967213661197122;171.162346601491;_
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37279)
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:26.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80725424, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967213661197122, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5957194, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61549, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5713149155626, telescope_dec_j2k=-24.144165110059, observability=1)
2025-11-03T09:22:28.314 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:28
2025-11-03T09:22:28.314 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5321216583251953s
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:28.315 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:28.316 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:28.317 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5961397;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61591;2460982.80727219;9.37450583;1.3;_
2025-11-03T09:22:28.317 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5961397;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61591;2460982.80727219;9.37450583;1.3;_
2025-11-03T09:22:28.317 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:28.317 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:28.317 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:28.318 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:28.318 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:28.318 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5961397, teldec = -24.256619
2025-11-03T09:22:28.318 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5961397 -24.256619
2025-11-03T09:22:28.318 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5961397 -24.256619
2025-11-03T09:22:28.318 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5961397 -24.256619
2025-11-03T09:22:28.319 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5961397;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61591;2460982.80727221;9.37450583;1.3;_14.5717348425497 -24.144174585892
2025-11-03T09:22:28.319 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5717348425497     dec_j2k = -24.144174585892
2025-11-03T09:22:28.319 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:28.319 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:28.319 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967216067913691;171.162351965909;_
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967216067913691;171.162351965909;_
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:28.320 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:28.321 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36795)
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:28.325 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:28.332 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:28.332 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80727219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967216067913691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5961397, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5717348425497, telescope_dec_j2k=-24.144174585892, observability=1)
2025-11-03T09:22:28.353 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:28
2025-11-03T09:22:28.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:28.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021233797073364258s
2025-11-03T09:22:28.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021233797073364258
2025-11-03T09:22:28.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:28
2025-11-03T09:22:28.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:28.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46894407272338867s
2025-11-03T09:22:28.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46894407272338867
2025-11-03T09:22:29.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:29
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1114721298217773s
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:29.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:29.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:29.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5964665;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61623;2460982.80728525;9.37483167;1.3;_
2025-11-03T09:22:29.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5964665;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61623;2460982.80728525;9.37483167;1.3;_
2025-11-03T09:22:29.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:29.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:29.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:29.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:29.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:29.447 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5964665, teldec = -24.256619
2025-11-03T09:22:29.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5964665 -24.256619
2025-11-03T09:22:29.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5964665 -24.256619
2025-11-03T09:22:29.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5964665 -24.256619
2025-11-03T09:22:29.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5964665;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61623;2460982.80728528;9.37483167;1.3;_14.5720613525359 -24.144181954683
2025-11-03T09:22:29.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5720613525359     dec_j2k = -24.144181954683
2025-11-03T09:22:29.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:29.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:29.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:29.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967221282466256;171.162351965909;_
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967221282466256;171.162351965909;_
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:29.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:29.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:29.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:29.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:29.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:29.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:29.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:29.455 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45399)
2025-11-03T09:22:29.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:29.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:29.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:29.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:29.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:29.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:29.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:29.462 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:29.462 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:29.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:29.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:29.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:29.463 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:29.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:29.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80728525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967221282466256, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5964665, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5720613525359, telescope_dec_j2k=-24.144181954683, observability=1)
2025-11-03T09:22:30.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:30
2025-11-03T09:22:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8987240791320801s
2025-11-03T09:22:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8987240791320801
2025-11-03T09:22:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:30
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3182334899902344s
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:30.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:30.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:30.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5968311;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6166;2460982.80730073;9.37519528;1.3;_
2025-11-03T09:22:30.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5968311;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6166;2460982.80730073;9.37519528;1.3;_
2025-11-03T09:22:30.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:30.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:30.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:30.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:30.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:30.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5968311, teldec = -24.256619
2025-11-03T09:22:30.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5968311 -24.256619
2025-11-03T09:22:30.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5968311 -24.256619
2025-11-03T09:22:30.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5968311 -24.256619
2025-11-03T09:22:30.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5968311;-24.256619;50.108586;89.993053;50.08601;90.12017;11.6166;2460982.80730075;9.37519528;1.3;_14.5724256289963 -24.1441901767848
2025-11-03T09:22:30.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5724256289963     dec_j2k = -24.1441901767848
2025-11-03T09:22:30.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:30.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:30.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967216067913691;171.162346601491;_
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967216067913691;171.162346601491;_
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:30.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:30.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60727)
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:30.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:30.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:30.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:30.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80730073, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967216067913691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5968311, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6166, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5724256289963, telescope_dec_j2k=-24.1441901767848, observability=1)
2025-11-03T09:22:31.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:31
2025-11-03T09:22:31.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:31.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5646424293518066s
2025-11-03T09:22:31.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5646424293518066
2025-11-03T09:22:32.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:32
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.562028408050537s
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5972517;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61702;2460982.807319;9.37561472;1.3;_
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5972517;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61702;2460982.807319;9.37561472;1.3;_
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5972517, teldec = -24.256619
2025-11-03T09:22:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5972517 -24.256619
2025-11-03T09:22:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5972517 -24.256619
2025-11-03T09:22:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5972517 -24.256619
2025-11-03T09:22:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5972795;-24.256619;50.108586;89.993053;50.08601;90.12017;11.61705;2460982.80731903;9.3756425;1.3;_14.5728458557885 -24.1441996630328
2025-11-03T09:22:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5728458557885     dec_j2k = -24.1441996630328
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967219677988543;171.162346601491;_
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967219677988543;171.162346601491;_
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41109)
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:32.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:32.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.807319, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967219677988543, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993053, telescope_ra=14.5972517, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61702, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5728458557885, telescope_dec_j2k=-24.1441996630328, observability=1)
2025-11-03T09:22:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:32
2025-11-03T09:22:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37897515296936035s
2025-11-03T09:22:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37897515296936035
2025-11-03T09:22:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:33
2025-11-03T09:22:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9790706634521484s
2025-11-03T09:22:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9790706634521484
2025-11-03T09:22:34.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:34
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807252883911133s
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.597811;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61758;2460982.80734218;9.3761725;1.3;_
2025-11-03T09:22:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.597811;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61758;2460982.80734218;9.3761725;1.3;_
2025-11-03T09:22:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.597811, teldec = -24.256619
2025-11-03T09:22:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.597811 -24.256619
2025-11-03T09:22:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.597811 -24.256619
2025-11-03T09:22:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.597811 -24.256619
2025-11-03T09:22:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.597811;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61758;2460982.8073422;9.3761725;1.3;_14.5734046595508 -24.1442122796718
2025-11-03T09:22:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5734046595508     dec_j2k = -24.1442122796718
2025-11-03T09:22:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096722248582454;171.162357330327;_
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096722248582454;171.162357330327;_
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46767)
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:34.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:34.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:34.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80734218, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096722248582454, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.597811, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61758, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5734046595508, telescope_dec_j2k=-24.1442122796718, observability=1)
2025-11-03T09:22:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:34
2025-11-03T09:22:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3796424865722656s
2025-11-03T09:22:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3796424865722656
2025-11-03T09:22:35.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:35
2025-11-03T09:22:35.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:35.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9870514869689941s
2025-11-03T09:22:35.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9870514869689941
2025-11-03T09:22:36.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:36
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824507236480713s
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5983901;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61816;2460982.80736532;9.37675;1.3;_
2025-11-03T09:22:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5983901;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61816;2460982.80736532;9.37675;1.3;_
2025-11-03T09:22:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5983901, teldec = -24.256619
2025-11-03T09:22:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5983901 -24.256619
2025-11-03T09:22:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5983901 -24.256619
2025-11-03T09:22:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5983901 -24.256619
2025-11-03T09:22:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5983901;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61816;2460982.80736535;9.37675;1.3;_14.5739832457959 -24.1442253455304
2025-11-03T09:22:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5739832457959     dec_j2k = -24.1442253455304
2025-11-03T09:22:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967218474630259;171.162357330327;_
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967218474630259;171.162357330327;_
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35747)
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:36.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80736532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967218474630259, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.5983901, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61816, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5739832457959, telescope_dec_j2k=-24.1442253455304, observability=1)
2025-11-03T09:22:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:36
2025-11-03T09:22:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.381791353225708s
2025-11-03T09:22:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.381791353225708
2025-11-03T09:22:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:37
2025-11-03T09:22:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800443649291992s
2025-11-03T09:22:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800443649291992
2025-11-03T09:22:37.430 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:37.430 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Status age = 1.0498902797698975s
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:37.431 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:37.432 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:37.433 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 17;14.5986703;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61844;2460982.8073777;9.37702944;1.3;_
2025-11-03T09:22:37.433 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response 17;14.5986703;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61844;2460982.8073777;9.37702944;1.3;_
2025-11-03T09:22:37.433 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:37.433 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:37.433 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:37.434 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:37.434 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:37.434 [INFO] [Thread-88625 (handle)] [driver.py] [get_status()] Telra = 14.5986703, teldec = -24.256619
2025-11-03T09:22:37.434 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5986703 -24.256619
2025-11-03T09:22:37.434 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5986703 -24.256619
2025-11-03T09:22:37.434 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5986703 -24.256619
2025-11-03T09:22:37.435 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 17;14.5986703;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61844;2460982.80737772;9.37702944;1.3;_14.5742631972318 -24.1442316684414
2025-11-03T09:22:37.435 [INFO] [Thread-88625 (handle)] [driver.py] [get_status()] ra_j2k = 14.5742631972318     dec_j2k = -24.1442316684414
2025-11-03T09:22:37.435 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:37.435 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 140;0.0967223689182824;171.162357330327;_
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response 140;0.0967223689182824;171.162357330327;_
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:37.436 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:37.437 [DEBUG] [Thread-88625 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:37.437 [DEBUG] [Thread-88625 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:37.437 [DEBUG] [Thread-88625 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45073)
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:37.441 [DEBUG] [Thread-88625 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:37.449 [DEBUG] [Thread-88625 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:37.449 [INFO] [Thread-88625 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8073777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967223689182824, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.5986703, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61844, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5742631972318, telescope_dec_j2k=-24.1442316684414, observability=1)
2025-11-03T09:22:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:38
2025-11-03T09:22:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.911543607711792s
2025-11-03T09:22:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.911543607711792
2025-11-03T09:22:38.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:38
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.309549331665039s
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5990349;-24.256619;50.108586;89.993054;50.08601;90.12017;11.6188;2460982.80739307;9.37739306;1.3;_
2025-11-03T09:22:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5990349;-24.256619;50.108586;89.993054;50.08601;90.12017;11.6188;2460982.80739307;9.37739306;1.3;_
2025-11-03T09:22:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5990349, teldec = -24.256619
2025-11-03T09:22:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5990349 -24.256619
2025-11-03T09:22:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5990349 -24.256619
2025-11-03T09:22:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5990349 -24.256619
2025-11-03T09:22:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5990349;-24.256619;50.108586;89.993054;50.08601;90.12017;11.6188;2460982.80739309;9.37739306;1.3;_14.5746274738148 -24.1442398968155
2025-11-03T09:22:38.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5746274738148     dec_j2k = -24.1442398968155
2025-11-03T09:22:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967216469033119;171.162362694745;_
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967216469033119;171.162362694745;_
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45335)
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:38.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80739307, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967216469033119, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.5990349, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6188, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5746274738148, telescope_dec_j2k=-24.1442398968155, observability=1)
2025-11-03T09:22:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:39
2025-11-03T09:22:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5833311080932617s
2025-11-03T09:22:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5833311080932617
2025-11-03T09:22:40.017 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:40.017 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:40.017 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:40.017 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:40.018 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:22:40.019 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:22:40.020 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:40.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:40
2025-11-03T09:22:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5837290287017822s
2025-11-03T09:22:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5994825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61925;2460982.80741161;9.37783944;1.3;_
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.5994825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61925;2460982.80741161;9.37783944;1.3;_
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.5994825, teldec = -24.256619
2025-11-03T09:22:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.5994825 -24.256619
2025-11-03T09:22:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.5994825 -24.256619
2025-11-03T09:22:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.5994825 -24.256619
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.5994825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61925;2460982.80741163;9.37783944;1.3;_14.5750746768008 -24.1442499997706
2025-11-03T09:22:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5750746768008     dec_j2k = -24.1442499997706
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967221683585684;171.162357330327;_
2025-11-03T09:22:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967221683585684;171.162357330327;_
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53419)
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:40.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:40.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80741161, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967221683585684, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.5994825, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61925, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5750746768008, telescope_dec_j2k=-24.1442499997706, observability=1)
2025-11-03T09:22:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:40
2025-11-03T09:22:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37668371200561523s
2025-11-03T09:22:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37668371200561523
2025-11-03T09:22:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:41
2025-11-03T09:22:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.979682207107544s
2025-11-03T09:22:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.979682207107544
2025-11-03T09:22:42.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:42
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977844476699829s
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.600061;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61983;2460982.80743475;9.37841639;1.3;_
2025-11-03T09:22:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.600061;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61983;2460982.80743475;9.37841639;1.3;_
2025-11-03T09:22:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.600061, teldec = -24.256619
2025-11-03T09:22:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.600061 -24.256619
2025-11-03T09:22:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.600061 -24.256619
2025-11-03T09:22:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.600061 -24.256619
2025-11-03T09:22:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.600061;-24.256619;50.108586;89.993054;50.08601;90.12017;11.61983;2460982.80743477;9.37841639;1.3;_14.5756526637258 -24.1442630596371
2025-11-03T09:22:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5756526637258     dec_j2k = -24.1442630596371
2025-11-03T09:22:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967216067913691;171.162346601491;_
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967216067913691;171.162346601491;_
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54385)
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:42.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:42.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:42.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:42.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80743475, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967216067913691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.600061, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.61983, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5756526637258, telescope_dec_j2k=-24.1442630596371, observability=1)
2025-11-03T09:22:42.575 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:42.576 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.19989323616027832s
2025-11-03T09:22:42.576 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19989323616027832
2025-11-03T09:22:42.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:42
2025-11-03T09:22:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3811299800872803s
2025-11-03T09:22:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3811299800872803
2025-11-03T09:22:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:43
2025-11-03T09:22:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.985220193862915s
2025-11-03T09:22:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.985220193862915
2025-11-03T09:22:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:44
2025-11-03T09:22:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847772121429443s
2025-11-03T09:22:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6006217;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62039;2460982.80745791;9.37897556;1.3;_
2025-11-03T09:22:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6006217;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62039;2460982.80745791;9.37897556;1.3;_
2025-11-03T09:22:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6006217, teldec = -24.256619
2025-11-03T09:22:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6006217 -24.256619
2025-11-03T09:22:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6006217 -24.256619
2025-11-03T09:22:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6006217 -24.256619
2025-11-03T09:22:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6006217;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62039;2460982.80745793;9.37897556;1.3;_14.5762128664865 -24.1442757201535
2025-11-03T09:22:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5762128664865     dec_j2k = -24.1442757201535
2025-11-03T09:22:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967217672391403;171.162351965909;_
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967217672391403;171.162351965909;_
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39003)
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:44.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:44.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:44.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:44.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:44.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80745791, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967217672391403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.6006217, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62039, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5762128664865, telescope_dec_j2k=-24.1442757201535, observability=1)
2025-11-03T09:22:44.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:44
2025-11-03T09:22:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38045549392700195s
2025-11-03T09:22:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38045549392700195
2025-11-03T09:22:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:45
2025-11-03T09:22:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.983478307723999s
2025-11-03T09:22:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.983478307723999
2025-11-03T09:22:46.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:46
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847991466522217s
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.601154;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62092;2460982.80748106;9.37950639;1.3;_
2025-11-03T09:22:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.601154;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62092;2460982.80748106;9.37950639;1.3;_
2025-11-03T09:22:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.601154, teldec = -24.256619
2025-11-03T09:22:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.601154 -24.256619
2025-11-03T09:22:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.601154 -24.256619
2025-11-03T09:22:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.601154 -24.256619
2025-11-03T09:22:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.601154;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62092;2460982.80748109;9.37950639;1.3;_14.5767446944774 -24.144287741672
2025-11-03T09:22:46.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5767446944774     dec_j2k = -24.144287741672
2025-11-03T09:22:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967223689182824;171.162351965909;_
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967223689182824;171.162351965909;_
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52235)
2025-11-03T09:22:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:46.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:46.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:46.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:46.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:46.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80748106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967223689182824, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.601154, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62092, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5767446944774, telescope_dec_j2k=-24.144287741672, observability=1)
2025-11-03T09:22:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:46
2025-11-03T09:22:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38274431228637695s
2025-11-03T09:22:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38274431228637695
2025-11-03T09:22:47.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:47
2025-11-03T09:22:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9808835983276367s
2025-11-03T09:22:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9808835983276367
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Status age = 1.2500250339508057s
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:47.630 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:47.631 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 17;14.6015178;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62129;2460982.80749573;9.37986917;1.3;_
2025-11-03T09:22:47.631 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response 17;14.6015178;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62129;2460982.80749573;9.37986917;1.3;_
2025-11-03T09:22:47.631 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:47.631 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:47.631 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:47.632 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:47.632 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:47.632 [INFO] [Thread-88626 (handle)] [driver.py] [get_status()] Telra = 14.6015178, teldec = -24.256619
2025-11-03T09:22:47.633 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6015178 -24.256619
2025-11-03T09:22:47.633 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6015178 -24.256619
2025-11-03T09:22:47.633 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6015178 -24.256619
2025-11-03T09:22:47.633 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 17;14.6015178;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62129;2460982.80749575;9.37986917;1.3;_14.577108171908 -24.1442959590406
2025-11-03T09:22:47.634 [INFO] [Thread-88626 (handle)] [driver.py] [get_status()] ra_j2k = 14.577108171908     dec_j2k = -24.1442959590406
2025-11-03T09:22:47.634 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:47.634 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:47.634 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 140;0.0967227299257676;171.162362694745;_
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response 140;0.0967227299257676;171.162362694745;_
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:47.635 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:47.636 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:47.637 [DEBUG] [Thread-88626 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:47.637 [DEBUG] [Thread-88626 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:47.637 [DEBUG] [Thread-88626 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34071)
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:47.641 [DEBUG] [Thread-88626 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:47.648 [DEBUG] [Thread-88626 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:47.649 [INFO] [Thread-88626 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80749573, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967227299257676, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.6015178, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62129, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.577108171908, telescope_dec_j2k=-24.1442959590406, observability=1)
2025-11-03T09:22:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:48
2025-11-03T09:22:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7114100456237793s
2025-11-03T09:22:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7114100456237793
2025-11-03T09:22:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:48
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1111271381378174s
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6018442;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62161;2460982.80750881;9.38019472;1.3;_
2025-11-03T09:22:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6018442;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62161;2460982.80750881;9.38019472;1.3;_
2025-11-03T09:22:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6018442, teldec = -24.256619
2025-11-03T09:22:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6018442 -24.256619
2025-11-03T09:22:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6018442 -24.256619
2025-11-03T09:22:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6018442 -24.256619
2025-11-03T09:22:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6018442;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62161;2460982.80750884;9.38019472;1.3;_14.5774342825172 -24.1443033325116
2025-11-03T09:22:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5774342825172     dec_j2k = -24.1443033325116
2025-11-03T09:22:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967218875749687;171.162362694745;_
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967218875749687;171.162362694745;_
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53175)
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:48.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:48.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:48.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:48.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:48.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80750881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967218875749687, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.6018442, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5774342825172, telescope_dec_j2k=-24.1443033325116, observability=1)
2025-11-03T09:22:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:49
2025-11-03T09:22:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580481767654419s
2025-11-03T09:22:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580481767654419
2025-11-03T09:22:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:50
2025-11-03T09:22:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5817503929138184s
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6022924;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62206;2460982.80752734;9.38064167;1.3;_
2025-11-03T09:22:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6022924;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62206;2460982.80752734;9.38064167;1.3;_
2025-11-03T09:22:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6022924, teldec = -24.256619
2025-11-03T09:22:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6022924 -24.256619
2025-11-03T09:22:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6022924 -24.256619
2025-11-03T09:22:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6022924 -24.256619
2025-11-03T09:22:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6022924;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62206;2460982.80752737;9.38064167;1.3;_14.5778820851633 -24.144313458834
2025-11-03T09:22:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5778820851633     dec_j2k = -24.144313458834
2025-11-03T09:22:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967224090302252;171.162362694745;_
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967224090302252;171.162362694745;_
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60643)
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:50.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:50.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80752734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967224090302252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.6022924, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62206, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5778820851633, telescope_dec_j2k=-24.144313458834, observability=1)
2025-11-03T09:22:50.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:50
2025-11-03T09:22:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38533687591552734s
2025-11-03T09:22:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38533687591552734
2025-11-03T09:22:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:51
2025-11-03T09:22:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9857892990112305s
2025-11-03T09:22:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9857892990112305
2025-11-03T09:22:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:52
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844551086425781s
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.602825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62259;2460982.80755047;9.38117278;1.3;_
2025-11-03T09:22:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.602825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62259;2460982.80755047;9.38117278;1.3;_
2025-11-03T09:22:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:52.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.602825, teldec = -24.256619
2025-11-03T09:22:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.602825 -24.256619
2025-11-03T09:22:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.602825 -24.256619
2025-11-03T09:22:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.602825 -24.256619
2025-11-03T09:22:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.602825;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62259;2460982.80755051;9.38117278;1.3;_14.5784142130241 -24.144325494069
2025-11-03T09:22:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5784142130241     dec_j2k = -24.144325494069
2025-11-03T09:22:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967222084705112;171.162357330327;_
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967222084705112;171.162357330327;_
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50309)
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:52.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:52.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80755047, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967222084705112, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.602825, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62259, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5784142130241, telescope_dec_j2k=-24.144325494069, observability=1)
2025-11-03T09:22:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:52
2025-11-03T09:22:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3852083683013916s
2025-11-03T09:22:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3852083683013916
2025-11-03T09:22:53.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:53
2025-11-03T09:22:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9811177253723145s
2025-11-03T09:22:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9811177253723145
2025-11-03T09:22:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:54
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809861183166504s
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6033843;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62315;2460982.80757365;9.38173056;1.3;_
2025-11-03T09:22:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6033843;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62315;2460982.80757365;9.38173056;1.3;_
2025-11-03T09:22:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6033843, teldec = -24.256619
2025-11-03T09:22:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6033843 -24.256619
2025-11-03T09:22:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6033843 -24.256619
2025-11-03T09:22:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6033843 -24.256619
2025-11-03T09:22:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6033843;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62315;2460982.80757367;9.38173056;1.3;_14.5789730172626 -24.1443381350288
2025-11-03T09:22:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5789730172626     dec_j2k = -24.1443381350288
2025-11-03T09:22:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096722248582454;171.162357330327;_
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096722248582454;171.162357330327;_
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:54.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37339)
2025-11-03T09:22:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:54.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:54.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80757365, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096722248582454, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.6033843, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62315, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5789730172626, telescope_dec_j2k=-24.1443381350288, observability=1)
2025-11-03T09:22:54.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:54
2025-11-03T09:22:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37592005729675293s
2025-11-03T09:22:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37592005729675293
2025-11-03T09:22:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:55
2025-11-03T09:22:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9802336692810059s
2025-11-03T09:22:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9802336692810059
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Status age = 1.1307358741760254s
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:55.512 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:55.513 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:55.514 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 17;14.603711;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62348;2460982.80758697;9.38205639;1.3;_
2025-11-03T09:22:55.514 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response 17;14.603711;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62348;2460982.80758697;9.38205639;1.3;_
2025-11-03T09:22:55.514 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:55.514 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:55.514 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:55.515 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:55.515 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:55.515 [INFO] [Thread-88627 (handle)] [driver.py] [get_status()] Telra = 14.603711, teldec = -24.256619
2025-11-03T09:22:55.515 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] UnCookCoordinates 14.603711 -24.256619
2025-11-03T09:22:55.515 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.603711 -24.256619
2025-11-03T09:22:55.515 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.603711 -24.256619
2025-11-03T09:22:55.516 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 17;14.603711;-24.256619;50.108586;89.993054;50.08601;90.12017;11.62348;2460982.80758699;9.38205639;1.3;_14.579299427699 -24.1443455200328
2025-11-03T09:22:55.516 [INFO] [Thread-88627 (handle)] [driver.py] [get_status()] ra_j2k = 14.579299427699     dec_j2k = -24.1443455200328
2025-11-03T09:22:55.516 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:55.516 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:55.516 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 140;0.0967234519407381;171.162357330327;_
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response 140;0.0967234519407381;171.162357330327;_
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:55.517 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:55.518 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:55.519 [DEBUG] [Thread-88627 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:55.519 [DEBUG] [Thread-88627 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:55.519 [DEBUG] [Thread-88627 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:55.524 [DEBUG] [Thread-88627 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45683)
2025-11-03T09:22:55.524 [DEBUG] [Thread-88627 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:55.524 [DEBUG] [Thread-88627 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:55.525 [DEBUG] [Thread-88627 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:55.525 [DEBUG] [Thread-88627 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:55.525 [DEBUG] [Thread-88627 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:55.532 [DEBUG] [Thread-88627 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:55.532 [INFO] [Thread-88627 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80758697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967234519407381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108586, telescope_az=89.993054, telescope_ra=14.603711, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.579299427699, telescope_dec_j2k=-24.1443455200328, observability=1)
2025-11-03T09:22:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:56
2025-11-03T09:22:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8289995193481445s
2025-11-03T09:22:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8289995193481445
2025-11-03T09:22:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:56
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.231604814529419s
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6040753;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62384;2460982.80760145;9.38241972;1.3;_
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6040753;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62384;2460982.80760145;9.38241972;1.3;_
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6040753, teldec = -24.256619
2025-11-03T09:22:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6040753 -24.256619
2025-11-03T09:22:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6040753 -24.256619
2025-11-03T09:22:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6040753 -24.256619
2025-11-03T09:22:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6040753;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62384;2460982.80760148;9.38241972;1.3;_14.5796634048287 -24.1443537559605
2025-11-03T09:22:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5796634048287     dec_j2k = -24.1443537559605
2025-11-03T09:22:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967224892541108;171.162368059163;_
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967224892541108;171.162368059163;_
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35561)
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:56.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:56.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:56.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80760145, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967224892541108, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6040753, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5796634048287, telescope_dec_j2k=-24.1443537559605, observability=1)
2025-11-03T09:22:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:57
2025-11-03T09:22:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5760054588317871s
2025-11-03T09:22:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5760054588317871
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1700670719146729s
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6043837;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62415;2460982.80761523;9.38272722;1.3;_
2025-11-03T09:22:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.6043837;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62415;2460982.80761523;9.38272722;1.3;_
2025-11-03T09:22:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:57.958 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.6043837, teldec = -24.256619
2025-11-03T09:22:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6043837 -24.256619
2025-11-03T09:22:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6043837 -24.256619
2025-11-03T09:22:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6043837 -24.256619
2025-11-03T09:22:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6043837;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62415;2460982.80761527;9.38272722;1.3;_14.5799715315171 -24.1443607289354
2025-11-03T09:22:57.959 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.5799715315171     dec_j2k = -24.1443607289354
2025-11-03T09:22:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967224090302252;171.162351965909;_
2025-11-03T09:22:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967224090302252;171.162351965909;_
2025-11-03T09:22:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:22:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:22:57.965 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39595)
2025-11-03T09:22:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:57.966 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:57.973 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80761523, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967224090302252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6043837, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62415, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5799715315171, telescope_dec_j2k=-24.1443607289354, observability=1)
2025-11-03T09:22:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:58
2025-11-03T09:22:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3872699737548828s
2025-11-03T09:22:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3872699737548828
2025-11-03T09:22:58.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:58
2025-11-03T09:22:58.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7844696044921875s
2025-11-03T09:22:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7844696044921875
2025-11-03T09:22:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:22:59
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3879127502441406s
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:22:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:22:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:22:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6047759;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62454;2460982.80763152;9.38311833;1.3;_
2025-11-03T09:22:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6047759;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62454;2460982.80763152;9.38311833;1.3;_
2025-11-03T09:22:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:22:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:22:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:22:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:22:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6047759, teldec = -24.256619
2025-11-03T09:22:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6047759 -24.256619
2025-11-03T09:22:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6047759 -24.256619
2025-11-03T09:22:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6047759 -24.256619
2025-11-03T09:22:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6047759;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62454;2460982.80763154;9.38311833;1.3;_14.5803633839609 -24.144369597713
2025-11-03T09:22:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5803633839609     dec_j2k = -24.144369597713
2025-11-03T09:22:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:22:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:22:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967234118287953;171.162346601491;_
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967234118287953;171.162346601491;_
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:22:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:22:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:22:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:22:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38565)
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:22:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:22:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:22:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:59.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:22:59.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:22:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:22:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:22:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:22:59.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:22:59.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:22:59.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80763152, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967234118287953, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6047759, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62454, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5803633839609, telescope_dec_j2k=-24.144369597713, observability=1)
2025-11-03T09:23:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:00
2025-11-03T09:23:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.978323221206665s
2025-11-03T09:23:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.978323221206665
2025-11-03T09:23:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:00
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.377249002456665s
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6051678;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62494;2460982.8076477;9.38350917;1.3;_
2025-11-03T09:23:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6051678;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62494;2460982.8076477;9.38350917;1.3;_
2025-11-03T09:23:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6051678, teldec = -24.256619
2025-11-03T09:23:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6051678 -24.256619
2025-11-03T09:23:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6051678 -24.256619
2025-11-03T09:23:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6051678 -24.256619
2025-11-03T09:23:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6051678;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62494;2460982.80764773;9.38350917;1.3;_14.5807549366941 -24.1443784609046
2025-11-03T09:23:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5807549366941     dec_j2k = -24.1443784609046
2025-11-03T09:23:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967225293660536;171.162362694745;_
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967225293660536;171.162362694745;_
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54637)
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8076477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967225293660536, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6051678, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62494, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5807549366941, telescope_dec_j2k=-24.1443784609046, observability=1)
2025-11-03T09:23:01.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:01
2025-11-03T09:23:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5856673717498779s
2025-11-03T09:23:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5856673717498779
2025-11-03T09:23:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:02
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5812811851501465s
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6056346;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6254;2460982.80766623;9.38397472;1.3;_
2025-11-03T09:23:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6056346;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6254;2460982.80766623;9.38397472;1.3;_
2025-11-03T09:23:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6056346, teldec = -24.256619
2025-11-03T09:23:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6056346 -24.256619
2025-11-03T09:23:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6056346 -24.256619
2025-11-03T09:23:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6056346 -24.256619
2025-11-03T09:23:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6056346;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6254;2460982.80766626;9.38397472;1.3;_14.5812213230883 -24.1443890195932
2025-11-03T09:23:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5812213230883     dec_j2k = -24.1443890195932
2025-11-03T09:23:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967233717168525;171.162362694745;_
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967233717168525;171.162362694745;_
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38795)
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:02.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:02.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:02.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:02.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80766623, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967233717168525, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6056346, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6254, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5812213230883, telescope_dec_j2k=-24.1443890195932, observability=1)
2025-11-03T09:23:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:02
2025-11-03T09:23:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3802471160888672s
2025-11-03T09:23:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3802471160888672
2025-11-03T09:23:03.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:03
2025-11-03T09:23:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984755277633667s
2025-11-03T09:23:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984755277633667
2025-11-03T09:23:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:04
2025-11-03T09:23:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9825685024261475s
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6061672;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62593;2460982.80768937;9.38450583;1.3;_
2025-11-03T09:23:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6061672;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62593;2460982.80768937;9.38450583;1.3;_
2025-11-03T09:23:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6061672, teldec = -24.256619
2025-11-03T09:23:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6061672 -24.256619
2025-11-03T09:23:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6061672 -24.256619
2025-11-03T09:23:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6061672 -24.256619
2025-11-03T09:23:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6061672;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62593;2460982.8076894;9.38450583;1.3;_14.5817534512214 -24.1444010687059
2025-11-03T09:23:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5817534512214     dec_j2k = -24.1444010687059
2025-11-03T09:23:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967228903735389;171.162362694745;_
2025-11-03T09:23:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967228903735389;171.162362694745;_
2025-11-03T09:23:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51007)
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:04.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80768937, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967228903735389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6061672, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62593, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5817534512214, telescope_dec_j2k=-24.1444010687059, observability=1)
2025-11-03T09:23:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:04
2025-11-03T09:23:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795907497406006s
2025-11-03T09:23:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795907497406006
2025-11-03T09:23:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:05
2025-11-03T09:23:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9807758331298828s
2025-11-03T09:23:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9807758331298828
2025-11-03T09:23:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:06
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813127517700195s
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6067284;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6265;2460982.80771254;9.38506556;1.3;_
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6067284;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6265;2460982.80771254;9.38506556;1.3;_
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6067284, teldec = -24.256619
2025-11-03T09:23:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6067284 -24.256619
2025-11-03T09:23:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6067284 -24.256619
2025-11-03T09:23:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6067284 -24.256619
2025-11-03T09:23:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6067284;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6265;2460982.80771257;9.38506556;1.3;_14.5823141540628 -24.1444137672339
2025-11-03T09:23:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5823141540628     dec_j2k = -24.1444137672339
2025-11-03T09:23:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967231310451957;171.162362694745;_
2025-11-03T09:23:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967231310451957;171.162362694745;_
2025-11-03T09:23:06.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36561)
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:06.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:06.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:06.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80771254, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967231310451957, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6067284, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6265, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5823141540628, telescope_dec_j2k=-24.1444137672339, observability=1)
2025-11-03T09:23:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:06
2025-11-03T09:23:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37797975540161133s
2025-11-03T09:23:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37797975540161133
2025-11-03T09:23:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:07
2025-11-03T09:23:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9803774356842041s
2025-11-03T09:23:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9803774356842041
2025-11-03T09:23:08.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:08
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803617000579834s
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6072802;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62705;2460982.80773568;9.38561583;1.3;_
2025-11-03T09:23:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6072802;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62705;2460982.80773568;9.38561583;1.3;_
2025-11-03T09:23:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6072802, teldec = -24.256619
2025-11-03T09:23:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6072802 -24.256619
2025-11-03T09:23:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6072802 -24.256619
2025-11-03T09:23:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6072802 -24.256619
2025-11-03T09:23:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6073083;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62708;2460982.80773571;9.38564389;1.3;_14.5828654652786 -24.1444262554566
2025-11-03T09:23:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5828654652786     dec_j2k = -24.1444262554566
2025-11-03T09:23:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967231711571385;171.162351965909;_
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967231711571385;171.162351965909;_
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42567)
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:08.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:08.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80773568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967231711571385, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6072802, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62705, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5828654652786, telescope_dec_j2k=-24.1444262554566, observability=1)
2025-11-03T09:23:08.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:08
2025-11-03T09:23:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3791768550872803s
2025-11-03T09:23:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3791768550872803
2025-11-03T09:23:09.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:09
2025-11-03T09:23:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9821786880493164s
2025-11-03T09:23:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9821786880493164
2025-11-03T09:23:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:10
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818639755249023s
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6078409;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62761;2460982.80775883;9.386175;1.3;_
2025-11-03T09:23:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6078409;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62761;2460982.80775883;9.386175;1.3;_
2025-11-03T09:23:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6078409, teldec = -24.256619
2025-11-03T09:23:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6078409 -24.256619
2025-11-03T09:23:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6078409 -24.256619
2025-11-03T09:23:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6078409 -24.256619
2025-11-03T09:23:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6078409;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62761;2460982.80775885;9.386175;1.3;_14.5834256686585 -24.1444389475324
2025-11-03T09:23:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5834256686585     dec_j2k = -24.1444389475324
2025-11-03T09:23:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967232513810241;171.162362694745;_
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967232513810241;171.162362694745;_
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46495)
2025-11-03T09:23:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:10.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:10.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:10.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80775883, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967232513810241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6078409, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62761, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5834256686585, telescope_dec_j2k=-24.1444389475324, observability=1)
2025-11-03T09:23:10.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:10
2025-11-03T09:23:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3842332363128662s
2025-11-03T09:23:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3842332363128662
2025-11-03T09:23:11.359 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:23:11
2025-11-03T09:23:11.359 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:11.359 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.9769706726074219s
2025-11-03T09:23:11.359 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9769706726074219
2025-11-03T09:23:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:11
2025-11-03T09:23:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800453186035156s
2025-11-03T09:23:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800453186035156
2025-11-03T09:23:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:12
2025-11-03T09:23:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792201519012451s
2025-11-03T09:23:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6084008;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62817;2460982.80778198;9.38673333;1.3;_
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6084008;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62817;2460982.80778198;9.38673333;1.3;_
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6084008, teldec = -24.256619
2025-11-03T09:23:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6084008 -24.256619
2025-11-03T09:23:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6084008 -24.256619
2025-11-03T09:23:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6084008 -24.256619
2025-11-03T09:23:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6084008;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62817;2460982.807782;9.38673333;1.3;_14.583985072795 -24.1444516239433
2025-11-03T09:23:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.583985072795     dec_j2k = -24.1444516239433
2025-11-03T09:23:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967234519407381;171.162351965909;_
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967234519407381;171.162351965909;_
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33061)
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:12.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:12.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80778198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967234519407381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6084008, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62817, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.583985072795, telescope_dec_j2k=-24.1444516239433, observability=1)
2025-11-03T09:23:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:12
2025-11-03T09:23:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3800318241119385s
2025-11-03T09:23:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3800318241119385
2025-11-03T09:23:13.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:13
2025-11-03T09:23:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9785561561584473s
2025-11-03T09:23:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9785561561584473
2025-11-03T09:23:13.578 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:13.578 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Status age = 1.1959049701690674s
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:13.579 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:13.580 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 17;14.6087364;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6285;2460982.80779606;9.38706806;1.3;_
2025-11-03T09:23:13.580 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response 17;14.6087364;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6285;2460982.80779606;9.38706806;1.3;_
2025-11-03T09:23:13.580 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:13.580 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:13.580 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:13.581 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:13.581 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:13.581 [INFO] [Thread-88628 (handle)] [driver.py] [get_status()] Telra = 14.6087364, teldec = -24.256619
2025-11-03T09:23:13.581 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6087364 -24.256619
2025-11-03T09:23:13.581 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6087364 -24.256619
2025-11-03T09:23:13.581 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6087364 -24.256619
2025-11-03T09:23:13.582 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 17;14.6087364;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6285;2460982.80779609;9.38706806;1.3;_14.5843203756011 -24.1444592232626
2025-11-03T09:23:13.582 [INFO] [Thread-88628 (handle)] [driver.py] [get_status()] ra_j2k = 14.5843203756011     dec_j2k = -24.1444592232626
2025-11-03T09:23:13.582 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:13.582 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 140;0.0967234519407381;171.162346601491;_
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response 140;0.0967234519407381;171.162346601491;_
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:13.583 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:13.584 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:13.585 [DEBUG] [Thread-88628 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:13.585 [DEBUG] [Thread-88628 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:13.585 [DEBUG] [Thread-88628 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46193)
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:13.591 [DEBUG] [Thread-88628 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:13.598 [DEBUG] [Thread-88628 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:13.598 [INFO] [Thread-88628 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80779606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967234519407381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6087364, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6285, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:22:13.998291', telescope_ra_j2k=14.5843203756011, telescope_dec_j2k=-24.1444592232626, observability=1)
2025-11-03T09:23:14.139 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:14.139 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:14.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:14.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:14.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:14.140 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:14.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:14.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:14.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:14.141 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:14.141 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:23:14.141 [INFO] [ThreadPoolExecutor-3399_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:23:14.141 [INFO] [ThreadPoolExecutor-3399_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:23:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:14
2025-11-03T09:23:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7627720832824707s
2025-11-03T09:23:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7627720832824707
2025-11-03T09:23:14.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:14
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1563141345977783s
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:14.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6090631;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62883;2460982.80780969;9.38739389;1.3;_
2025-11-03T09:23:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6090631;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62883;2460982.80780969;9.38739389;1.3;_
2025-11-03T09:23:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:14.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:14.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6090631, teldec = -24.256619
2025-11-03T09:23:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6090631 -24.256619
2025-11-03T09:23:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6090631 -24.256619
2025-11-03T09:23:14.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6090631 -24.256619
2025-11-03T09:23:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6090631;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62883;2460982.80780971;9.38739389;1.3;_14.5846467863052 -24.1444666218932
2025-11-03T09:23:14.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5846467863052     dec_j2k = -24.1444666218932
2025-11-03T09:23:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967240536198802;171.162351965909;_
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967240536198802;171.162351965909;_
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:14.762 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41147)
2025-11-03T09:23:14.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:14.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:14.770 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:14.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:14.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80780969, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967240536198802, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6090631, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62883, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5846467863052, telescope_dec_j2k=-24.1444666218932, observability=1)
2025-11-03T09:23:14.874 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:23:14.874 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.1028754711151123s
2025-11-03T09:23:14.874 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.1028754711151123
2025-11-03T09:23:14.874 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5149450302124023 seconds ago
2025-11-03T09:23:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:15
2025-11-03T09:23:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5896947383880615s
2025-11-03T09:23:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5896947383880615
2025-11-03T09:23:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:16
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.589878797531128s
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6095119;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62928;2460982.80782826;9.38784139;1.3;_
2025-11-03T09:23:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6095119;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62928;2460982.80782826;9.38784139;1.3;_
2025-11-03T09:23:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6095119, teldec = -24.256619
2025-11-03T09:23:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6095119 -24.256619
2025-11-03T09:23:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6095119 -24.256619
2025-11-03T09:23:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6095119 -24.256619
2025-11-03T09:23:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6095119;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62928;2460982.8078283;9.38784139;1.3;_14.5850951889154 -24.1444767870239
2025-11-03T09:23:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5850951889154     dec_j2k = -24.1444767870239
2025-11-03T09:23:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967234519407381;171.162351965909;_
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967234519407381;171.162351965909;_
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56329)
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:16.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:16.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:16.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:16.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:16.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80782826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967234519407381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6095119, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62928, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5850951889154, telescope_dec_j2k=-24.1444767870239, observability=1)
2025-11-03T09:23:16.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:16
2025-11-03T09:23:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3849191665649414s
2025-11-03T09:23:16.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3849191665649414
2025-11-03T09:23:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:17
2025-11-03T09:23:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9845755100250244s
2025-11-03T09:23:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9845755100250244
2025-11-03T09:23:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:18
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851393699645996s
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.610072;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62984;2460982.80785142;9.3884;1.3;_
2025-11-03T09:23:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.610072;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62984;2460982.80785142;9.3884;1.3;_
2025-11-03T09:23:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.610072, teldec = -24.256619
2025-11-03T09:23:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.610072 -24.256619
2025-11-03T09:23:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.610072 -24.256619
2025-11-03T09:23:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.610072 -24.256619
2025-11-03T09:23:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.610072;-24.256619;50.108585;89.993054;50.08601;90.12017;11.62984;2460982.80785145;9.3884;1.3;_14.5856547930183 -24.1444894752532
2025-11-03T09:23:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5856547930183     dec_j2k = -24.1444894752532
2025-11-03T09:23:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967237327243378;171.162357330327;_
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967237327243378;171.162357330327;_
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37859)
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:18.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:18.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:18.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80785142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967237327243378, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.610072, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.62984, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5856547930183, telescope_dec_j2k=-24.1444894752532, observability=1)
2025-11-03T09:23:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:18
2025-11-03T09:23:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3851900100708008s
2025-11-03T09:23:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3851900100708008
2025-11-03T09:23:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:19
2025-11-03T09:23:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812109470367432s
2025-11-03T09:23:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812109470367432
2025-11-03T09:23:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:20
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804129600524902s
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6106224;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63039;2460982.80787456;9.38894889;1.3;_
2025-11-03T09:23:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6106224;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63039;2460982.80787456;9.38894889;1.3;_
2025-11-03T09:23:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6106224, teldec = -24.256619
2025-11-03T09:23:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6106224 -24.256619
2025-11-03T09:23:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6106224 -24.256619
2025-11-03T09:23:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6106224 -24.256619
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6106503;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63042;2460982.80787458;9.38897667;1.3;_14.5862047057561 -24.1445019461234
2025-11-03T09:23:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5862047057561     dec_j2k = -24.1445019461234
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967242541795942;171.162357330327;_
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967242541795942;171.162357330327;_
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:20.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34155)
2025-11-03T09:23:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:20.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:20.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80787456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967242541795942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6106224, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63039, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5862047057561, telescope_dec_j2k=-24.1445019461234, observability=1)
2025-11-03T09:23:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:20
2025-11-03T09:23:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.382718563079834s
2025-11-03T09:23:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.382718563079834
2025-11-03T09:23:21.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:21
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.057495355606079s
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6109307;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6307;2460982.80788703;9.38925639;1.3;_
2025-11-03T09:23:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6109307;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6307;2460982.80788703;9.38925639;1.3;_
2025-11-03T09:23:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:21.440 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6109307, teldec = -24.256619
2025-11-03T09:23:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6109307 -24.256619
2025-11-03T09:23:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6109307 -24.256619
2025-11-03T09:23:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6109307 -24.256619
2025-11-03T09:23:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6109307;-24.256619;50.108585;89.993054;50.08601;90.12017;11.6307;2460982.80788705;9.38925639;1.3;_14.5865127328423 -24.1445089325633
2025-11-03T09:23:21.441 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5865127328423     dec_j2k = -24.1445089325633
2025-11-03T09:23:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967238530601662;171.162357330327;_
2025-11-03T09:23:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967238530601662;171.162357330327;_
2025-11-03T09:23:21.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53709)
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:21.449 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:21.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:21.457 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80788703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967238530601662, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6109307, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6307, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5865127328423, telescope_dec_j2k=-24.1445089325633, observability=1)
2025-11-03T09:23:22.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:22
2025-11-03T09:23:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9019391536712646s
2025-11-03T09:23:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9019391536712646
2025-11-03T09:23:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:22
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.301849126815796s
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6112951;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63106;2460982.80790231;9.38961972;1.3;_
2025-11-03T09:23:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6112951;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63106;2460982.80790231;9.38961972;1.3;_
2025-11-03T09:23:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:22.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6112951, teldec = -24.256619
2025-11-03T09:23:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6112951 -24.256619
2025-11-03T09:23:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6112951 -24.256619
2025-11-03T09:23:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6112951 -24.256619
2025-11-03T09:23:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6112951;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63106;2460982.80790234;9.38961972;1.3;_14.5868768102864 -24.1445171912494
2025-11-03T09:23:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5868768102864     dec_j2k = -24.1445171912494
2025-11-03T09:23:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967238530601662;171.162357330327;_
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967238530601662;171.162357330327;_
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49973)
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:22.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:22.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:22.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80790231, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967238530601662, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6112951, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63106, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5868768102864, telescope_dec_j2k=-24.1445171912494, observability=1)
2025-11-03T09:23:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:23
2025-11-03T09:23:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5854589939117432s
2025-11-03T09:23:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5854589939117432
2025-11-03T09:23:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:24
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5861432552337646s
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6117432;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63151;2460982.80792087;9.39006667;1.3;_
2025-11-03T09:23:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6117432;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63151;2460982.80792087;9.39006667;1.3;_
2025-11-03T09:23:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6117432, teldec = -24.256619
2025-11-03T09:23:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6117432 -24.256619
2025-11-03T09:23:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6117432 -24.256619
2025-11-03T09:23:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6117432 -24.256619
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6117432;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63151;2460982.80792089;9.39006667;1.3;_14.5873245136697 -24.1445273483121
2025-11-03T09:23:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5873245136697     dec_j2k = -24.1445273483121
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967232112690813;171.162362694745;_
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967232112690813;171.162362694745;_
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54393)
2025-11-03T09:23:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:24.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:24.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80792087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967232112690813, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6117432, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63151, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5873245136697, telescope_dec_j2k=-24.1445273483121, observability=1)
2025-11-03T09:23:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:24
2025-11-03T09:23:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37823939323425293s
2025-11-03T09:23:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37823939323425293
2025-11-03T09:23:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:25
2025-11-03T09:23:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9794230461120605s
2025-11-03T09:23:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9794230461120605
2025-11-03T09:23:26.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:26
2025-11-03T09:23:26.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:26.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782028198242188s
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:26.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6123028;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63207;2460982.80794398;9.39062472;1.3;_
2025-11-03T09:23:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6123028;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63207;2460982.80794398;9.39062472;1.3;_
2025-11-03T09:23:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:26.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6123028, teldec = -24.256619
2025-11-03T09:23:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6123028 -24.256619
2025-11-03T09:23:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6123028 -24.256619
2025-11-03T09:23:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6123028 -24.256619
2025-11-03T09:23:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6123028;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63207;2460982.807944;9.39062472;1.3;_14.5878836184068 -24.1445400349353
2025-11-03T09:23:26.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5878836184068     dec_j2k = -24.1445400349353
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967237728362806;171.162357330327;_
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967237728362806;171.162357330327;_
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55979)
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:26.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:26.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80794398, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967237728362806, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6123028, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63207, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5878836184068, telescope_dec_j2k=-24.1445400349353, observability=1)
2025-11-03T09:23:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:26
2025-11-03T09:23:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3880019187927246s
2025-11-03T09:23:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3880019187927246
2025-11-03T09:23:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:27
2025-11-03T09:23:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835593700408936s
2025-11-03T09:23:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835593700408936
2025-11-03T09:23:28.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:28
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0994760990142822s
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:28.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6128828;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63265;2460982.80796848;9.39120306;1.3;_
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6128828;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63265;2460982.80796848;9.39120306;1.3;_
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:28.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:28.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:28.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:28.478 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6128828, teldec = -24.256619
2025-11-03T09:23:28.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6128828 -24.256619
2025-11-03T09:23:28.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6128828 -24.256619
2025-11-03T09:23:28.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6128828 -24.256619
2025-11-03T09:23:28.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6128828;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63265;2460982.80796851;9.39120306;1.3;_14.58846310514 -24.1445531866169
2025-11-03T09:23:28.479 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.58846310514     dec_j2k = -24.1445531866169
2025-11-03T09:23:28.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:28.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967240536198802;171.162357330327;_
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967240536198802;171.162357330327;_
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:28.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:28.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:28.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:28.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:28.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57545)
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:28.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:28.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:28.492 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80796848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967240536198802, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6128828, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63265, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.58846310514, telescope_dec_j2k=-24.1445531866169, observability=1)
2025-11-03T09:23:28.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:28
2025-11-03T09:23:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26682138442993164s
2025-11-03T09:23:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26682138442993164
2025-11-03T09:23:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:29
2025-11-03T09:23:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8676676750183105s
2025-11-03T09:23:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8676676750183105
2025-11-03T09:23:30.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:30
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.866872787475586s
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:30.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6134153;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63318;2460982.80799029;9.39173417;1.3;_
2025-11-03T09:23:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6134153;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63318;2460982.80799029;9.39173417;1.3;_
2025-11-03T09:23:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:30.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6134153, teldec = -24.256619
2025-11-03T09:23:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6134153 -24.256619
2025-11-03T09:23:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6134153 -24.256619
2025-11-03T09:23:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6134153 -24.256619
2025-11-03T09:23:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6134153;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63318;2460982.80799031;9.39173417;1.3;_14.5889951339534 -24.1445652635263
2025-11-03T09:23:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5889951339534     dec_j2k = -24.1445652635263
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967242541795942;171.162351965909;_
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967242541795942;171.162351965909;_
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59001)
2025-11-03T09:23:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:30.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:30.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:30.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80799029, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967242541795942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6134153, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63318, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5889951339534, telescope_dec_j2k=-24.1445652635263, observability=1)
2025-11-03T09:23:30.806 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:30
2025-11-03T09:23:30.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:30.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4248342514038086s
2025-11-03T09:23:30.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4248342514038086
2025-11-03T09:23:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:31
2025-11-03T09:23:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9789860248565674s
2025-11-03T09:23:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9789860248565674
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Status age = 1.3030240535736084s
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:31.684 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:31.685 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:31.686 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 17;14.6137791;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63355;2460982.80800562;9.39209694;1.3;_
2025-11-03T09:23:31.686 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response 17;14.6137791;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63355;2460982.80800562;9.39209694;1.3;_
2025-11-03T09:23:31.686 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:31.686 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:31.686 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:31.687 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:31.687 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:31.687 [INFO] [Thread-88629 (handle)] [driver.py] [get_status()] Telra = 14.6137791, teldec = -24.256619
2025-11-03T09:23:31.687 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6137791 -24.256619
2025-11-03T09:23:31.687 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6137791 -24.256619
2025-11-03T09:23:31.688 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6137791 -24.256619
2025-11-03T09:23:31.688 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 17;14.6137791;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63355;2460982.80800565;9.39209694;1.3;_14.5893586120673 -24.1445735156489
2025-11-03T09:23:31.688 [INFO] [Thread-88629 (handle)] [driver.py] [get_status()] ra_j2k = 14.5893586120673     dec_j2k = -24.1445735156489
2025-11-03T09:23:31.688 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:31.688 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 140;0.096723893172109;171.162351965909;_
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response 140;0.096723893172109;171.162351965909;_
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:31.689 [DEBUG] [Thread-88629 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:31.690 [DEBUG] [Thread-88629 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44513)
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:31.693 [DEBUG] [Thread-88629 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:31.700 [DEBUG] [Thread-88629 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:31.700 [INFO] [Thread-88629 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80800562, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096723893172109, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6137791, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63355, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5893586120673, telescope_dec_j2k=-24.1445735156489, observability=1)
2025-11-03T09:23:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:32
2025-11-03T09:23:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6596932411193848s
2025-11-03T09:23:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6596932411193848
2025-11-03T09:23:32.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:32
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0572478771209717s
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6140866;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63385;2460982.80801806;9.39240361;1.3;_
2025-11-03T09:23:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6140866;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63385;2460982.80801806;9.39240361;1.3;_
2025-11-03T09:23:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6140866, teldec = -24.256619
2025-11-03T09:23:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6140866 -24.256619
2025-11-03T09:23:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6140866 -24.256619
2025-11-03T09:23:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6140866 -24.256619
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6140866;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63385;2460982.80801809;9.39240361;1.3;_14.5896658400107 -24.1445804915144
2025-11-03T09:23:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5896658400107     dec_j2k = -24.1445804915144
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967244948512511;171.162357330327;_
2025-11-03T09:23:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967244948512511;171.162357330327;_
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:32.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40127)
2025-11-03T09:23:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:32.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:32.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80801806, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967244948512511, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6140866, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63385, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5896658400107, telescope_dec_j2k=-24.1445804915144, observability=1)
2025-11-03T09:23:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:33
2025-11-03T09:23:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.585726261138916s
2025-11-03T09:23:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.585726261138916
2025-11-03T09:23:34.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:34
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.586343765258789s
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6145256;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63429;2460982.80803661;9.39284139;1.3;_
2025-11-03T09:23:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6145256;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63429;2460982.80803661;9.39284139;1.3;_
2025-11-03T09:23:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6145256, teldec = -24.256619
2025-11-03T09:23:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6145256 -24.256619
2025-11-03T09:23:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6145256 -24.256619
2025-11-03T09:23:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6145256 -24.256619
2025-11-03T09:23:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6145256;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63429;2460982.80803664;9.39284139;1.3;_14.5901044516363 -24.1445904518299
2025-11-03T09:23:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5901044516363     dec_j2k = -24.1445904518299
2025-11-03T09:23:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967239332840518;171.162362694745;_
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967239332840518;171.162362694745;_
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58741)
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:34.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:34.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80803661, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967239332840518, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6145256, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63429, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5901044516363, telescope_dec_j2k=-24.1445904518299, observability=1)
2025-11-03T09:23:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:34
2025-11-03T09:23:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3767971992492676s
2025-11-03T09:23:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3767971992492676
2025-11-03T09:23:35.020 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.020 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.021 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:35.021 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:35.021 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:23:35.022 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:35.023 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:35.024 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:23:35.025 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:35.026 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:35.027 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:35.027 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:35.027 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:35.027 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Park
2025-11-03T09:23:35.027 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:23:35.028 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:23:35.028 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 29;14.6147219;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63449;2460982.80804431;9.39303722;1.3;_Park Command Successful
2025-11-03T09:23:35.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:35
2025-11-03T09:23:35.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:35.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.975883960723877s
2025-11-03T09:23:35.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.975883960723877
2025-11-03T09:23:36.029 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:23:36.029 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:23:36.029 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:23:36.030 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:23:36.030 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:23:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:36
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778003692626953s
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6150863;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63485;2460982.80805975;9.39340056;1.3;_
2025-11-03T09:23:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6150863;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63485;2460982.80805975;9.39340056;1.3;_
2025-11-03T09:23:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6150863, teldec = -24.256619
2025-11-03T09:23:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6150863 -24.256619
2025-11-03T09:23:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6150863 -24.256619
2025-11-03T09:23:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6150863 -24.256619
2025-11-03T09:23:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6150863;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63485;2460982.80805978;9.39340056;1.3;_14.5906646556394 -24.1446031755342
2025-11-03T09:23:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5906646556394     dec_j2k = -24.1446031755342
2025-11-03T09:23:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967246954109651;171.162357330327;_
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967246954109651;171.162357330327;_
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53619)
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:36.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:36.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80805975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967246954109651, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6150863, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63485, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5906646556394, telescope_dec_j2k=-24.1446031755342, observability=1)
2025-11-03T09:23:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:36
2025-11-03T09:23:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38338446617126465s
2025-11-03T09:23:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38338446617126465
2025-11-03T09:23:37.030 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:23:37.030 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:23:37.030 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:23:37.031 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:23:37.031 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:23:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:37
2025-11-03T09:23:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984562873840332s
2025-11-03T09:23:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984562873840332
2025-11-03T09:23:38.033 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:23:38.033 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:23:38.033 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:23:38.034 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:23:38.034 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:23:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:38
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984375s
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6156461;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63541;2460982.80808289;9.39395889;1.3;_
2025-11-03T09:23:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6156461;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63541;2460982.80808289;9.39395889;1.3;_
2025-11-03T09:23:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6156461, teldec = -24.256619
2025-11-03T09:23:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6156461 -24.256619
2025-11-03T09:23:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6156461 -24.256619
2025-11-03T09:23:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6156461 -24.256619
2025-11-03T09:23:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6156461;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63541;2460982.80808292;9.39395889;1.3;_14.5912239604868 -24.1446158812549
2025-11-03T09:23:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5912239604868     dec_j2k = -24.1446158812549
2025-11-03T09:23:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967242541795942;171.162351965909;_
2025-11-03T09:23:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967242541795942;171.162351965909;_
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52059)
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:38.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:38.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80808289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967242541795942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6156461, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63541, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5912239604868, telescope_dec_j2k=-24.1446158812549, observability=1)
2025-11-03T09:23:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:38
2025-11-03T09:23:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3816714286804199s
2025-11-03T09:23:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3816714286804199
2025-11-03T09:23:39.034 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:23:39.034 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:23:39.034 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:39.035 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:23:39.036 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:23:39.037 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:39
2025-11-03T09:23:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.982567310333252s
2025-11-03T09:23:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.982567310333252
2025-11-03T09:23:40.037 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:40.037 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:40.038 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:40.039 [DEBUG] [ThreadPoolExecutor-3398_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:40.039 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:23:40.039 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:23:40.039 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:23:40.039 [DEBUG] [ThreadPoolExecutor-3398_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:40.040 [INFO] [ThreadPoolExecutor-3398_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:23:40.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:40
2025-11-03T09:23:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982886552810669s
2025-11-03T09:23:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6161971;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63596;2460982.80810606;9.39450833;1.3;_
2025-11-03T09:23:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6161971;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63596;2460982.80810606;9.39450833;1.3;_
2025-11-03T09:23:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6161971, teldec = -24.256619
2025-11-03T09:23:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6161971 -24.256619
2025-11-03T09:23:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6161971 -24.256619
2025-11-03T09:23:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6161971 -24.256619
2025-11-03T09:23:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6161971;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63596;2460982.80810609;9.39450833;1.3;_14.5917744731651 -24.1446283896235
2025-11-03T09:23:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5917744731651     dec_j2k = -24.1446283896235
2025-11-03T09:23:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967248157467935;171.162362694745;_
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967248157467935;171.162362694745;_
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40723)
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:40.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:40.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80810606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967248157467935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6161971, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63596, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5917744731651, telescope_dec_j2k=-24.1446283896235, observability=1)
2025-11-03T09:23:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:40
2025-11-03T09:23:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3817720413208008s
2025-11-03T09:23:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3817720413208008
2025-11-03T09:23:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:41
2025-11-03T09:23:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833920001983643s
2025-11-03T09:23:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833920001983643
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.2896935939788818s
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:41.667 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:41.668 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:41.669 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.6165614;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63633;2460982.80812117;9.39487167;1.3;_
2025-11-03T09:23:41.669 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.6165614;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63633;2460982.80812117;9.39487167;1.3;_
2025-11-03T09:23:41.669 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:41.669 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:41.669 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:41.670 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:41.670 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:41.670 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.6165614, teldec = -24.256619
2025-11-03T09:23:41.670 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6165614 -24.256619
2025-11-03T09:23:41.670 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6165614 -24.256619
2025-11-03T09:23:41.670 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6165614 -24.256619
2025-11-03T09:23:41.671 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.6165614;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63633;2460982.80812119;9.39487167;1.3;_14.5921384509923 -24.1446366609723
2025-11-03T09:23:41.671 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.5921384509923     dec_j2k = -24.1446366609723
2025-11-03T09:23:41.671 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:41.671 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967248157467935;171.162351965909;_
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967248157467935;171.162351965909;_
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:41.672 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:41.673 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:41.674 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:41.674 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:41.674 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:41.675 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57365)
2025-11-03T09:23:41.675 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:41.675 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:41.675 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:41.676 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:41.676 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:41.683 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:41.683 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80812117, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967248157467935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6165614, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63633, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5921384509923, telescope_dec_j2k=-24.1446366609723, observability=1)
2025-11-03T09:23:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:42
2025-11-03T09:23:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6781222820281982s
2025-11-03T09:23:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6781222820281982
2025-11-03T09:23:42.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:42
2025-11-03T09:23:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.074453592300415s
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:42.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6168698;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63664;2460982.80813378;9.39517917;1.3;_
2025-11-03T09:23:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6168698;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63664;2460982.80813378;9.39517917;1.3;_
2025-11-03T09:23:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:42.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6168698, teldec = -24.256619
2025-11-03T09:23:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6168698 -24.256619
2025-11-03T09:23:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6168698 -24.256619
2025-11-03T09:23:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6168698 -24.256619
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6168698;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63664;2460982.80813382;9.39517917;1.3;_14.5924465782712 -24.144643663931
2025-11-03T09:23:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5924465782712     dec_j2k = -24.144643663931
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967246954109651;171.162362694745;_
2025-11-03T09:23:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967246954109651;171.162362694745;_
2025-11-03T09:23:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41899)
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:42.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80813378, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967246954109651, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6168698, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63664, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5924465782712, telescope_dec_j2k=-24.144643663931, observability=1)
2025-11-03T09:23:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:43
2025-11-03T09:23:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5866096019744873s
2025-11-03T09:23:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5866096019744873
2025-11-03T09:23:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:44
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5855751037597656s
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6173177;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63709;2460982.80815233;9.39562583;1.3;_
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6173177;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63709;2460982.80815233;9.39562583;1.3;_
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6173177, teldec = -24.256619
2025-11-03T09:23:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6173177 -24.256619
2025-11-03T09:23:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6173177 -24.256619
2025-11-03T09:23:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6173177 -24.256619
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6173177;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63709;2460982.80815236;9.39562583;1.3;_14.5928940822151 -24.1446538358875
2025-11-03T09:23:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5928940822151     dec_j2k = -24.1446538358875
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967247355229079;171.162341237072;_
2025-11-03T09:23:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967247355229079;171.162341237072;_
2025-11-03T09:23:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:44.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54421)
2025-11-03T09:23:44.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:44.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:44.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:44.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:44.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:44.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80815233, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967247355229079, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6173177, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5928940822151, telescope_dec_j2k=-24.1446538358875, observability=1)
2025-11-03T09:23:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:44
2025-11-03T09:23:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38550567626953125s
2025-11-03T09:23:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38550567626953125
2025-11-03T09:23:45.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:45
2025-11-03T09:23:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9836280345916748s
2025-11-03T09:23:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9836280345916748
2025-11-03T09:23:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:46
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848542213439941s
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6178683;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63764;2460982.8081755;9.396175;1.3;_
2025-11-03T09:23:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6178683;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63764;2460982.8081755;9.396175;1.3;_
2025-11-03T09:23:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6178683, teldec = -24.256619
2025-11-03T09:23:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6178683 -24.256619
2025-11-03T09:23:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6178683 -24.256619
2025-11-03T09:23:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6178683 -24.256619
2025-11-03T09:23:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6178683;-24.256619;50.108585;89.993054;50.08601;90.12017;11.63764;2460982.80817552;9.396175;1.3;_14.5934441953886 -24.1446663423324
2025-11-03T09:23:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5934441953886     dec_j2k = -24.1446663423324
2025-11-03T09:23:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967250965303932;171.162357330327;_
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967250965303932;171.162357330327;_
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58221)
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:46.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:46.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:46.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8081755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967250965303932, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108585, telescope_az=89.993054, telescope_ra=14.6178683, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63764, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5934441953886, telescope_dec_j2k=-24.1446663423324, observability=1)
2025-11-03T09:23:46.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:46
2025-11-03T09:23:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38468027114868164s
2025-11-03T09:23:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38468027114868164
2025-11-03T09:23:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:47
2025-11-03T09:23:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9773452281951904s
2025-11-03T09:23:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9773452281951904
2025-11-03T09:23:47.696 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:47.696 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Status age = 1.3148598670959473s
2025-11-03T09:23:47.696 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:47.697 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:47.698 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 17;14.6182608;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63803;2460982.80819094;9.39656639;1.3;_
2025-11-03T09:23:47.698 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response 17;14.6182608;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63803;2460982.80819094;9.39656639;1.3;_
2025-11-03T09:23:47.698 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:47.698 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:47.698 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:47.699 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:47.699 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:47.699 [INFO] [Thread-88630 (handle)] [driver.py] [get_status()] Telra = 14.6182608, teldec = -24.256619
2025-11-03T09:23:47.699 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6182608 -24.256619
2025-11-03T09:23:47.699 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6182608 -24.256619
2025-11-03T09:23:47.699 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6182608 -24.256619
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 17;14.6182608;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63803;2460982.80819097;9.39656639;1.3;_14.5938363483785 -24.1446752590995
2025-11-03T09:23:47.700 [INFO] [Thread-88630 (handle)] [driver.py] [get_status()] ra_j2k = 14.5938363483785     dec_j2k = -24.1446752590995
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 140;0.0967247756348507;171.162362694745;_
2025-11-03T09:23:47.700 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response 140;0.0967247756348507;171.162362694745;_
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:47.701 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:47.702 [DEBUG] [Thread-88630 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:47.702 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:47.702 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:47.702 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:47.703 [DEBUG] [Thread-88630 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:47.703 [DEBUG] [Thread-88630 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:47.703 [DEBUG] [Thread-88630 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38197)
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:47.708 [DEBUG] [Thread-88630 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:47.715 [DEBUG] [Thread-88630 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:47.715 [DEBUG] [Thread-88630 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:47.715 [DEBUG] [Thread-88630 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:47.716 [DEBUG] [Thread-88630 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:47.716 [INFO] [Thread-88630 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80819094, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967247756348507, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6182608, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63803, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5938363483785, telescope_dec_j2k=-24.1446752590995, observability=1)
2025-11-03T09:23:48.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:48
2025-11-03T09:23:48.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:48.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6429340839385986s
2025-11-03T09:23:48.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6429340839385986
2025-11-03T09:23:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:48
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0426616668701172s
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.618541;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63831;2460982.80820325;9.39684583;1.3;_
2025-11-03T09:23:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.618541;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63831;2460982.80820325;9.39684583;1.3;_
2025-11-03T09:23:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.618541, teldec = -24.256619
2025-11-03T09:23:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.618541 -24.256619
2025-11-03T09:23:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.618541 -24.256619
2025-11-03T09:23:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.618541 -24.256619
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.618541;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63831;2460982.80820328;9.39684583;1.3;_14.5941163006676 -24.1446816253816
2025-11-03T09:23:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5941163006676     dec_j2k = -24.1446816253816
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967249360826219;171.162357330327;_
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967249360826219;171.162357330327;_
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33267)
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:48.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:48.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80820325, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967249360826219, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.618541, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63831, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5941163006676, telescope_dec_j2k=-24.1446816253816, observability=1)
2025-11-03T09:23:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:49
2025-11-03T09:23:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.578906774520874s
2025-11-03T09:23:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.578906774520874
2025-11-03T09:23:49.752 [DEBUG] [Thread-88631 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:49.752 [DEBUG] [Thread-88631 (handle)] [server.py] [get_status()] Status age = 0.9703190326690674s
2025-11-03T09:23:49.752 [DEBUG] [Thread-88631 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9703190326690674
2025-11-03T09:23:50.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:50
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5769498348236084s
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:50.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6189889;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63876;2460982.80822177;9.3972925;1.3;_
2025-11-03T09:23:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6189889;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63876;2460982.80822177;9.3972925;1.3;_
2025-11-03T09:23:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:50.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6189889, teldec = -24.256619
2025-11-03T09:23:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6189889 -24.256619
2025-11-03T09:23:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6189889 -24.256619
2025-11-03T09:23:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6189889 -24.256619
2025-11-03T09:23:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6189889;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63876;2460982.80822179;9.3972925;1.3;_14.5945638047266 -24.144691803158
2025-11-03T09:23:50.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5945638047266     dec_j2k = -24.144691803158
2025-11-03T09:23:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967248558587363;171.162351965909;_
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967248558587363;171.162351965909;_
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51461)
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:50.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:50.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:50.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80822177, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967248558587363, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6189889, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5945638047266, telescope_dec_j2k=-24.144691803158, observability=1)
2025-11-03T09:23:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:50
2025-11-03T09:23:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3782920837402344s
2025-11-03T09:23:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3782920837402344
2025-11-03T09:23:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:51
2025-11-03T09:23:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9799678325653076s
2025-11-03T09:23:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9799678325653076
2025-11-03T09:23:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:52
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799587726593018s
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6195396;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63931;2460982.80824495;9.39784167;1.3;_
2025-11-03T09:23:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6195396;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63931;2460982.80824495;9.39784167;1.3;_
2025-11-03T09:23:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6195396, teldec = -24.256619
2025-11-03T09:23:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6195396 -24.256619
2025-11-03T09:23:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6195396 -24.256619
2025-11-03T09:23:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6195396 -24.256619
2025-11-03T09:23:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6195396;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63931;2460982.80824498;9.39784167;1.3;_14.5951140179532 -24.1447043190294
2025-11-03T09:23:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5951140179532     dec_j2k = -24.1447043190294
2025-11-03T09:23:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967254976498212;171.162357330327;_
2025-11-03T09:23:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967254976498212;171.162357330327;_
2025-11-03T09:23:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:52.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37635)
2025-11-03T09:23:52.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:52.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:52.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:52.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80824495, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967254976498212, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6195396, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63931, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5951140179532, telescope_dec_j2k=-24.1447043190294, observability=1)
2025-11-03T09:23:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:52
2025-11-03T09:23:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3780636787414551s
2025-11-03T09:23:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3780636787414551
2025-11-03T09:23:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:53
2025-11-03T09:23:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980980634689331s
2025-11-03T09:23:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980980634689331
2025-11-03T09:23:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:54
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980130910873413s
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6200997;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63987;2460982.80826808;9.39840028;1.3;_
2025-11-03T09:23:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6200997;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63987;2460982.80826808;9.39840028;1.3;_
2025-11-03T09:23:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:54.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6200997, teldec = -24.256619
2025-11-03T09:23:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6200997 -24.256619
2025-11-03T09:23:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6200997 -24.256619
2025-11-03T09:23:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6200997 -24.256619
2025-11-03T09:23:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6200997;-24.256619;50.108584;89.993054;50.08601;90.12017;11.63987;2460982.8082681;9.39840028;1.3;_14.595673622919 -24.1447170509544
2025-11-03T09:23:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.595673622919     dec_j2k = -24.1447170509544
2025-11-03T09:23:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967254174259356;171.162351965909;_
2025-11-03T09:23:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967254174259356;171.162351965909;_
2025-11-03T09:23:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45257)
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80826808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967254174259356, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6200997, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.63987, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.595673622919, telescope_dec_j2k=-24.1447170509544, observability=1)
2025-11-03T09:23:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:54
2025-11-03T09:23:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3763694763183594s
2025-11-03T09:23:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3763694763183594
2025-11-03T09:23:56.039 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:56
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6570112705230713s
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:56.039 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:56.040 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:56.041 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.620576;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64034;2460982.80828751;9.39887528;1.3;_
2025-11-03T09:23:56.041 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.620576;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64034;2460982.80828751;9.39887528;1.3;_
2025-11-03T09:23:56.041 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:56.041 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:56.041 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:56.042 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:56.042 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:56.042 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.620576, teldec = -24.256619
2025-11-03T09:23:56.042 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.620576 -24.256619
2025-11-03T09:23:56.042 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.620576 -24.256619
2025-11-03T09:23:56.042 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.620576 -24.256619
2025-11-03T09:23:56.043 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.620576;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64034;2460982.80828754;9.39887528;1.3;_14.5961495019878 -24.1447278798961
2025-11-03T09:23:56.043 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5961495019878     dec_j2k = -24.1447278798961
2025-11-03T09:23:56.043 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:56.043 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:56.043 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967246552990223;171.162351965909;_
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967246552990223;171.162351965909;_
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:56.044 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:56.045 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:56.046 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:56.046 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:56.046 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40459)
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:56.048 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:56.055 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:56.055 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:56.055 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:56.055 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:56.055 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:56.056 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:56.056 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:56.056 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:56.056 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:56.056 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80828751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967246552990223, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.620576, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5961495019878, telescope_dec_j2k=-24.1447278798961, observability=1)
2025-11-03T09:23:56.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:56
2025-11-03T09:23:56.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:56.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30330920219421387s
2025-11-03T09:23:56.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30330920219421387
2025-11-03T09:23:56.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:56
2025-11-03T09:23:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7043361663818359s
2025-11-03T09:23:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7043361663818359
2025-11-03T09:23:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:57
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3051822185516357s
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6209401;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64071;2460982.8083028;9.39923833;1.3;_
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6209401;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64071;2460982.8083028;9.39923833;1.3;_
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:57.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:57.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:57.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:57.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6209401, teldec = -24.256619
2025-11-03T09:23:57.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6209401 -24.256619
2025-11-03T09:23:57.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6209401 -24.256619
2025-11-03T09:23:57.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6209401 -24.256619
2025-11-03T09:23:57.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6209401;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64071;2460982.80830282;9.39923833;1.3;_14.5965132802372 -24.1447361590982
2025-11-03T09:23:57.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5965132802372     dec_j2k = -24.1447361590982
2025-11-03T09:23:57.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:57.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:57.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967256580975924;171.162357330327;_
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967256580975924;171.162357330327;_
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:57.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:23:57.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52291)
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:57.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:57.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:57.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:57.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8083028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967256580975924, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6209401, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64071, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5965132802372, telescope_dec_j2k=-24.1447361590982, observability=1)
2025-11-03T09:23:57.922 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:57.922 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.5448551177978516s
2025-11-03T09:23:57.922 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5448551177978516
2025-11-03T09:23:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:58
2025-11-03T09:23:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834938049316406s
2025-11-03T09:23:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834938049316406
2025-11-03T09:23:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:58
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3821873664855957s
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:23:58.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:23:58.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:23:58.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:23:58.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6213228;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64109;2460982.80831899;9.39962;1.3;_
2025-11-03T09:23:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6213228;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64109;2460982.80831899;9.39962;1.3;_
2025-11-03T09:23:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:23:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:23:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:23:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:23:58.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6213228, teldec = -24.256619
2025-11-03T09:23:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6213228 -24.256619
2025-11-03T09:23:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6213228 -24.256619
2025-11-03T09:23:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6213228 -24.256619
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6213228;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64109;2460982.80831903;9.39962;1.3;_14.596895642072 -24.1447448623526
2025-11-03T09:23:58.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.596895642072     dec_j2k = -24.1447448623526
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09672533720205;171.162351965909;_
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09672533720205;171.162351965909;_
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:23:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:23:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:23:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40145)
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:23:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:23:58.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:23:58.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80831899, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09672533720205, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6213228, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64109, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.596895642072, telescope_dec_j2k=-24.1447448623526, observability=1)
2025-11-03T09:23:59.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:23:59
2025-11-03T09:23:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:23:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5809547901153564s
2025-11-03T09:23:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5809547901153564
2025-11-03T09:24:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:00
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5841052532196045s
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6217715;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64154;2460982.80833755;9.4000675;1.3;_
2025-11-03T09:24:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6217715;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64154;2460982.80833755;9.4000675;1.3;_
2025-11-03T09:24:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6217715, teldec = -24.256619
2025-11-03T09:24:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6217715 -24.256619
2025-11-03T09:24:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6217715 -24.256619
2025-11-03T09:24:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6217715 -24.256619
2025-11-03T09:24:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6217715;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64154;2460982.80833757;9.4000675;1.3;_14.5973439456159 -24.1447550680094
2025-11-03T09:24:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5973439456159     dec_j2k = -24.1447550680094
2025-11-03T09:24:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967252970901072;171.162351965909;_
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967252970901072;171.162351965909;_
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42191)
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:00.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:00.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80833755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967252970901072, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6217715, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64154, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5973439456159, telescope_dec_j2k=-24.1447550680094, observability=1)
2025-11-03T09:24:00.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:00
2025-11-03T09:24:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37499165534973145s
2025-11-03T09:24:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37499165534973145
2025-11-03T09:24:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:01
2025-11-03T09:24:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.979318380355835s
2025-11-03T09:24:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.979318380355835
2025-11-03T09:24:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:02
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793953895568848s
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.622333;-24.256619;50.108584;89.993054;50.08601;90.12017;11.6421;2460982.80836068;9.4006275;1.3;_
2025-11-03T09:24:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.622333;-24.256619;50.108584;89.993054;50.08601;90.12017;11.6421;2460982.80836068;9.4006275;1.3;_
2025-11-03T09:24:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.622333, teldec = -24.256619
2025-11-03T09:24:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.622333 -24.256619
2025-11-03T09:24:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.622333 -24.256619
2025-11-03T09:24:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.622333 -24.256619
2025-11-03T09:24:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.622333;-24.256619;50.108584;89.993054;50.08601;90.12017;11.6421;2460982.80836071;9.4006275;1.3;_14.5979049495373 -24.1447678414995
2025-11-03T09:24:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5979049495373     dec_j2k = -24.1447678414995
2025-11-03T09:24:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967257784334209;171.162341237072;_
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967257784334209;171.162341237072;_
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59927)
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:02.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:02.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80836068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967257784334209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.622333, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6421, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5979049495373, telescope_dec_j2k=-24.1447678414995, observability=1)
2025-11-03T09:24:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:02
2025-11-03T09:24:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.375748872756958s
2025-11-03T09:24:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.375748872756958
2025-11-03T09:24:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:03
2025-11-03T09:24:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9780490398406982s
2025-11-03T09:24:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9780490398406982
2025-11-03T09:24:04.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:04
2025-11-03T09:24:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844701290130615s
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6228851;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64265;2460982.80838389;9.40117806;1.3;_
2025-11-03T09:24:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6228851;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64265;2460982.80838389;9.40117806;1.3;_
2025-11-03T09:24:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:04.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6228851, teldec = -24.256619
2025-11-03T09:24:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6228851 -24.256619
2025-11-03T09:24:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6228851 -24.256619
2025-11-03T09:24:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6228851 -24.256619
2025-11-03T09:24:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6228851;-24.256619;50.108584;89.993054;50.08601;90.12017;11.64265;2460982.80838392;9.40117806;1.3;_14.5984565618109 -24.1447804035382
2025-11-03T09:24:04.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5984565618109     dec_j2k = -24.1447804035382
2025-11-03T09:24:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096725738321478;171.162357330327;_
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096725738321478;171.162357330327;_
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54225)
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:04.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:04.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:04.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80838389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096725738321478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6228851, telescope_dec=-24.256619, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64265, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5984565618109, telescope_dec_j2k=-24.1447804035382, observability=1)
2025-11-03T09:24:04.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:04
2025-11-03T09:24:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3730595111846924s
2025-11-03T09:24:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3730595111846924
2025-11-03T09:24:05.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:05
2025-11-03T09:24:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9775609970092773s
2025-11-03T09:24:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9775609970092773
2025-11-03T09:24:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:06
2025-11-03T09:24:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9748539924621582s
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6234461;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64321;2460982.80840697;9.4017375;1.3;_
2025-11-03T09:24:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6234461;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64321;2460982.80840697;9.4017375;1.3;_
2025-11-03T09:24:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6234461, teldec = -24.256618
2025-11-03T09:24:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6234461 -24.256618
2025-11-03T09:24:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6234461 -24.256618
2025-11-03T09:24:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6234461 -24.256618
2025-11-03T09:24:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6234461;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64321;2460982.80840699;9.4017375;1.3;_14.5990170663918 -24.1447921705119
2025-11-03T09:24:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5990170663918     dec_j2k = -24.1447921705119
2025-11-03T09:24:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967252168662216;171.162351965909;_
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967252168662216;171.162351965909;_
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57085)
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:06.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:06.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:06.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:06.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:06.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80840697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967252168662216, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6234461, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64321, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5990170663918, telescope_dec_j2k=-24.1447921705119, observability=1)
2025-11-03T09:24:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:06
2025-11-03T09:24:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38388657569885254s
2025-11-03T09:24:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38388657569885254
2025-11-03T09:24:07.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:07
2025-11-03T09:24:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9818487167358398s
2025-11-03T09:24:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9818487167358398
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Status age = 1.4510366916656494s
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:07.828 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:07.829 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:07.830 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 17;14.6238658;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64363;2460982.80842396;9.40215611;1.3;_
2025-11-03T09:24:07.830 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response 17;14.6238658;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64363;2460982.80842396;9.40215611;1.3;_
2025-11-03T09:24:07.830 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:07.830 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:07.830 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:07.831 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:07.831 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:07.831 [INFO] [Thread-88632 (handle)] [driver.py] [get_status()] Telra = 14.6238658, teldec = -24.256618
2025-11-03T09:24:07.831 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6238658 -24.256618
2025-11-03T09:24:07.831 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6238658 -24.256618
2025-11-03T09:24:07.831 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6238658 -24.256618
2025-11-03T09:24:07.832 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 17;14.6238658;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64363;2460982.80842398;9.40215611;1.3;_14.5994363956956 -24.1448017234403
2025-11-03T09:24:07.832 [INFO] [Thread-88632 (handle)] [driver.py] [get_status()] ra_j2k = 14.5994363956956     dec_j2k = -24.1448017234403
2025-11-03T09:24:07.832 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:07.832 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:07.832 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 140;0.0967249761945647;171.162362694745;_
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response 140;0.0967249761945647;171.162362694745;_
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:07.833 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:07.834 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:07.835 [DEBUG] [Thread-88632 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:07.835 [DEBUG] [Thread-88632 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:07.835 [DEBUG] [Thread-88632 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44389)
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:07.841 [DEBUG] [Thread-88632 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:07.849 [DEBUG] [Thread-88632 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:07.849 [INFO] [Thread-88632 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80842396, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967249761945647, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6238658, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64363, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5994363956956, telescope_dec_j2k=-24.1448017234403, observability=1)
2025-11-03T09:24:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:08
2025-11-03T09:24:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5102317333221436s
2025-11-03T09:24:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5102317333221436
2025-11-03T09:24:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:08
2025-11-03T09:24:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9103484153747559s
2025-11-03T09:24:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9103484153747559
2025-11-03T09:24:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:09
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5106415748596191s
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:09.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:09.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:09.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6242764;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64404;2460982.80844168;9.40256556;1.3;_
2025-11-03T09:24:09.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6242764;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64404;2460982.80844168;9.40256556;1.3;_
2025-11-03T09:24:09.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:09.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:09.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:09.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:09.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:09.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6242764, teldec = -24.256618
2025-11-03T09:24:09.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6242764 -24.256618
2025-11-03T09:24:09.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6242764 -24.256618
2025-11-03T09:24:09.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6242764 -24.256618
2025-11-03T09:24:09.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6242764;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64404;2460982.80844171;9.40256556;1.3;_14.5998466330631 -24.1448110705644
2025-11-03T09:24:09.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.5998466330631     dec_j2k = -24.1448110705644
2025-11-03T09:24:09.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:09.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:09.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096725537761764;171.162357330327;_
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096725537761764;171.162357330327;_
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:09.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:09.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45807)
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:09.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:09.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:09.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80844168, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096725537761764, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6242764, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64404, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.5998466330631, telescope_dec_j2k=-24.1448110705644, observability=1)
2025-11-03T09:24:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:10
2025-11-03T09:24:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9826133251190186s
2025-11-03T09:24:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9826133251190186
2025-11-03T09:24:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:10
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3816516399383545s
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6246689;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64444;2460982.80845787;9.40295694;1.3;_
2025-11-03T09:24:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6246689;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64444;2460982.80845787;9.40295694;1.3;_
2025-11-03T09:24:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:10.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6246689, teldec = -24.256618
2025-11-03T09:24:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6246689 -24.256618
2025-11-03T09:24:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6246689 -24.256618
2025-11-03T09:24:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6246689 -24.256618
2025-11-03T09:24:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6246689;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64444;2460982.8084579;9.40295694;1.3;_14.6002387864405 -24.144820006874
2025-11-03T09:24:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6002387864405     dec_j2k = -24.144820006874
2025-11-03T09:24:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967251767542788;171.162357330327;_
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967251767542788;171.162357330327;_
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46067)
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:10.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80845787, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967251767542788, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6246689, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.6002387864405, telescope_dec_j2k=-24.144820006874, observability=1)
2025-11-03T09:24:11.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:11
2025-11-03T09:24:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5837934017181396s
2025-11-03T09:24:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5837934017181396
2025-11-03T09:24:11.420 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:24:11
2025-11-03T09:24:11.420 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:11.420 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.6437385082244873s
2025-11-03T09:24:11.420 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6437385082244873
2025-11-03T09:24:12.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:12
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5839118957519531s
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6251173;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64488;2460982.80847641;9.40340417;1.3;_
2025-11-03T09:24:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6251173;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64488;2460982.80847641;9.40340417;1.3;_
2025-11-03T09:24:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:12.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6251173, teldec = -24.256618
2025-11-03T09:24:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6251173 -24.256618
2025-11-03T09:24:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6251173 -24.256618
2025-11-03T09:24:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6251173 -24.256618
2025-11-03T09:24:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6251173;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64488;2460982.80847644;9.40340417;1.3;_14.6006867904808 -24.1448302173601
2025-11-03T09:24:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6006867904808     dec_j2k = -24.1448302173601
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262998886773;171.162357330327;_
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262998886773;171.162357330327;_
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36859)
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:12.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:12.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:12.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:12.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:12.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:12.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80847641, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262998886773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6251173, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64488, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:23:14.139122', telescope_ra_j2k=14.6006867904808, telescope_dec_j2k=-24.1448302173601, observability=1)
2025-11-03T09:24:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:12
2025-11-03T09:24:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38125157356262207s
2025-11-03T09:24:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38125157356262207
2025-11-03T09:24:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:13
2025-11-03T09:24:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833946228027344s
2025-11-03T09:24:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833946228027344
2025-11-03T09:24:14.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:14.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:14.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:14.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:14.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:14.281 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:14.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:14.282 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:14.282 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:14.282 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:14.282 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:24:14.282 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:14.282 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:24:14.283 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:24:14.284 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:14
2025-11-03T09:24:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847378730773926s
2025-11-03T09:24:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6256777;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64545;2460982.80849957;9.40396306;1.3;_
2025-11-03T09:24:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6256777;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64545;2460982.80849957;9.40396306;1.3;_
2025-11-03T09:24:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6256777, teldec = -24.256618
2025-11-03T09:24:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6256777 -24.256618
2025-11-03T09:24:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6256777 -24.256618
2025-11-03T09:24:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6256777 -24.256618
2025-11-03T09:24:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6256777;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64545;2460982.80849959;9.40396306;1.3;_14.601246695663 -24.1448429803852
2025-11-03T09:24:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.601246695663     dec_j2k = -24.1448429803852
2025-11-03T09:24:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262196647917;171.162357330327;_
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262196647917;171.162357330327;_
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54143)
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:14.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:14.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:14.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:14.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:14.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80849957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262196647917, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6256777, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.601246695663, telescope_dec_j2k=-24.1448429803852, observability=1)
2025-11-03T09:24:14.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:14
2025-11-03T09:24:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824131488800049s
2025-11-03T09:24:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824131488800049
2025-11-03T09:24:14.934 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:24:14.934 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5563499927520752s
2025-11-03T09:24:14.934 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5563499927520752
2025-11-03T09:24:14.934 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5142505168914795 seconds ago
2025-11-03T09:24:15.284 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:15.284 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:15.284 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:24:15.285 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:15.286 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:15.287 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:15.287 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:15.287 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:15.287 [DEBUG] [ThreadPoolExecutor-3400_0] [payload.py] [to_registers()] [0]
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57227)
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:15.289 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:15.297 [DEBUG] [ThreadPoolExecutor-3400_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:15.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:15
2025-11-03T09:24:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833812713623047s
2025-11-03T09:24:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833812713623047
2025-11-03T09:24:16.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:16
2025-11-03T09:24:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816958904266357s
2025-11-03T09:24:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6262293;-24.256618;50.108584;89.993054;50.08601;90.12017;11.646;2460982.80852271;9.40451306;1.3;_
2025-11-03T09:24:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6262293;-24.256618;50.108584;89.993054;50.08601;90.12017;11.646;2460982.80852271;9.40451306;1.3;_
2025-11-03T09:24:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6262293, teldec = -24.256618
2025-11-03T09:24:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6262293 -24.256618
2025-11-03T09:24:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6262293 -24.256618
2025-11-03T09:24:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6262293 -24.256618
2025-11-03T09:24:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6262293;-24.256618;50.108584;89.993054;50.08601;90.12017;11.646;2460982.80852273;9.40451306;1.3;_14.6017978086628 -24.1448555453724
2025-11-03T09:24:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6017978086628     dec_j2k = -24.1448555453724
2025-11-03T09:24:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262998886773;171.162346601491;_
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262998886773;171.162346601491;_
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:16.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39385)
2025-11-03T09:24:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:16.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:16.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80852271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262998886773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6262293, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.646, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6017978086628, telescope_dec_j2k=-24.1448555453724, observability=1)
2025-11-03T09:24:16.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:16
2025-11-03T09:24:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38930368423461914s
2025-11-03T09:24:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38930368423461914
2025-11-03T09:24:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:17
2025-11-03T09:24:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9817593097686768s
2025-11-03T09:24:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9817593097686768
2025-11-03T09:24:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:18
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818577766418457s
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.62679;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64656;2460982.80854589;9.40507222;1.3;_
2025-11-03T09:24:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.62679;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64656;2460982.80854589;9.40507222;1.3;_
2025-11-03T09:24:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:18.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.62679, teldec = -24.256618
2025-11-03T09:24:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.62679 -24.256618
2025-11-03T09:24:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.62679 -24.256618
2025-11-03T09:24:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.62679 -24.256618
2025-11-03T09:24:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.62679;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64656;2460982.80854591;9.40507222;1.3;_14.6023580136764 -24.1448683200705
2025-11-03T09:24:18.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6023580136764     dec_j2k = -24.1448683200705
2025-11-03T09:24:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967263400006201;171.162357330327;_
2025-11-03T09:24:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967263400006201;171.162357330327;_
2025-11-03T09:24:18.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33771)
2025-11-03T09:24:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80854589, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967263400006201, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.62679, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64656, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6023580136764, telescope_dec_j2k=-24.1448683200705, observability=1)
2025-11-03T09:24:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:18
2025-11-03T09:24:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3847386837005615s
2025-11-03T09:24:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3847386837005615
2025-11-03T09:24:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:19
2025-11-03T09:24:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815647602081299s
2025-11-03T09:24:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815647602081299
2025-11-03T09:24:20.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:20
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834630489349365s
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6273495;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64712;2460982.80856903;9.40563028;1.3;_
2025-11-03T09:24:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6273495;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64712;2460982.80856903;9.40563028;1.3;_
2025-11-03T09:24:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6273495, teldec = -24.256618
2025-11-03T09:24:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6273495 -24.256618
2025-11-03T09:24:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6273495 -24.256618
2025-11-03T09:24:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6273495 -24.256618
2025-11-03T09:24:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6273495;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64712;2460982.80856905;9.40563028;1.3;_14.6029170197977 -24.1448810698606
2025-11-03T09:24:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6029170197977     dec_j2k = -24.1448810698606
2025-11-03T09:24:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967258586573065;171.162357330327;_
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967258586573065;171.162357330327;_
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33977)
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:20.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:20.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:20.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80856903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967258586573065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6273495, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64712, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6029170197977, telescope_dec_j2k=-24.1448810698606, observability=1)
2025-11-03T09:24:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:20
2025-11-03T09:24:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3799629211425781s
2025-11-03T09:24:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3799629211425781
2025-11-03T09:24:21.471 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:21
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0915782451629639s
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6276481;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64742;2460982.80858185;9.40592806;1.3;_
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6276481;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64742;2460982.80858185;9.40592806;1.3;_
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:21.474 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6276481, teldec = -24.256618
2025-11-03T09:24:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6276481 -24.256618
2025-11-03T09:24:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6276481 -24.256618
2025-11-03T09:24:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6276481 -24.256618
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6276481;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64742;2460982.80858188;9.40592806;1.3;_14.603215356239 -24.1448878753004
2025-11-03T09:24:21.475 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.603215356239     dec_j2k = -24.1448878753004
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262597767345;171.162357330327;_
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262597767345;171.162357330327;_
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43095)
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:21.489 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:21.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:21.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80858185, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262597767345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6276481, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64742, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.603215356239, telescope_dec_j2k=-24.1448878753004, observability=1)
2025-11-03T09:24:22.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:22
2025-11-03T09:24:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.871495246887207s
2025-11-03T09:24:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.871495246887207
2025-11-03T09:24:22.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:22
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2661411762237549s
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:22.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:22.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6280125;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64778;2460982.80859674;9.40629139;1.3;_
2025-11-03T09:24:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6280125;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64778;2460982.80859674;9.40629139;1.3;_
2025-11-03T09:24:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:22.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6280125, teldec = -24.256618
2025-11-03T09:24:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6280125 -24.256618
2025-11-03T09:24:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6280125 -24.256618
2025-11-03T09:24:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6280125 -24.256618
2025-11-03T09:24:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6280125;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64778;2460982.80859676;9.40629139;1.3;_14.6035794346206 -24.1448961813359
2025-11-03T09:24:22.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6035794346206     dec_j2k = -24.1448961813359
2025-11-03T09:24:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967258987692493;171.162357330327;_
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967258987692493;171.162357330327;_
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59009)
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:22.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:22.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:22.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80859674, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967258987692493, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6280125, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64778, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6035794346206, telescope_dec_j2k=-24.1448961813359, observability=1)
2025-11-03T09:24:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:23
2025-11-03T09:24:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5855100154876709s
2025-11-03T09:24:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5855100154876709
2025-11-03T09:24:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:24
2025-11-03T09:24:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5845370292663574s
2025-11-03T09:24:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6284612;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64823;2460982.80861531;9.40673889;1.3;_
2025-11-03T09:24:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6284612;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64823;2460982.80861531;9.40673889;1.3;_
2025-11-03T09:24:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6284612, teldec = -24.256618
2025-11-03T09:24:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6284612 -24.256618
2025-11-03T09:24:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6284612 -24.256618
2025-11-03T09:24:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6284612 -24.256618
2025-11-03T09:24:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6284612;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64823;2460982.80861534;9.40673889;1.3;_14.6040277386276 -24.1449064102983
2025-11-03T09:24:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6040277386276     dec_j2k = -24.1449064102983
2025-11-03T09:24:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262196647917;171.162362694745;_
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262196647917;171.162362694745;_
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52863)
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:24.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:24.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:24.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:24.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:24.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80861531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262196647917, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6284612, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64823, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6040277386276, telescope_dec_j2k=-24.1449064102983, observability=1)
2025-11-03T09:24:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:24
2025-11-03T09:24:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37930965423583984s
2025-11-03T09:24:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37930965423583984
2025-11-03T09:24:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:25
2025-11-03T09:24:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796936511993408s
2025-11-03T09:24:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796936511993408
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Status age = 1.5439441204071045s
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:25.924 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 17;14.6289091;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64868;2460982.80863339;9.40718556;1.3;_
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response 17;14.6289091;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64868;2460982.80863339;9.40718556;1.3;_
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:25.925 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:25.926 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:25.926 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:25.926 [INFO] [Thread-88633 (handle)] [driver.py] [get_status()] Telra = 14.6289091, teldec = -24.256618
2025-11-03T09:24:25.926 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6289091 -24.256618
2025-11-03T09:24:25.927 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6289091 -24.256618
2025-11-03T09:24:25.927 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6289091 -24.256618
2025-11-03T09:24:25.927 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 17;14.6289091;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64868;2460982.80863341;9.40718556;1.3;_14.6044752433715 -24.144916622581
2025-11-03T09:24:25.927 [INFO] [Thread-88633 (handle)] [driver.py] [get_status()] ra_j2k = 14.6044752433715     dec_j2k = -24.144916622581
2025-11-03T09:24:25.928 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:25.928 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:25.928 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 140;0.0967260191050777;171.162351965909;_
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response 140;0.0967260191050777;171.162351965909;_
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:25.929 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:25.930 [DEBUG] [Thread-88633 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52873)
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:25.934 [DEBUG] [Thread-88633 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:25.942 [DEBUG] [Thread-88633 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:25.943 [INFO] [Thread-88633 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80863339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967260191050777, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6289091, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64868, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6044752433715, telescope_dec_j2k=-24.144916622581, observability=1)
2025-11-03T09:24:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:26
2025-11-03T09:24:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41841721534729004s
2025-11-03T09:24:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41841721534729004
2025-11-03T09:24:26.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:26
2025-11-03T09:24:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8325438499450684s
2025-11-03T09:24:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8325438499450684
2025-11-03T09:24:27.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:27
2025-11-03T09:24:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4248833656311035s
2025-11-03T09:24:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6293007;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64907;2460982.80865012;9.40757611;1.3;_
2025-11-03T09:24:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6293007;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64907;2460982.80865012;9.40757611;1.3;_
2025-11-03T09:24:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:27.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:27.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6293007, teldec = -24.256618
2025-11-03T09:24:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6293007 -24.256618
2025-11-03T09:24:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6293007 -24.256618
2025-11-03T09:24:27.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6293007 -24.256618
2025-11-03T09:24:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6293007;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64907;2460982.80865014;9.40757611;1.3;_14.6048664978237 -24.1449255524785
2025-11-03T09:24:27.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6048664978237     dec_j2k = -24.1449255524785
2025-11-03T09:24:27.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262196647917;171.162351965909;_
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262196647917;171.162351965909;_
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:27.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:27.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:27.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:27.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:27.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56149)
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:27.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:27.389 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:27.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:27.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80865012, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262196647917, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6293007, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64907, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6048664978237, telescope_dec_j2k=-24.1449255524785, observability=1)
2025-11-03T09:24:28.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:28
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.38248872756958s
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6296834;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64945;2460982.80866635;9.40795778;1.3;_
2025-11-03T09:24:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6296834;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64945;2460982.80866635;9.40795778;1.3;_
2025-11-03T09:24:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:28.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6296834, teldec = -24.256618
2025-11-03T09:24:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6296834 -24.256618
2025-11-03T09:24:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6296834 -24.256618
2025-11-03T09:24:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6296834 -24.256618
2025-11-03T09:24:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6296834;-24.256618;50.108584;89.993054;50.08601;90.12017;11.64945;2460982.80866639;9.40795778;1.3;_14.605248860152 -24.1449342805731
2025-11-03T09:24:28.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.605248860152     dec_j2k = -24.1449342805731
2025-11-03T09:24:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262998886773;171.162368059163;_
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262998886773;171.162368059163;_
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48585)
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:28.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80866635, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262998886773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6296834, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.64945, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.605248860152, telescope_dec_j2k=-24.1449342805731, observability=1)
2025-11-03T09:24:29.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:29
2025-11-03T09:24:29.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:29.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6618199348449707s
2025-11-03T09:24:29.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6618199348449707
2025-11-03T09:24:29.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:29
2025-11-03T09:24:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6853663921356201s
2025-11-03T09:24:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6853663921356201
2025-11-03T09:24:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:30
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787325859069824s
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6302444;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65001;2460982.80868946;9.40851722;1.3;_
2025-11-03T09:24:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6302444;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65001;2460982.80868946;9.40851722;1.3;_
2025-11-03T09:24:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6302444, teldec = -24.256618
2025-11-03T09:24:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6302444 -24.256618
2025-11-03T09:24:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6302444 -24.256618
2025-11-03T09:24:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6302444 -24.256618
2025-11-03T09:24:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6302444;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65001;2460982.80868949;9.40851722;1.3;_14.6058093652001 -24.1449470771419
2025-11-03T09:24:30.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6058093652001     dec_j2k = -24.1449470771419
2025-11-03T09:24:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967262998886773;171.162362694745;_
2025-11-03T09:24:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967262998886773;171.162362694745;_
2025-11-03T09:24:30.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:30.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55587)
2025-11-03T09:24:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:30.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:30.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80868946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967262998886773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6302444, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65001, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6058093652001, telescope_dec_j2k=-24.1449470771419, observability=1)
2025-11-03T09:24:31.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:31
2025-11-03T09:24:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5773208141326904s
2025-11-03T09:24:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5773208141326904
2025-11-03T09:24:31.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:31
2025-11-03T09:24:31.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:31.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6022598743438721s
2025-11-03T09:24:31.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6022598743438721
2025-11-03T09:24:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:32
2025-11-03T09:24:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9703810214996338s
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.630799;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65057;2460982.80871251;9.40907028;1.3;_
2025-11-03T09:24:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.630799;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65057;2460982.80871251;9.40907028;1.3;_
2025-11-03T09:24:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.630799, teldec = -24.256618
2025-11-03T09:24:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.630799 -24.256618
2025-11-03T09:24:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.630799 -24.256618
2025-11-03T09:24:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.630799 -24.256618
2025-11-03T09:24:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.630799;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65057;2460982.80871253;9.40907028;1.3;_14.6063634759424 -24.1449597301242
2025-11-03T09:24:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6063634759424     dec_j2k = -24.1449597301242
2025-11-03T09:24:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967268213439338;171.162346601491;_
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967268213439338;171.162346601491;_
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49271)
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:32.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:32.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80871251, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967268213439338, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.630799, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65057, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6063634759424, telescope_dec_j2k=-24.1449597301242, observability=1)
2025-11-03T09:24:34.485 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:34
2025-11-03T09:24:34.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:34.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7075297832489014s
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:34.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:34.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6312758;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65104;2460982.8087325;9.40954583;1.3;_
2025-11-03T09:24:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6312758;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65104;2460982.8087325;9.40954583;1.3;_
2025-11-03T09:24:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:34.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:34.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:34.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:34.489 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6312758, teldec = -24.256618
2025-11-03T09:24:34.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6312758 -24.256618
2025-11-03T09:24:34.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6312758 -24.256618
2025-11-03T09:24:34.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6312758 -24.256618
2025-11-03T09:24:34.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6312758;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65104;2460982.80873252;9.40954583;1.3;_14.6068398553564 -24.1449706100367
2025-11-03T09:24:34.490 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6068398553564     dec_j2k = -24.1449706100367
2025-11-03T09:24:34.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:34.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:34.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967263400006201;171.162351965909;_
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967263400006201;171.162351965909;_
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:34.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:34.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49575)
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:34.497 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:34.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:34.505 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8087325, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967263400006201, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6312758, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65104, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6068398553564, telescope_dec_j2k=-24.1449706100367, observability=1)
2025-11-03T09:24:34.526 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:34
2025-11-03T09:24:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021435260772705078s
2025-11-03T09:24:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021435260772705078
2025-11-03T09:24:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:34
2025-11-03T09:24:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2537705898284912s
2025-11-03T09:24:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2537705898284912
2025-11-03T09:24:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:36
2025-11-03T09:24:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.257366180419922s
2025-11-03T09:24:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6319193;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65169;2460982.80875884;9.4101875;1.3;_
2025-11-03T09:24:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6319193;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65169;2460982.80875884;9.4101875;1.3;_
2025-11-03T09:24:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:36.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6319193, teldec = -24.256618
2025-11-03T09:24:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6319193 -24.256618
2025-11-03T09:24:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6319193 -24.256618
2025-11-03T09:24:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6319193 -24.256618
2025-11-03T09:24:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6319193;-24.256618;50.108584;89.993054;50.08601;90.12017;11.65169;2460982.80875888;9.4101875;1.3;_14.6074827877799 -24.1449852966063
2025-11-03T09:24:36.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6074827877799     dec_j2k = -24.1449852966063
2025-11-03T09:24:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967265004483914;171.162357330327;_
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967265004483914;171.162357330327;_
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51455)
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:36.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:36.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:36.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80875884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967265004483914, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108584, telescope_az=89.993054, telescope_ra=14.6319193, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65169, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6074827877799, telescope_dec_j2k=-24.1449852966063, observability=1)
2025-11-03T09:24:37.015 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:37
2025-11-03T09:24:37.015 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:37.015 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23284506797790527s
2025-11-03T09:24:37.015 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23284506797790527
2025-11-03T09:24:37.036 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:37
2025-11-03T09:24:37.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:37.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25422096252441406s
2025-11-03T09:24:37.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25422096252441406
2025-11-03T09:24:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:38
2025-11-03T09:24:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.579380750656128s
2025-11-03T09:24:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6323585;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65213;2460982.80877736;9.41062556;1.3;_
2025-11-03T09:24:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6323585;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65213;2460982.80877736;9.41062556;1.3;_
2025-11-03T09:24:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6323585, teldec = -24.256618
2025-11-03T09:24:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6323585 -24.256618
2025-11-03T09:24:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6323585 -24.256618
2025-11-03T09:24:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6323585 -24.256618
2025-11-03T09:24:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6323585;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65213;2460982.80877738;9.41062556;1.3;_14.6079216004358 -24.1449953222902
2025-11-03T09:24:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6079216004358     dec_j2k = -24.1449953222902
2025-11-03T09:24:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967264603364485;171.162362694745;_
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967264603364485;171.162362694745;_
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42417)
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80877736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967264603364485, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6323585, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65213, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6079216004358, telescope_dec_j2k=-24.1449953222902, observability=1)
2025-11-03T09:24:38.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:38
2025-11-03T09:24:38.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:38.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022161245346069336s
2025-11-03T09:24:38.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022161245346069336
2025-11-03T09:24:38.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:38
2025-11-03T09:24:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3740065097808838s
2025-11-03T09:24:38.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3740065097808838
2025-11-03T09:24:40.297 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:40.297 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:40.297 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:40.297 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:40.298 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:24:40.299 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:24:40.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:40.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:40
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799532890319824s
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6329192;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65269;2460982.8088005;9.41118472;1.3;_
2025-11-03T09:24:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6329192;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65269;2460982.8088005;9.41118472;1.3;_
2025-11-03T09:24:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6329192, teldec = -24.256618
2025-11-03T09:24:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6329192 -24.256618
2025-11-03T09:24:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6329192 -24.256618
2025-11-03T09:24:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6329192 -24.256618
2025-11-03T09:24:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6329192;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65269;2460982.80880053;9.41118472;1.3;_14.6084818059804 -24.145008123646
2025-11-03T09:24:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6084818059804     dec_j2k = -24.145008123646
2025-11-03T09:24:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967268213439338;171.162362694745;_
2025-11-03T09:24:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967268213439338;171.162362694745;_
2025-11-03T09:24:40.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55111)
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:40.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:40.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8088005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967268213439338, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6329192, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65269, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6084818059804, telescope_dec_j2k=-24.145008123646, observability=1)
2025-11-03T09:24:40.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:40
2025-11-03T09:24:40.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:40.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02790689468383789s
2025-11-03T09:24:40.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02790689468383789
2025-11-03T09:24:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:40
2025-11-03T09:24:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38088369369506836s
2025-11-03T09:24:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38088369369506836
2025-11-03T09:24:40.774 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:40.774 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.39423418045043945s
2025-11-03T09:24:40.774 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39423418045043945
2025-11-03T09:24:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:42
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3820273876190186s
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6335908;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65336;2460982.80882828;9.41185444;1.3;_
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6335908;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65336;2460982.80882828;9.41185444;1.3;_
2025-11-03T09:24:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6335908, teldec = -24.256618
2025-11-03T09:24:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6335908 -24.256618
2025-11-03T09:24:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6335908 -24.256618
2025-11-03T09:24:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6335908 -24.256618
2025-11-03T09:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6335908;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65336;2460982.80882831;9.41185444;1.3;_14.6091528137914 -24.1450234601701
2025-11-03T09:24:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6091528137914     dec_j2k = -24.1450234601701
2025-11-03T09:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967268614558766;171.162362694745;_
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967268614558766;171.162362694745;_
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52443)
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:42.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80882828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967268614558766, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6335908, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65336, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6091528137914, telescope_dec_j2k=-24.1450234601701, observability=1)
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Status age = 1.2233459949493408s
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:44.006 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:44.007 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:44.008 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 17;14.6339454;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65371;2460982.80884268;9.41220806;1.3;_
2025-11-03T09:24:44.008 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response 17;14.6339454;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65371;2460982.80884268;9.41220806;1.3;_
2025-11-03T09:24:44.008 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:44.008 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:44.008 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:44.009 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:44.009 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:44.009 [INFO] [Thread-88634 (handle)] [driver.py] [get_status()] Telra = 14.6339454, teldec = -24.256618
2025-11-03T09:24:44.009 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6339454 -24.256618
2025-11-03T09:24:44.009 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6339454 -24.256618
2025-11-03T09:24:44.009 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6339454 -24.256618
2025-11-03T09:24:44.010 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 17;14.6339454;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65371;2460982.80884271;9.41220806;1.3;_14.6095071011481 -24.1450315591555
2025-11-03T09:24:44.010 [INFO] [Thread-88634 (handle)] [driver.py] [get_status()] ra_j2k = 14.6095071011481     dec_j2k = -24.1450315591555
2025-11-03T09:24:44.010 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:44.010 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 140;0.0967272224633619;171.162351965909;_
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response 140;0.0967272224633619;171.162351965909;_
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:44.011 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:44.012 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:44.013 [DEBUG] [Thread-88634 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:44.013 [DEBUG] [Thread-88634 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:44.013 [DEBUG] [Thread-88634 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59201)
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:44.020 [DEBUG] [Thread-88634 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:44.027 [DEBUG] [Thread-88634 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:44.027 [INFO] [Thread-88634 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80884268, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967272224633619, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6339454, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65371, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6095071011481, telescope_dec_j2k=-24.1450315591555, observability=1)
2025-11-03T09:24:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:44
2025-11-03T09:24:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7372486591339111s
2025-11-03T09:24:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7372486591339111
2025-11-03T09:24:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:46
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.734473466873169s
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6347019;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65447;2460982.80887458;9.4129625;1.3;_
2025-11-03T09:24:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6347019;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65447;2460982.80887458;9.4129625;1.3;_
2025-11-03T09:24:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:46.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6347019, teldec = -24.256618
2025-11-03T09:24:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6347019 -24.256618
2025-11-03T09:24:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6347019 -24.256618
2025-11-03T09:24:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6347019 -24.256618
2025-11-03T09:24:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6347019;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65447;2460982.80887461;9.4129625;1.3;_14.6102629342229 -24.1450488407047
2025-11-03T09:24:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6102629342229     dec_j2k = -24.1450488407047
2025-11-03T09:24:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967270620155906;171.162351965909;_
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967270620155906;171.162351965909;_
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:46.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37043)
2025-11-03T09:24:46.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:46.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:46.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:46.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:46.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80887458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967270620155906, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6347019, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65447, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6102629342229, telescope_dec_j2k=-24.1450488407047, observability=1)
2025-11-03T09:24:47.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:47
2025-11-03T09:24:47.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:47.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5950288772583008s
2025-11-03T09:24:47.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5950288772583008
2025-11-03T09:24:47.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:47
2025-11-03T09:24:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6160397529602051s
2025-11-03T09:24:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6160397529602051
2025-11-03T09:24:47.763 [DEBUG] [Thread-88635 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:47.763 [DEBUG] [Thread-88635 (handle)] [server.py] [get_status()] Status age = 0.9846000671386719s
2025-11-03T09:24:47.763 [DEBUG] [Thread-88635 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9846000671386719
2025-11-03T09:24:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:48
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844646453857422s
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.635262;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65503;2460982.80889774;9.41352111;1.3;_
2025-11-03T09:24:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.635262;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65503;2460982.80889774;9.41352111;1.3;_
2025-11-03T09:24:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:48.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.635262, teldec = -24.256618
2025-11-03T09:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.635262 -24.256618
2025-11-03T09:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.635262 -24.256618
2025-11-03T09:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.635262 -24.256618
2025-11-03T09:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.635262;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65503;2460982.80889777;9.41352111;1.3;_14.6108225404998 -24.1450616385331
2025-11-03T09:24:48.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6108225404998     dec_j2k = -24.1450616385331
2025-11-03T09:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967276636947327;171.162351965909;_
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967276636947327;171.162351965909;_
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33637)
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:48.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80889774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967276636947327, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.635262, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65503, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6108225404998, telescope_dec_j2k=-24.1450616385331, observability=1)
2025-11-03T09:24:49.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:49
2025-11-03T09:24:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5846867561340332s
2025-11-03T09:24:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5846867561340332
2025-11-03T09:24:49.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:49
2025-11-03T09:24:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6062655448913574s
2025-11-03T09:24:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6062655448913574
2025-11-03T09:24:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:50
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9881725311279297s
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6358124;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65558;2460982.80892089;9.41407;1.3;_
2025-11-03T09:24:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6358124;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65558;2460982.80892089;9.41407;1.3;_
2025-11-03T09:24:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6358124, teldec = -24.256618
2025-11-03T09:24:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6358124 -24.256618
2025-11-03T09:24:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6358124 -24.256618
2025-11-03T09:24:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6358124 -24.256618
2025-11-03T09:24:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6358124;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65558;2460982.80892091;9.41407;1.3;_14.6113724553744 -24.1450742170923
2025-11-03T09:24:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6113724553744     dec_j2k = -24.1450742170923
2025-11-03T09:24:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967277038066755;171.162351965909;_
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967277038066755;171.162351965909;_
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51213)
2025-11-03T09:24:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80892089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967277038066755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6358124, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6113724553744, telescope_dec_j2k=-24.1450742170923, observability=1)
2025-11-03T09:24:51.940 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:51
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1589908599853516s
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:51.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6361486;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65592;2460982.8089345;9.41440528;1.3;_
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6361486;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65592;2460982.8089345;9.41440528;1.3;_
2025-11-03T09:24:51.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:51.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:51.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:51.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:51.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:51.943 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6361486, teldec = -24.256618
2025-11-03T09:24:51.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6361486 -24.256618
2025-11-03T09:24:51.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6361486 -24.256618
2025-11-03T09:24:51.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6361486 -24.256618
2025-11-03T09:24:51.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6361486;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65592;2460982.80893454;9.41440528;1.3;_14.6117083590691 -24.1450819015892
2025-11-03T09:24:51.944 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6117083590691     dec_j2k = -24.1450819015892
2025-11-03T09:24:51.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:51.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:51.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967273026872475;171.162351965909;_
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967273026872475;171.162351965909;_
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:51.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:51.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:51.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:51.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:51.949 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59875)
2025-11-03T09:24:51.950 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:51.950 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:51.950 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:51.950 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:51.950 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:51.957 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:51.957 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8089345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967273026872475, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6361486, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65592, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6117083590691, telescope_dec_j2k=-24.1450819015892, observability=1)
2025-11-03T09:24:51.979 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:51
2025-11-03T09:24:51.979 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:51.979 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022221803665161133s
2025-11-03T09:24:51.979 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022221803665161133
2025-11-03T09:24:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:52
2025-11-03T09:24:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8020386695861816s
2025-11-03T09:24:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8020386695861816
2025-11-03T09:24:53.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:53
2025-11-03T09:24:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4035310745239258s
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:53.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:53.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:53.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6365411;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65631;2460982.80895096;9.41479667;1.3;_
2025-11-03T09:24:53.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6365411;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65631;2460982.80895096;9.41479667;1.3;_
2025-11-03T09:24:53.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:53.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:53.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:53.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:53.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:53.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6365411, teldec = -24.256618
2025-11-03T09:24:53.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6365411 -24.256618
2025-11-03T09:24:53.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6365411 -24.256618
2025-11-03T09:24:53.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6365411 -24.256618
2025-11-03T09:24:53.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6365411;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65631;2460982.80895098;9.41479667;1.3;_14.6121005131667 -24.1450908740387
2025-11-03T09:24:53.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6121005131667     dec_j2k = -24.1450908740387
2025-11-03T09:24:53.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:53.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:53.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096727182351419;171.162341237072;_
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096727182351419;171.162341237072;_
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:53.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:53.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:53.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:53.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:53.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50775)
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:53.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:53.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:53.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80895096, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096727182351419, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6365411, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65631, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6121005131667, telescope_dec_j2k=-24.1450908740387, observability=1)
2025-11-03T09:24:53.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:53
2025-11-03T09:24:53.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:53.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021145105361938477s
2025-11-03T09:24:53.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021145105361938477
2025-11-03T09:24:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:54
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3821890354156494s
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.636933;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6567;2460982.80896715;9.4151875;1.3;_
2025-11-03T09:24:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.636933;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6567;2460982.80896715;9.4151875;1.3;_
2025-11-03T09:24:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.636933, teldec = -24.256618
2025-11-03T09:24:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.636933 -24.256618
2025-11-03T09:24:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.636933 -24.256618
2025-11-03T09:24:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.636933 -24.256618
2025-11-03T09:24:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.636933;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6567;2460982.80896718;9.4151875;1.3;_14.6124920678169 -24.1450998339628
2025-11-03T09:24:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6124920678169     dec_j2k = -24.1450998339628
2025-11-03T09:24:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967277038066755;171.162362694745;_
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967277038066755;171.162362694745;_
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49193)
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80896715, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967277038066755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.636933, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6567, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6124920678169, telescope_dec_j2k=-24.1450998339628, observability=1)
2025-11-03T09:24:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:55
2025-11-03T09:24:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5808331966400146s
2025-11-03T09:24:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5808331966400146
2025-11-03T09:24:55.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:55
2025-11-03T09:24:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6038413047790527s
2025-11-03T09:24:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6038413047790527
2025-11-03T09:24:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:56
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833498001098633s
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6374926;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65726;2460982.80899034;9.41574556;1.3;_
2025-11-03T09:24:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6374926;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65726;2460982.80899034;9.41574556;1.3;_
2025-11-03T09:24:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6374926, teldec = -24.256618
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6374926 -24.256618
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6374926 -24.256618
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6374926 -24.256618
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6374926;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65726;2460982.80899036;9.41574556;1.3;_14.6130511747278 -24.1451126300375
2025-11-03T09:24:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6130511747278     dec_j2k = -24.1451126300375
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967278241425039;171.162357330327;_
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967278241425039;171.162357330327;_
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58549)
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:56.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:56.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80899034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967278241425039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6374926, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65726, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6130511747278, telescope_dec_j2k=-24.1451126300375, observability=1)
2025-11-03T09:24:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1638705730438232s
2025-11-03T09:24:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:24:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:24:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:24:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:24:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:24:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:24:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:24:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6378193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65759;2460982.80900403;9.41607139;1.3;_
2025-11-03T09:24:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.6378193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65759;2460982.80900403;9.41607139;1.3;_
2025-11-03T09:24:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:24:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:24:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:24:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:24:57.949 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.6378193, teldec = -24.256618
2025-11-03T09:24:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6378193 -24.256618
2025-11-03T09:24:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6378193 -24.256618
2025-11-03T09:24:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6378193 -24.256618
2025-11-03T09:24:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6378193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65759;2460982.80900405;9.41607139;1.3;_14.61337758688 -24.1451201016334
2025-11-03T09:24:57.950 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.61337758688     dec_j2k = -24.1451201016334
2025-11-03T09:24:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:24:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:24:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967275032469615;171.162357330327;_
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967275032469615;171.162357330327;_
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:24:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:24:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:24:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:24:57.959 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51559)
2025-11-03T09:24:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:24:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:24:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:24:57.960 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:24:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:24:57.967 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:24:57.967 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:57.967 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:24:57.967 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:24:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:24:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:24:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:24:57.968 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:24:57.968 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:24:57.968 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80900403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967275032469615, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6378193, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65759, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.61337758688, telescope_dec_j2k=-24.1451201016334, observability=1)
2025-11-03T09:24:58.354 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:58
2025-11-03T09:24:58.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:58.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38619470596313477s
2025-11-03T09:24:58.354 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38619470596313477
2025-11-03T09:24:58.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:58
2025-11-03T09:24:58.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:58.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4079294204711914s
2025-11-03T09:24:58.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4079294204711914
2025-11-03T09:24:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:24:58
2025-11-03T09:24:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:24:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7908906936645508s
2025-11-03T09:24:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7908906936645508
2025-11-03T09:25:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:00
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.393461227416992s
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.638492;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65826;2460982.80903198;9.41674222;1.3;_
2025-11-03T09:25:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.638492;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65826;2460982.80903198;9.41674222;1.3;_
2025-11-03T09:25:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.638492, teldec = -24.256618
2025-11-03T09:25:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.638492 -24.256618
2025-11-03T09:25:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.638492 -24.256618
2025-11-03T09:25:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.638492 -24.256618
2025-11-03T09:25:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.638492;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65826;2460982.809032;9.41674222;1.3;_14.6140496942317 -24.1451354888172
2025-11-03T09:25:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6140496942317     dec_j2k = -24.1451354888172
2025-11-03T09:25:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967275834708471;171.162362694745;_
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967275834708471;171.162362694745;_
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:00.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57593)
2025-11-03T09:25:00.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:00.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:00.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80903198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967275834708471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.638492, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65826, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6140496942317, telescope_dec_j2k=-24.1451354888172, observability=1)
2025-11-03T09:25:00.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:00
2025-11-03T09:25:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021991491317749023s
2025-11-03T09:25:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021991491317749023
2025-11-03T09:25:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:00
2025-11-03T09:25:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37908506393432617s
2025-11-03T09:25:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37908506393432617
2025-11-03T09:25:02.092 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:02.092 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Status age = 1.7130026817321777s
2025-11-03T09:25:02.092 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:02.092 [DEBUG] [Thread-88636 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:02.092 [DEBUG] [Thread-88636 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:02.093 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:02.094 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 17;14.6389677;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65874;2460982.80905201;9.41721667;1.3;_
2025-11-03T09:25:02.094 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response 17;14.6389677;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65874;2460982.80905201;9.41721667;1.3;_
2025-11-03T09:25:02.094 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:02.094 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:02.094 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:02.095 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:02.095 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:02.095 [INFO] [Thread-88636 (handle)] [driver.py] [get_status()] Telra = 14.6389677, teldec = -24.256618
2025-11-03T09:25:02.095 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6389677 -24.256618
2025-11-03T09:25:02.095 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6389677 -24.256618
2025-11-03T09:25:02.095 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6389677 -24.256618
2025-11-03T09:25:02.096 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 17;14.6389677;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65874;2460982.80905204;9.41721667;1.3;_14.6145249751827 -24.1451463719838
2025-11-03T09:25:02.097 [INFO] [Thread-88636 (handle)] [driver.py] [get_status()] ra_j2k = 14.6145249751827     dec_j2k = -24.1451463719838
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 140;0.0967273427991903;171.162346601491;_
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response 140;0.0967273427991903;171.162346601491;_
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:02.097 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:02.098 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:02.099 [DEBUG] [Thread-88636 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:02.099 [DEBUG] [Thread-88636 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:02.099 [DEBUG] [Thread-88636 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51035)
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:02.105 [DEBUG] [Thread-88636 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:02.112 [DEBUG] [Thread-88636 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:02.112 [INFO] [Thread-88636 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80905201, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967273427991903, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6389677, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65874, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6145249751827, telescope_dec_j2k=-24.1451463719838, observability=1)
2025-11-03T09:25:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:02
2025-11-03T09:25:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24781346321105957s
2025-11-03T09:25:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24781346321105957
2025-11-03T09:25:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:02
2025-11-03T09:25:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2689039707183838s
2025-11-03T09:25:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2689039707183838
2025-11-03T09:25:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:02
2025-11-03T09:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6524596214294434s
2025-11-03T09:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6524596214294434
2025-11-03T09:25:04.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:04
2025-11-03T09:25:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2469024658203125s
2025-11-03T09:25:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6396028;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65937;2460982.80907826;9.41785;1.3;_
2025-11-03T09:25:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6396028;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65937;2460982.80907826;9.41785;1.3;_
2025-11-03T09:25:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6396028, teldec = -24.256618
2025-11-03T09:25:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6396028 -24.256618
2025-11-03T09:25:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6396028 -24.256618
2025-11-03T09:25:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6396028 -24.256618
2025-11-03T09:25:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6396028;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65937;2460982.80907829;9.41785;1.3;_14.6151595157712 -24.1451609046686
2025-11-03T09:25:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6151595157712     dec_j2k = -24.1451609046686
2025-11-03T09:25:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967277038066755;171.162357330327;_
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967277038066755;171.162357330327;_
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48507)
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:04.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:04.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:04.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80907826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967277038066755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6396028, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65937, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6151595157712, telescope_dec_j2k=-24.1451609046686, observability=1)
2025-11-03T09:25:04.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:04
2025-11-03T09:25:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022031307220458984s
2025-11-03T09:25:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022031307220458984
2025-11-03T09:25:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:04
2025-11-03T09:25:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824119567871094s
2025-11-03T09:25:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824119567871094
2025-11-03T09:25:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:06
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815499782562256s
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6401635;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65993;2460982.8091014;9.41840917;1.3;_
2025-11-03T09:25:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6401635;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65993;2460982.8091014;9.41840917;1.3;_
2025-11-03T09:25:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:06.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6401635, teldec = -24.256618
2025-11-03T09:25:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6401635 -24.256618
2025-11-03T09:25:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6401635 -24.256618
2025-11-03T09:25:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6401635 -24.256618
2025-11-03T09:25:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6401635;-24.256618;50.108583;89.993054;50.08601;90.12017;11.65993;2460982.80910142;9.41840917;1.3;_14.6157197219451 -24.1451737374895
2025-11-03T09:25:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6157197219451     dec_j2k = -24.1451737374895
2025-11-03T09:25:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967277840305611;171.162362694745;_
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967277840305611;171.162362694745;_
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50569)
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:06.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:06.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8091014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967277840305611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6401635, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.65993, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6157197219451, telescope_dec_j2k=-24.1451737374895, observability=1)
2025-11-03T09:25:06.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:06
2025-11-03T09:25:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021162986755371094s
2025-11-03T09:25:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021162986755371094
2025-11-03T09:25:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:06
2025-11-03T09:25:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3809642791748047s
2025-11-03T09:25:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3809642791748047
2025-11-03T09:25:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:08
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.38692307472229s
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6408359;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6606;2460982.80912926;9.41907972;1.3;_
2025-11-03T09:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6408359;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6606;2460982.80912926;9.41907972;1.3;_
2025-11-03T09:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6408359, teldec = -24.256618
2025-11-03T09:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6408359 -24.256618
2025-11-03T09:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6408359 -24.256618
2025-11-03T09:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6408359 -24.256618
2025-11-03T09:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6408359;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6606;2460982.80912928;9.41907972;1.3;_14.6163915298056 -24.1451891300132
2025-11-03T09:25:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6163915298056     dec_j2k = -24.1451891300132
2025-11-03T09:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967285060455316;171.162362694745;_
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967285060455316;171.162362694745;_
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35627)
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:08.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:08.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:08.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:08.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:08.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80912926, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967285060455316, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6408359, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6606, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6163915298056, telescope_dec_j2k=-24.1451891300132, observability=1)
2025-11-03T09:25:09.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:09
2025-11-03T09:25:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6571903228759766s
2025-11-03T09:25:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6571903228759766
2025-11-03T09:25:09.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:09
2025-11-03T09:25:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6798779964447021s
2025-11-03T09:25:09.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6798779964447021
2025-11-03T09:25:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:10
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9718778133392334s
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6413879;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66116;2460982.80915234;9.41963028;1.3;_
2025-11-03T09:25:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6413879;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66116;2460982.80915234;9.41963028;1.3;_
2025-11-03T09:25:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6413879, teldec = -24.256618
2025-11-03T09:25:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6413879 -24.256618
2025-11-03T09:25:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6413879 -24.256618
2025-11-03T09:25:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6413879 -24.256618
2025-11-03T09:25:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6413879;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66116;2460982.80915236;9.41963028;1.3;_14.6169430437471 -24.1452017689657
2025-11-03T09:25:10.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6169430437471     dec_j2k = -24.1452017689657
2025-11-03T09:25:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967281851499892;171.162351965909;_
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967281851499892;171.162351965909;_
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41695)
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:10.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:10.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:10.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:10.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:10.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:10.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80915234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967281851499892, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6413879, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66116, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6169430437471, telescope_dec_j2k=-24.1452017689657, observability=1)
2025-11-03T09:25:11.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:11
2025-11-03T09:25:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814852714538574s
2025-11-03T09:25:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814852714538574
2025-11-03T09:25:11.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:11
2025-11-03T09:25:11.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:11.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6029202938079834s
2025-11-03T09:25:11.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6029202938079834
2025-11-03T09:25:11.481 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:25:11
2025-11-03T09:25:11.481 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:11.481 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.7031333446502686s
2025-11-03T09:25:11.481 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7031333446502686
2025-11-03T09:25:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:12
2025-11-03T09:25:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835212230682373s
2025-11-03T09:25:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6419481;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66172;2460982.8091755;9.42018889;1.3;_
2025-11-03T09:25:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6419481;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66172;2460982.8091755;9.42018889;1.3;_
2025-11-03T09:25:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6419481, teldec = -24.256618
2025-11-03T09:25:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6419481 -24.256618
2025-11-03T09:25:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6419481 -24.256618
2025-11-03T09:25:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6419481 -24.256618
2025-11-03T09:25:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6419481;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66172;2460982.80917553;9.42018889;1.3;_14.6175027505165 -24.1452145980815
2025-11-03T09:25:12.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6175027505165     dec_j2k = -24.1452145980815
2025-11-03T09:25:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967285461574744;171.162351965909;_
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967285461574744;171.162351965909;_
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45843)
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:12.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:12.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:12.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8091755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967285461574744, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6419481, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66172, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:24:14.279530', telescope_ra_j2k=14.6175027505165, telescope_dec_j2k=-24.1452145980815, observability=1)
2025-11-03T09:25:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:13
2025-11-03T09:25:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5802409648895264s
2025-11-03T09:25:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5802409648895264
2025-11-03T09:25:13.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:13
2025-11-03T09:25:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6008155345916748s
2025-11-03T09:25:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6008155345916748
2025-11-03T09:25:14.422 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:14.422 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:14.423 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:14.423 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:14.424 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:14.424 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:14.424 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:14.424 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:25:14.424 [INFO] [ThreadPoolExecutor-3401_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:25:14.425 [INFO] [ThreadPoolExecutor-3401_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:25:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:14
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982959508895874s
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6425077;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66227;2460982.80919867;9.42074694;1.3;_
2025-11-03T09:25:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6425077;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66227;2460982.80919867;9.42074694;1.3;_
2025-11-03T09:25:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6425077, teldec = -24.256618
2025-11-03T09:25:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6425077 -24.256618
2025-11-03T09:25:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6425077 -24.256618
2025-11-03T09:25:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6425077 -24.256618
2025-11-03T09:25:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6425077;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66227;2460982.80919869;9.42074694;1.3;_14.6180618578628 -24.145227415881
2025-11-03T09:25:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6180618578628     dec_j2k = -24.145227415881
2025-11-03T09:25:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967278241425039;171.162351965909;_
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967278241425039;171.162351965909;_
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45451)
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80919867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967278241425039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6425077, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66227, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6180618578628, telescope_dec_j2k=-24.145227415881, observability=1)
2025-11-03T09:25:14.994 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:25:14.994 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.2101154327392578s
2025-11-03T09:25:14.994 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.2101154327392578
2025-11-03T09:25:14.994 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5134994983673096 seconds ago
2025-11-03T09:25:15.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:15
2025-11-03T09:25:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5796594619750977s
2025-11-03T09:25:15.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5796594619750977
2025-11-03T09:25:15.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:15
2025-11-03T09:25:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6027884483337402s
2025-11-03T09:25:15.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6027884483337402
2025-11-03T09:25:16.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:16
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986588954925537s
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6430586;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66283;2460982.80922191;9.42129639;1.3;_
2025-11-03T09:25:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6430586;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66283;2460982.80922191;9.42129639;1.3;_
2025-11-03T09:25:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:16.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6430586, teldec = -24.256618
2025-11-03T09:25:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6430586 -24.256618
2025-11-03T09:25:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6430586 -24.256618
2025-11-03T09:25:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6430586 -24.256618
2025-11-03T09:25:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6430586;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66283;2460982.80922193;9.42129639;1.3;_14.6186122729158 -24.1452400367711
2025-11-03T09:25:16.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6186122729158     dec_j2k = -24.1452400367711
2025-11-03T09:25:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967291077246737;171.162357330327;_
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967291077246737;171.162357330327;_
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:16.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51197)
2025-11-03T09:25:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:16.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:16.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80922191, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967291077246737, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6430586, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66283, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6186122729158, telescope_dec_j2k=-24.1452400367711, observability=1)
2025-11-03T09:25:17.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:17
2025-11-03T09:25:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5731101036071777s
2025-11-03T09:25:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5731101036071777
2025-11-03T09:25:17.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:17
2025-11-03T09:25:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5949251651763916s
2025-11-03T09:25:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5949251651763916
2025-11-03T09:25:18.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:18
2025-11-03T09:25:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821906089782715s
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6436193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66339;2460982.80924503;9.42185556;1.3;_
2025-11-03T09:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6436193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66339;2460982.80924503;9.42185556;1.3;_
2025-11-03T09:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6436193, teldec = -24.256618
2025-11-03T09:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6436193 -24.256618
2025-11-03T09:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6436193 -24.256618
2025-11-03T09:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6436193 -24.256618
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6436193;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66339;2460982.80924506;9.42185556;1.3;_14.6191724793905 -24.1452528845859
2025-11-03T09:25:18.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6191724793905     dec_j2k = -24.1452528845859
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967289472769025;171.162357330327;_
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967289472769025;171.162357330327;_
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60365)
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:18.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:18.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80924503, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967289472769025, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6436193, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66339, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6191724793905, telescope_dec_j2k=-24.1452528845859, observability=1)
2025-11-03T09:25:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:19
2025-11-03T09:25:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5733304023742676s
2025-11-03T09:25:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5733304023742676
2025-11-03T09:25:19.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:19
2025-11-03T09:25:19.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:19.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5943503379821777s
2025-11-03T09:25:19.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5943503379821777
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Status age = 1.4282691478729248s
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:20.215 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:20.216 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 17;14.644011;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66378;2460982.80926176;9.42224611;1.3;_
2025-11-03T09:25:20.216 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response 17;14.644011;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66378;2460982.80926176;9.42224611;1.3;_
2025-11-03T09:25:20.216 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:20.216 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:20.216 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:20.217 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:20.217 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:20.217 [INFO] [Thread-88637 (handle)] [driver.py] [get_status()] Telra = 14.644011, teldec = -24.256618
2025-11-03T09:25:20.217 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] UnCookCoordinates 14.644011 -24.256618
2025-11-03T09:25:20.217 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.644011 -24.256618
2025-11-03T09:25:20.217 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.644011 -24.256618
2025-11-03T09:25:20.218 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 17;14.644011;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66378;2460982.80926178;9.42224611;1.3;_14.6195638346471 -24.1452618613971
2025-11-03T09:25:20.218 [INFO] [Thread-88637 (handle)] [driver.py] [get_status()] ra_j2k = 14.6195638346471     dec_j2k = -24.1452618613971
2025-11-03T09:25:20.218 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:20.218 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:20.218 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 140;0.0967291478366165;171.162357330327;_
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response 140;0.0967291478366165;171.162357330327;_
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:20.219 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:20.220 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:20.221 [DEBUG] [Thread-88637 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:20.221 [DEBUG] [Thread-88637 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:20.221 [DEBUG] [Thread-88637 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38113)
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:20.226 [DEBUG] [Thread-88637 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:20.233 [DEBUG] [Thread-88637 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:20.234 [INFO] [Thread-88637 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80926176, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967291478366165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.644011, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66378, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6195638346471, telescope_dec_j2k=-24.1452618613971, observability=1)
2025-11-03T09:25:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:20
2025-11-03T09:25:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5287008285522461s
2025-11-03T09:25:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5287008285522461
2025-11-03T09:25:21.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:21
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.206678867340088s
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6443658;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66413;2460982.80927595;9.4226;1.3;_
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6443658;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66413;2460982.80927595;9.4226;1.3;_
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:21.443 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6443658, teldec = -24.256618
2025-11-03T09:25:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6443658 -24.256618
2025-11-03T09:25:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6443658 -24.256618
2025-11-03T09:25:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6443658 -24.256618
2025-11-03T09:25:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6443658;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66413;2460982.80927597;9.4226;1.3;_14.6199183224007 -24.1452699935743
2025-11-03T09:25:21.444 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6199183224007     dec_j2k = -24.1452699935743
2025-11-03T09:25:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967287066052457;171.162362694745;_
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967287066052457;171.162362694745;_
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:21.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60387)
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:21.451 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:21.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:21.460 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80927595, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967287066052457, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6443658, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66413, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6199183224007, telescope_dec_j2k=-24.1452699935743, observability=1)
2025-11-03T09:25:21.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:21
2025-11-03T09:25:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022919178009033203s
2025-11-03T09:25:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022919178009033203
2025-11-03T09:25:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:22
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3037116527557373s
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6447301;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6645;2460982.80929127;9.42296333;1.3;_
2025-11-03T09:25:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6447301;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6645;2460982.80929127;9.42296333;1.3;_
2025-11-03T09:25:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6447301, teldec = -24.256618
2025-11-03T09:25:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6447301 -24.256618
2025-11-03T09:25:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6447301 -24.256618
2025-11-03T09:25:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6447301 -24.256618
2025-11-03T09:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6447301;-24.256618;50.108583;89.993054;50.08601;90.12017;11.6645;2460982.8092913;9.42296333;1.3;_14.6202823018141 -24.1452783445088
2025-11-03T09:25:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6202823018141     dec_j2k = -24.1452783445088
2025-11-03T09:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967285461574744;171.162368059163;_
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967285461574744;171.162368059163;_
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:22.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51907)
2025-11-03T09:25:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:22.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:22.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80929127, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967285461574744, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6447301, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6645, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6202823018141, telescope_dec_j2k=-24.1452783445088, observability=1)
2025-11-03T09:25:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:23
2025-11-03T09:25:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5800471305847168s
2025-11-03T09:25:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5800471305847168
2025-11-03T09:25:23.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:23
2025-11-03T09:25:23.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:23.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.602424144744873s
2025-11-03T09:25:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.602424144744873
2025-11-03T09:25:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:24
2025-11-03T09:25:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803662300109863s
2025-11-03T09:25:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6452911;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66506;2460982.80931437;9.42352278;1.3;_
2025-11-03T09:25:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6452911;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66506;2460982.80931437;9.42352278;1.3;_
2025-11-03T09:25:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6452911, teldec = -24.256618
2025-11-03T09:25:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6452911 -24.256618
2025-11-03T09:25:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6452911 -24.256618
2025-11-03T09:25:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6452911 -24.256618
2025-11-03T09:25:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6452911;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66506;2460982.80931441;9.42352278;1.3;_14.6208428081705 -24.1452912064508
2025-11-03T09:25:24.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6208428081705     dec_j2k = -24.1452912064508
2025-11-03T09:25:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096728425821646;171.162351965909;_
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096728425821646;171.162351965909;_
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46175)
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:24.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:24.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:24.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80931437, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096728425821646, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6452911, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66506, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6208428081705, telescope_dec_j2k=-24.1452912064508, observability=1)
2025-11-03T09:25:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:26
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844601154327393s
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6458507;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66562;2460982.80933757;9.42408083;1.3;_
2025-11-03T09:25:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6458507;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66562;2460982.80933757;9.42408083;1.3;_
2025-11-03T09:25:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6458507, teldec = -24.256618
2025-11-03T09:25:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6458507 -24.256618
2025-11-03T09:25:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6458507 -24.256618
2025-11-03T09:25:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6458507 -24.256618
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6458507;-24.256618;50.108583;89.993054;50.08601;90.12017;11.66562;2460982.8093376;9.42408083;1.3;_14.6214019158075 -24.1453040387196
2025-11-03T09:25:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6214019158075     dec_j2k = -24.1453040387196
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967290275007881;171.162357330327;_
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967290275007881;171.162357330327;_
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44979)
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:26.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80933757, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967290275007881, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108583, telescope_az=89.993054, telescope_ra=14.6458507, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66562, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6214019158075, telescope_dec_j2k=-24.1453040387196, observability=1)
2025-11-03T09:25:28.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:28
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9723200798034668s
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6464017;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66617;2460982.80936064;9.42463028;1.3;_
2025-11-03T09:25:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6464017;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66617;2460982.80936064;9.42463028;1.3;_
2025-11-03T09:25:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:28.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6464017, teldec = -24.256618
2025-11-03T09:25:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6464017 -24.256618
2025-11-03T09:25:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6464017 -24.256618
2025-11-03T09:25:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6464017 -24.256618
2025-11-03T09:25:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6464017;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66617;2460982.80936066;9.42463028;1.3;_14.6219524310587 -24.1453166761462
2025-11-03T09:25:28.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6219524310587     dec_j2k = -24.1453166761462
2025-11-03T09:25:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967291879485593;171.162362694745;_
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967291879485593;171.162362694745;_
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47157)
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:28.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80936064, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967291879485593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6464017, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66617, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6219524310587, telescope_dec_j2k=-24.1453166761462, observability=1)
2025-11-03T09:25:29.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:29
2025-11-03T09:25:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6712987422943115s
2025-11-03T09:25:29.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6712987422943115
2025-11-03T09:25:29.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:29
2025-11-03T09:25:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6922030448913574s
2025-11-03T09:25:29.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6922030448913574
2025-11-03T09:25:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:30
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853744506835938s
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6469626;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66673;2460982.80938382;9.42518972;1.3;_
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6469626;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66673;2460982.80938382;9.42518972;1.3;_
2025-11-03T09:25:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6469626, teldec = -24.256618
2025-11-03T09:25:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6469626 -24.256618
2025-11-03T09:25:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6469626 -24.256618
2025-11-03T09:25:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6469626 -24.256618
2025-11-03T09:25:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6469626;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66673;2460982.80938385;9.42518972;1.3;_14.6225128376489 -24.1453295430443
2025-11-03T09:25:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6225128376489     dec_j2k = -24.1453295430443
2025-11-03T09:25:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967294286202161;171.162357330327;_
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967294286202161;171.162357330327;_
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41461)
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:30.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:30.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80938382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967294286202161, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6469626, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66673, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6225128376489, telescope_dec_j2k=-24.1453295430443, observability=1)
2025-11-03T09:25:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:32
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852087497711182s
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6475219;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66729;2460982.80940701;9.4257475;1.3;_
2025-11-03T09:25:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6475219;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66729;2460982.80940701;9.4257475;1.3;_
2025-11-03T09:25:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6475219, teldec = -24.256618
2025-11-03T09:25:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6475219 -24.256618
2025-11-03T09:25:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6475219 -24.256618
2025-11-03T09:25:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6475219 -24.256618
2025-11-03T09:25:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6475219;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66729;2460982.80940704;9.4257475;1.3;_14.6230716456952 -24.1453423756602
2025-11-03T09:25:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6230716456952     dec_j2k = -24.1453423756602
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967291478366165;171.162357330327;_
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967291478366165;171.162357330327;_
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37909)
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:32.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:32.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80940701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967291478366165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6475219, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66729, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6230716456952, telescope_dec_j2k=-24.1453423756602, observability=1)
2025-11-03T09:25:33.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:33
2025-11-03T09:25:33.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:33.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7057993412017822s
2025-11-03T09:25:33.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7057993412017822
2025-11-03T09:25:33.511 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:33
2025-11-03T09:25:33.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:33.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7270071506500244s
2025-11-03T09:25:33.511 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7270071506500244
2025-11-03T09:25:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:34
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9752159118652344s
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6480726;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66784;2460982.8094301;9.42629667;1.3;_
2025-11-03T09:25:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6480726;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66784;2460982.8094301;9.42629667;1.3;_
2025-11-03T09:25:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6480726, teldec = -24.256618
2025-11-03T09:25:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6480726 -24.256618
2025-11-03T09:25:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6480726 -24.256618
2025-11-03T09:25:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6480726 -24.256618
2025-11-03T09:25:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6480726;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66784;2460982.80943014;9.42629667;1.3;_14.6236218613535 -24.1453550133194
2025-11-03T09:25:34.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6236218613535     dec_j2k = -24.1453550133194
2025-11-03T09:25:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967293483963305;171.162362694745;_
2025-11-03T09:25:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967293483963305;171.162362694745;_
2025-11-03T09:25:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:34.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53539)
2025-11-03T09:25:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:34.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:34.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8094301, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967293483963305, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6480726, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66784, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6236218613535, telescope_dec_j2k=-24.1453550133194, observability=1)
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.300 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:25:35.301 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.302 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.302 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.302 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:35.302 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:35.302 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:35.303 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:25:35.304 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:35.305 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Park
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:25:35.306 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:25:35.307 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 29;14.648213;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66798;2460982.80943642;9.42643667;1.3;_Park Command Successful
2025-11-03T09:25:35.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:35
2025-11-03T09:25:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5858674049377441s
2025-11-03T09:25:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5858674049377441
2025-11-03T09:25:35.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:35
2025-11-03T09:25:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6081154346466064s
2025-11-03T09:25:35.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6081154346466064
2025-11-03T09:25:36.307 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:25:36.307 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:25:36.307 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:25:36.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:25:36.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:25:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:36
2025-11-03T09:25:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853579998016357s
2025-11-03T09:25:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6486333;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6684;2460982.80945328;9.42685583;1.3;_
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6486333;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6684;2460982.80945328;9.42685583;1.3;_
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6486333, teldec = -24.256618
2025-11-03T09:25:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6486333 -24.256618
2025-11-03T09:25:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6486333 -24.256618
2025-11-03T09:25:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6486333 -24.256618
2025-11-03T09:25:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6486333;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6684;2460982.80945331;9.42685583;1.3;_14.6241820682654 -24.14536788287
2025-11-03T09:25:36.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6241820682654     dec_j2k = -24.14536788287
2025-11-03T09:25:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096729869851587;171.162362694745;_
2025-11-03T09:25:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096729869851587;171.162362694745;_
2025-11-03T09:25:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34569)
2025-11-03T09:25:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:36.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:36.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80945328, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096729869851587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6486333, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6684, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6241820682654, telescope_dec_j2k=-24.14536788287, observability=1)
2025-11-03T09:25:37.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:25:37.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:25:37.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:25:37.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:25:37.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:25:37.650 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:37
2025-11-03T09:25:37.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:37.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8708434104919434s
2025-11-03T09:25:37.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8708434104919434
2025-11-03T09:25:37.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:37
2025-11-03T09:25:37.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:37.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8953735828399658s
2025-11-03T09:25:37.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8953735828399658
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Status age = 1.4945363998413086s
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:38.274 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:38.275 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 17;14.6490534;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66882;2460982.80947078;9.42727472;1.3;_
2025-11-03T09:25:38.275 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response 17;14.6490534;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66882;2460982.80947078;9.42727472;1.3;_
2025-11-03T09:25:38.275 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:38.275 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:38.275 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:38.276 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:38.276 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:38.276 [INFO] [Thread-88638 (handle)] [driver.py] [get_status()] Telra = 14.6490534, teldec = -24.256618
2025-11-03T09:25:38.276 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6490534 -24.256618
2025-11-03T09:25:38.276 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6490534 -24.256618
2025-11-03T09:25:38.277 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6490534 -24.256618
2025-11-03T09:25:38.277 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 17;14.6490534;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66882;2460982.8094708;9.42727472;1.3;_14.624601798855 -24.14537752687
2025-11-03T09:25:38.277 [INFO] [Thread-88638 (handle)] [driver.py] [get_status()] ra_j2k = 14.624601798855     dec_j2k = -24.14537752687
2025-11-03T09:25:38.278 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:38.278 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:38.278 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:38.278 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 140;0.0967289873888453;171.162357330327;_
2025-11-03T09:25:38.278 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response 140;0.0967289873888453;171.162357330327;_
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:38.279 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:38.280 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:38.280 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:38.280 [DEBUG] [Thread-88638 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:38.280 [DEBUG] [Thread-88638 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:38.281 [DEBUG] [Thread-88638 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:38.287 [DEBUG] [Thread-88638 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45279)
2025-11-03T09:25:38.287 [DEBUG] [Thread-88638 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:38.288 [DEBUG] [Thread-88638 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:38.288 [DEBUG] [Thread-88638 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:38.288 [DEBUG] [Thread-88638 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:38.288 [DEBUG] [Thread-88638 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:38.295 [DEBUG] [Thread-88638 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:38.295 [INFO] [Thread-88638 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80947078, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967289873888453, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6490534, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66882, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.624601798855, telescope_dec_j2k=-24.14537752687, observability=1)
2025-11-03T09:25:38.308 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:25:38.309 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:25:38.309 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:25:38.309 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:25:38.309 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:25:38.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:38
2025-11-03T09:25:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46399950981140137s
2025-11-03T09:25:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46399950981140137
2025-11-03T09:25:39.309 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:39.310 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:39.311 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:39.311 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:39.311 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:25:39.312 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:25:39.313 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:39.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:39
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0667006969451904s
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:39.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:39.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:39.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6493617;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66913;2460982.80948338;9.42758222;1.3;_
2025-11-03T09:25:39.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6493617;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66913;2460982.80948338;9.42758222;1.3;_
2025-11-03T09:25:39.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:39.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:39.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:39.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:39.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:39.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6493617, teldec = -24.256618
2025-11-03T09:25:39.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6493617 -24.256618
2025-11-03T09:25:39.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6493617 -24.256618
2025-11-03T09:25:39.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6493617 -24.256618
2025-11-03T09:25:39.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6493617;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66913;2460982.8094834;9.42758222;1.3;_14.6249098277723 -24.1453846052077
2025-11-03T09:25:39.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6249098277723     dec_j2k = -24.1453846052077
2025-11-03T09:25:39.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:39.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:39.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967292280605021;171.162357330327;_
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967292280605021;171.162357330327;_
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:39.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:39.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:39.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:39.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:39.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:39.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59043)
2025-11-03T09:25:39.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:39.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:39.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:39.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:39.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:39.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:39.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:39.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:39.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:39.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80948338, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967292280605021, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6493617, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6249098277723, telescope_dec_j2k=-24.1453846052077, observability=1)
2025-11-03T09:25:39.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:39
2025-11-03T09:25:39.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:39.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022546052932739258s
2025-11-03T09:25:39.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022546052932739258
2025-11-03T09:25:39.867 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:39.867 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.48364853858947754s
2025-11-03T09:25:39.868 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48364853858947754
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:40.313 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:25:40.314 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:25:40.315 [DEBUG] [ThreadPoolExecutor-3400_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:40.315 [INFO] [ThreadPoolExecutor-3400_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:25:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:40
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3740143775939941s
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6497452;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66951;2460982.80949954;9.42796472;1.3;_
2025-11-03T09:25:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6497452;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66951;2460982.80949954;9.42796472;1.3;_
2025-11-03T09:25:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:40.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6497452, teldec = -24.256618
2025-11-03T09:25:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6497452 -24.256618
2025-11-03T09:25:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6497452 -24.256618
2025-11-03T09:25:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6497452 -24.256618
2025-11-03T09:25:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6497452;-24.256618;50.108582;89.993054;50.08601;90.12017;11.66951;2460982.80949956;9.42796472;1.3;_14.6252929905882 -24.1453934111061
2025-11-03T09:25:40.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6252929905882     dec_j2k = -24.1453934111061
2025-11-03T09:25:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967293082843877;171.162351965909;_
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967293082843877;171.162351965909;_
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35185)
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:40.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:40.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80949954, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967293082843877, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6497452, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.66951, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6252929905882, telescope_dec_j2k=-24.1453934111061, observability=1)
2025-11-03T09:25:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:41
2025-11-03T09:25:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5801019668579102s
2025-11-03T09:25:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5801019668579102
2025-11-03T09:25:41.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:41
2025-11-03T09:25:41.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:41.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6023976802825928s
2025-11-03T09:25:41.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6023976802825928
2025-11-03T09:25:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:42
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786701202392578s
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6503068;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67007;2460982.80952271;9.42852472;1.3;_
2025-11-03T09:25:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6503068;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67007;2460982.80952271;9.42852472;1.3;_
2025-11-03T09:25:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6503068, teldec = -24.256618
2025-11-03T09:25:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6503068 -24.256618
2025-11-03T09:25:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6503068 -24.256618
2025-11-03T09:25:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6503068 -24.256618
2025-11-03T09:25:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6503068;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67007;2460982.80952273;9.42852472;1.3;_14.6258540968548 -24.1454063085736
2025-11-03T09:25:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6258540968548     dec_j2k = -24.1454063085736
2025-11-03T09:25:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967291077246737;171.162362694745;_
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967291077246737;171.162362694745;_
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:42.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33745)
2025-11-03T09:25:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:42.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:42.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80952271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967291077246737, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6503068, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67007, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6258540968548, telescope_dec_j2k=-24.1454063085736, observability=1)
2025-11-03T09:25:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:43
2025-11-03T09:25:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.58135986328125s
2025-11-03T09:25:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.58135986328125
2025-11-03T09:25:43.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:43
2025-11-03T09:25:43.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:43.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6023809909820557s
2025-11-03T09:25:43.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6023809909820557
2025-11-03T09:25:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:44
2025-11-03T09:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892988204956055s
2025-11-03T09:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.650858;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67063;2460982.80954595;9.42907444;1.3;_
2025-11-03T09:25:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.650858;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67063;2460982.80954595;9.42907444;1.3;_
2025-11-03T09:25:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:44.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.650858, teldec = -24.256618
2025-11-03T09:25:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.650858 -24.256618
2025-11-03T09:25:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.650858 -24.256618
2025-11-03T09:25:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.650858 -24.256618
2025-11-03T09:25:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.650858;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67063;2460982.80954597;9.42907444;1.3;_14.6264048123125 -24.145418969568
2025-11-03T09:25:44.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6264048123125     dec_j2k = -24.145418969568
2025-11-03T09:25:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096729869851587;171.162362694745;_
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096729869851587;171.162362694745;_
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:44.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36273)
2025-11-03T09:25:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:44.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:44.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:44.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80954595, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096729869851587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.650858, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6264048123125, telescope_dec_j2k=-24.145418969568, observability=1)
2025-11-03T09:25:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:45
2025-11-03T09:25:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5754187107086182s
2025-11-03T09:25:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5754187107086182
2025-11-03T09:25:45.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:45
2025-11-03T09:25:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5965526103973389s
2025-11-03T09:25:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5965526103973389
2025-11-03T09:25:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:46
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976806879043579s
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6514187;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67119;2460982.80956902;9.42963361;1.3;_
2025-11-03T09:25:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6514187;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67119;2460982.80956902;9.42963361;1.3;_
2025-11-03T09:25:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:46.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6514187, teldec = -24.256618
2025-11-03T09:25:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6514187 -24.256618
2025-11-03T09:25:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6514187 -24.256618
2025-11-03T09:25:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6514187 -24.256618
2025-11-03T09:25:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6514187;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67119;2460982.80956905;9.42963361;1.3;_14.6269650194675 -24.1454318511839
2025-11-03T09:25:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6269650194675     dec_j2k = -24.1454318511839
2025-11-03T09:25:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967302709710151;171.162362694745;_
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967302709710151;171.162362694745;_
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:46.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34955)
2025-11-03T09:25:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:46.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:46.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:46.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:46.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:46.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:46.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80956902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967302709710151, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6514187, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67119, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6269650194675, telescope_dec_j2k=-24.1454318511839, observability=1)
2025-11-03T09:25:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:47
2025-11-03T09:25:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5787415504455566s
2025-11-03T09:25:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5787415504455566
2025-11-03T09:25:47.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:47
2025-11-03T09:25:47.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:47.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6011562347412109s
2025-11-03T09:25:47.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6011562347412109
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Status age = 1.0247728824615479s
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:47.808 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 17;14.6516989;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67147;2460982.80958112;9.42991306;1.3;_
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response 17;14.6516989;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67147;2460982.80958112;9.42991306;1.3;_
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:47.809 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:47.810 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:47.810 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:47.810 [INFO] [Thread-88639 (handle)] [driver.py] [get_status()] Telra = 14.6516989, teldec = -24.256618
2025-11-03T09:25:47.811 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6516989 -24.256618
2025-11-03T09:25:47.811 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6516989 -24.256618
2025-11-03T09:25:47.811 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6516989 -24.256618
2025-11-03T09:25:47.812 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 17;14.6516989;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67147;2460982.80958115;9.42991306;1.3;_14.6272449731952 -24.1454382894555
2025-11-03T09:25:47.812 [INFO] [Thread-88639 (handle)] [driver.py] [get_status()] ra_j2k = 14.6272449731952     dec_j2k = -24.1454382894555
2025-11-03T09:25:47.812 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:47.812 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:47.812 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 140;0.0967297495157586;171.162357330327;_
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response 140;0.0967297495157586;171.162357330327;_
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:47.813 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:47.814 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:47.815 [DEBUG] [Thread-88639 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:47.815 [DEBUG] [Thread-88639 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:47.815 [DEBUG] [Thread-88639 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46467)
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:47.822 [DEBUG] [Thread-88639 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:47.829 [DEBUG] [Thread-88639 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:47.829 [INFO] [Thread-88639 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80958112, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967297495157586, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6516989, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67147, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6272449731952, telescope_dec_j2k=-24.1454382894555, observability=1)
2025-11-03T09:25:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:48
2025-11-03T09:25:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9307401180267334s
2025-11-03T09:25:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9307401180267334
2025-11-03T09:25:49.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:49
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.617002010345459s
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:49.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6521747;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67194;2460982.80960009;9.4303875;1.3;_
2025-11-03T09:25:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6521747;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67194;2460982.80960009;9.4303875;1.3;_
2025-11-03T09:25:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:49.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6521747, teldec = -24.256618
2025-11-03T09:25:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6521747 -24.256618
2025-11-03T09:25:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6521747 -24.256618
2025-11-03T09:25:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6521747 -24.256618
2025-11-03T09:25:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6521747;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67194;2460982.80960012;9.4303875;1.3;_14.627720355035 -24.1454492234984
2025-11-03T09:25:49.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.627720355035     dec_j2k = -24.1454492234984
2025-11-03T09:25:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:49.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:49.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:49.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:49.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:49.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:49.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42425)
2025-11-03T09:25:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:49.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:49.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:49.465 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:49.465 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:49.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:49.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:49.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:49.466 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:49.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:49.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80960009, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967305517546147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6521747, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67194, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.627720355035, telescope_dec_j2k=-24.1454492234984, observability=1)
2025-11-03T09:25:49.488 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:49
2025-11-03T09:25:49.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:49.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021912097930908203s
2025-11-03T09:25:49.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021912097930908203
2025-11-03T09:25:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:50
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2929611206054688s
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6525384;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67231;2460982.80961529;9.43075028;1.3;_
2025-11-03T09:25:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6525384;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67231;2460982.80961529;9.43075028;1.3;_
2025-11-03T09:25:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6525384, teldec = -24.256618
2025-11-03T09:25:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6525384 -24.256618
2025-11-03T09:25:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6525384 -24.256618
2025-11-03T09:25:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6525384 -24.256618
2025-11-03T09:25:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6525384;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67231;2460982.80961532;9.43075028;1.3;_14.6280837354185 -24.1454575826246
2025-11-03T09:25:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6280837354185     dec_j2k = -24.1454575826246
2025-11-03T09:25:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967304314187863;171.162362694745;_
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967304314187863;171.162362694745;_
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37783)
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:50.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80961529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967304314187863, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6525384, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6280837354185, telescope_dec_j2k=-24.1454575826246, observability=1)
2025-11-03T09:25:51.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:51
2025-11-03T09:25:51.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:51.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.974123477935791s
2025-11-03T09:25:51.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.974123477935791
2025-11-03T09:25:51.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:51
2025-11-03T09:25:51.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:51.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9956676959991455s
2025-11-03T09:25:51.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9956676959991455
2025-11-03T09:25:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:52
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827513694763184s
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6530891;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67286;2460982.80963848;9.43129944;1.3;_
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6530891;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67286;2460982.80963848;9.43129944;1.3;_
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:52.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6530891, teldec = -24.256618
2025-11-03T09:25:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6530891 -24.256618
2025-11-03T09:25:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6530891 -24.256618
2025-11-03T09:25:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6530891 -24.256618
2025-11-03T09:25:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6530891;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67286;2460982.80963851;9.43129944;1.3;_14.6286339515071 -24.1454702416233
2025-11-03T09:25:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6286339515071     dec_j2k = -24.1454702416233
2025-11-03T09:25:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967309127621;171.162357330327;_
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967309127621;171.162357330327;_
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40783)
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:52.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:52.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80963848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967309127621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6530891, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67286, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6286339515071, telescope_dec_j2k=-24.1454702416233, observability=1)
2025-11-03T09:25:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:53
2025-11-03T09:25:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5811004638671875s
2025-11-03T09:25:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5811004638671875
2025-11-03T09:25:53.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:53
2025-11-03T09:25:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6028656959533691s
2025-11-03T09:25:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6028656959533691
2025-11-03T09:25:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:54
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9798328876495361s
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6536498;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67342;2460982.80966159;9.43185861;1.3;_
2025-11-03T09:25:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6536498;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67342;2460982.80966159;9.43185861;1.3;_
2025-11-03T09:25:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6536498, teldec = -24.256618
2025-11-03T09:25:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6536498 -24.256618
2025-11-03T09:25:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6536498 -24.256618
2025-11-03T09:25:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6536498 -24.256618
2025-11-03T09:25:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6536498;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67342;2460982.80966162;9.43185861;1.3;_14.6291941588572 -24.1454831328985
2025-11-03T09:25:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6291941588572     dec_j2k = -24.1454831328985
2025-11-03T09:25:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967305918665575;171.162357330327;_
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967305918665575;171.162357330327;_
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54693)
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80966159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967305918665575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6536498, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6291941588572, telescope_dec_j2k=-24.1454831328985, observability=1)
2025-11-03T09:25:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:55
2025-11-03T09:25:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5821235179901123s
2025-11-03T09:25:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5821235179901123
2025-11-03T09:25:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:55
2025-11-03T09:25:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:55.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6043963432312012s
2025-11-03T09:25:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6043963432312012
2025-11-03T09:25:56.340 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:56.340 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Status age = 1.5611209869384766s
2025-11-03T09:25:56.340 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:56.340 [DEBUG] [Thread-88640 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:56.340 [DEBUG] [Thread-88640 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:56.341 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:56.341 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:56.341 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:56.341 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:56.341 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:56.342 [DEBUG] [Thread-88640 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:56.342 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:56.342 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:56.342 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:56.342 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:56.343 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 17;14.6540693;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67384;2460982.80967988;9.43227694;1.3;_
2025-11-03T09:25:56.343 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response 17;14.6540693;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67384;2460982.80967988;9.43227694;1.3;_
2025-11-03T09:25:56.343 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:56.343 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:56.343 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:56.344 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:56.344 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:56.344 [INFO] [Thread-88640 (handle)] [driver.py] [get_status()] Telra = 14.6540693, teldec = -24.256618
2025-11-03T09:25:56.344 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6540693 -24.256618
2025-11-03T09:25:56.344 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6540693 -24.256618
2025-11-03T09:25:56.344 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6540693 -24.256618
2025-11-03T09:25:56.345 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 17;14.6540974;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67386;2460982.80967992;9.432305;1.3;_14.6296132903024 -24.1454927793757
2025-11-03T09:25:56.345 [INFO] [Thread-88640 (handle)] [driver.py] [get_status()] ra_j2k = 14.6296132903024     dec_j2k = -24.1454927793757
2025-11-03T09:25:56.345 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:56.345 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:56.345 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 140;0.0967308726501571;171.162362694745;_
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response 140;0.0967308726501571;171.162362694745;_
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:56.346 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:56.347 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:56.348 [DEBUG] [Thread-88640 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:56.348 [DEBUG] [Thread-88640 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:56.348 [DEBUG] [Thread-88640 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39829)
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:56.349 [DEBUG] [Thread-88640 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:56.356 [DEBUG] [Thread-88640 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:56.357 [DEBUG] [Thread-88640 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:56.357 [INFO] [Thread-88640 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80967988, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967308726501571, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6540693, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6296132903024, telescope_dec_j2k=-24.1454927793757, observability=1)
2025-11-03T09:25:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:56
2025-11-03T09:25:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40457892417907715s
2025-11-03T09:25:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40457892417907715
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.6027891635894775s
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6545361;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6743;2460982.80969863;9.4327425;1.3;_
2025-11-03T09:25:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.6545361;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6743;2460982.80969863;9.4327425;1.3;_
2025-11-03T09:25:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:57.963 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.6545361, teldec = -24.256618
2025-11-03T09:25:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6545361 -24.256618
2025-11-03T09:25:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6545361 -24.256618
2025-11-03T09:25:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6545361 -24.256618
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6545361;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6743;2460982.80969866;9.4327425;1.3;_14.6300796802241 -24.1455035151216
2025-11-03T09:25:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.6300796802241     dec_j2k = -24.1455035151216
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967300302993582;171.162357330327;_
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967300302993582;171.162357330327;_
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:25:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38797)
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:57.968 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:57.975 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:57.975 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:57.976 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:57.976 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:57.976 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80969863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967300302993582, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6545361, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6300796802241, telescope_dec_j2k=-24.1455035151216, observability=1)
2025-11-03T09:25:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:58
2025-11-03T09:25:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7824316024780273s
2025-11-03T09:25:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7824316024780273
2025-11-03T09:25:59.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:59
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3831994533538818s
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:25:59.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:25:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:25:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6549283;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6747;2460982.80971483;9.43313361;1.3;_
2025-11-03T09:25:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6549283;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6747;2460982.80971483;9.43313361;1.3;_
2025-11-03T09:25:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:25:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:25:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:25:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:25:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6549283, teldec = -24.256618
2025-11-03T09:25:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6549283 -24.256618
2025-11-03T09:25:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6549283 -24.256618
2025-11-03T09:25:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6549283 -24.256618
2025-11-03T09:25:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6549283;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6747;2460982.80971486;9.43313361;1.3;_14.6304715357073 -24.1455125364721
2025-11-03T09:25:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6304715357073     dec_j2k = -24.1455125364721
2025-11-03T09:25:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:25:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:25:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967307924262715;171.162351965909;_
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967307924262715;171.162351965909;_
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:25:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:25:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:25:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:25:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40909)
2025-11-03T09:25:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:25:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:25:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:25:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:25:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:25:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:25:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:59.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:25:59.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:25:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:25:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:25:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:25:59.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:25:59.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:25:59.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80971483, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967307924262715, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6549283, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6747, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6304715357073, telescope_dec_j2k=-24.1455125364721, observability=1)
2025-11-03T09:25:59.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:25:59
2025-11-03T09:25:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:25:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021451234817504883s
2025-11-03T09:25:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021451234817504883
2025-11-03T09:26:00.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:00
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3850700855255127s
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6553208;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67509;2460982.8097311;9.433525;1.3;_
2025-11-03T09:26:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6553208;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67509;2460982.8097311;9.433525;1.3;_
2025-11-03T09:26:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6553208, teldec = -24.256618
2025-11-03T09:26:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6553208 -24.256618
2025-11-03T09:26:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6553208 -24.256618
2025-11-03T09:26:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6553208 -24.256618
2025-11-03T09:26:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6553208;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67509;2460982.80973112;9.433525;1.3;_14.630863690951 -24.1455215659115
2025-11-03T09:26:00.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.630863690951     dec_j2k = -24.1455215659115
2025-11-03T09:26:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967301506351867;171.162357330327;_
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967301506351867;171.162357330327;_
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:00.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42941)
2025-11-03T09:26:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:00.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:00.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8097311, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967301506351867, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6553208, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67509, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.630863690951, telescope_dec_j2k=-24.1455215659115, observability=1)
2025-11-03T09:26:02.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:02
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5817062854766846s
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6557687;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67554;2460982.80974958;9.43397167;1.3;_
2025-11-03T09:26:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6557687;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67554;2460982.80974958;9.43397167;1.3;_
2025-11-03T09:26:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6557687, teldec = -24.256618
2025-11-03T09:26:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6557687 -24.256618
2025-11-03T09:26:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6557687 -24.256618
2025-11-03T09:26:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6557687 -24.256618
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6557687;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67554;2460982.80974961;9.43397167;1.3;_14.6313111975629 -24.1455318712771
2025-11-03T09:26:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6313111975629     dec_j2k = -24.1455318712771
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967305517546147;171.162351965909;_
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967305517546147;171.162351965909;_
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55559)
2025-11-03T09:26:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:02.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:02.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:02.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:02.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:02.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80974958, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967305517546147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6557687, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67554, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6313111975629, telescope_dec_j2k=-24.1455318712771, observability=1)
2025-11-03T09:26:02.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:02
2025-11-03T09:26:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021973371505737305s
2025-11-03T09:26:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021973371505737305
2025-11-03T09:26:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:02
2025-11-03T09:26:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789551258087158s
2025-11-03T09:26:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789551258087158
2025-11-03T09:26:04.487 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:04
2025-11-03T09:26:04.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:04.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1043660640716553s
2025-11-03T09:26:04.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:04.488 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:04.488 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:04.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:04.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:04.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:04.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:04.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6563472;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67611;2460982.80977419;9.43454861;1.3;_
2025-11-03T09:26:04.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6563472;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67611;2460982.80977419;9.43454861;1.3;_
2025-11-03T09:26:04.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:04.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:04.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:04.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:04.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:04.491 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6563472, teldec = -24.256618
2025-11-03T09:26:04.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6563472 -24.256618
2025-11-03T09:26:04.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6563472 -24.256618
2025-11-03T09:26:04.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6563472 -24.256618
2025-11-03T09:26:04.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6563472;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67611;2460982.80977421;9.43454861;1.3;_14.6318891895159 -24.1455451838021
2025-11-03T09:26:04.492 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6318891895159     dec_j2k = -24.1455451838021
2025-11-03T09:26:04.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967309127621;171.162362694745;_
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967309127621;171.162362694745;_
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:04.493 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:04.494 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:04.495 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:04.495 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:04.495 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53291)
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:04.503 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:04.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:04.510 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80977419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967309127621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6563472, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67611, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6318891895159, telescope_dec_j2k=-24.1455451838021, observability=1)
2025-11-03T09:26:04.535 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:04
2025-11-03T09:26:04.535 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:04.535 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02445387840270996s
2025-11-03T09:26:04.535 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02445387840270996
2025-11-03T09:26:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:04
2025-11-03T09:26:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25460290908813477s
2025-11-03T09:26:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25460290908813477
2025-11-03T09:26:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:06
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.249333620071411s
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6569923;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67676;2460982.80980049;9.43519194;1.3;_
2025-11-03T09:26:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6569923;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67676;2460982.80980049;9.43519194;1.3;_
2025-11-03T09:26:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6569923, teldec = -24.256618
2025-11-03T09:26:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6569923 -24.256618
2025-11-03T09:26:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6569923 -24.256618
2025-11-03T09:26:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6569923 -24.256618
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6569923;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67676;2460982.80980052;9.43519194;1.3;_14.6325337230415 -24.1455600319808
2025-11-03T09:26:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6325337230415     dec_j2k = -24.1455600319808
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967308325382144;171.162357330327;_
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967308325382144;171.162357330327;_
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47735)
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:06.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:06.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80980049, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967308325382144, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6569923, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67676, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6325337230415, telescope_dec_j2k=-24.1455600319808, observability=1)
2025-11-03T09:26:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:08
2025-11-03T09:26:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9759316444396973s
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6575533;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67732;2460982.8098236;9.43575139;1.3;_
2025-11-03T09:26:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6575533;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67732;2460982.8098236;9.43575139;1.3;_
2025-11-03T09:26:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6575533, teldec = -24.256618
2025-11-03T09:26:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6575533 -24.256618
2025-11-03T09:26:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6575533 -24.256618
2025-11-03T09:26:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6575533 -24.256618
2025-11-03T09:26:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6575533;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67732;2460982.80982362;9.43575139;1.3;_14.6330942304697 -24.1455729470511
2025-11-03T09:26:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6330942304697     dec_j2k = -24.1455729470511
2025-11-03T09:26:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55269)
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:08.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:08.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:08.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:08.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8098236, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967305517546147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6575533, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67732, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6330942304697, telescope_dec_j2k=-24.1455729470511, observability=1)
2025-11-03T09:26:09.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:09
2025-11-03T09:26:09.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:09.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6820192337036133s
2025-11-03T09:26:09.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6820192337036133
2025-11-03T09:26:09.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:09
2025-11-03T09:26:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7036583423614502s
2025-11-03T09:26:09.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7036583423614502
2025-11-03T09:26:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:10
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9903044700622559s
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6581048;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67787;2460982.80984682;9.43630139;1.3;_
2025-11-03T09:26:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6581048;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67787;2460982.80984682;9.43630139;1.3;_
2025-11-03T09:26:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:10.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6581048, teldec = -24.256618
2025-11-03T09:26:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6581048 -24.256618
2025-11-03T09:26:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6581048 -24.256618
2025-11-03T09:26:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6581048 -24.256618
2025-11-03T09:26:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6581048;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67787;2460982.80984684;9.43630139;1.3;_14.6336452462871 -24.145585645783
2025-11-03T09:26:10.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6336452462871     dec_j2k = -24.145585645783
2025-11-03T09:26:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967305517546147;171.162357330327;_
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45151)
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:10.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:10.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:10.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:10.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:10.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80984682, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967305517546147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6581048, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67787, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6336452462871, telescope_dec_j2k=-24.145585645783, observability=1)
2025-11-03T09:26:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:11
2025-11-03T09:26:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5764927864074707s
2025-11-03T09:26:11.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5764927864074707
2025-11-03T09:26:11.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:11
2025-11-03T09:26:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5986087322235107s
2025-11-03T09:26:11.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5986087322235107
2025-11-03T09:26:11.542 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:26:11
2025-11-03T09:26:11.542 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:11.542 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.7565329074859619s
2025-11-03T09:26:11.542 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7565329074859619
2025-11-03T09:26:12.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:12
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9709219932556152s
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:12.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:12.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6586663;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67843;2460982.80986988;9.43686139;1.3;_
2025-11-03T09:26:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6586663;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67843;2460982.80986988;9.43686139;1.3;_
2025-11-03T09:26:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:12.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:12.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6586663, teldec = -24.256618
2025-11-03T09:26:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6586663 -24.256618
2025-11-03T09:26:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6586663 -24.256618
2025-11-03T09:26:12.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6586663 -24.256618
2025-11-03T09:26:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6586663;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67843;2460982.80986991;9.43686139;1.3;_14.6342062533738 -24.1455985771829
2025-11-03T09:26:12.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6342062533738     dec_j2k = -24.1455985771829
2025-11-03T09:26:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967313941054136;171.162357330327;_
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967313941054136;171.162357330327;_
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41807)
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:12.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:12.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80986988, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967313941054136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6586663, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67843, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.6342062533738, telescope_dec_j2k=-24.1455985771829, observability=1)
2025-11-03T09:26:13.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:13
2025-11-03T09:26:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5851929187774658s
2025-11-03T09:26:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5851929187774658
2025-11-03T09:26:13.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:13
2025-11-03T09:26:13.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6110832691192627s
2025-11-03T09:26:13.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6110832691192627
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Status age = 1.6901979446411133s
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:14.464 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 17;14.6591337;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6789;2460982.80988964;9.4373275;1.3;_
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response 17;14.6591337;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6789;2460982.80988964;9.4373275;1.3;_
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:14.465 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:14.466 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:14.466 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:14.466 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:14.467 [INFO] [Thread-88641 (handle)] [driver.py] [get_status()] Telra = 14.6591337, teldec = -24.256618
2025-11-03T09:26:14.467 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6591337 -24.256618
2025-11-03T09:26:14.467 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6591337 -24.256618
2025-11-03T09:26:14.467 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6591337 -24.256618
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 17;14.6591337;-24.256618;50.108582;89.993054;50.08601;90.12017;11.6789;2460982.80988968;9.4373275;1.3;_14.634673243104 -24.1456093433048
2025-11-03T09:26:14.468 [INFO] [Thread-88641 (handle)] [driver.py] [get_status()] ra_j2k = 14.634673243104     dec_j2k = -24.1456093433048
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 140;0.0967310330979284;171.162346601491;_
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response 140;0.0967310330979284;171.162346601491;_
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:14.468 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:14.469 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:14.469 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:14.469 [DEBUG] [Thread-88641 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:14.469 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:14.469 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:14.470 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:14.471 [DEBUG] [Thread-88641 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:14.471 [DEBUG] [Thread-88641 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:14.471 [DEBUG] [Thread-88641 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59031)
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:14.477 [DEBUG] [Thread-88641 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:14.485 [DEBUG] [Thread-88641 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:14.485 [INFO] [Thread-88641 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.80988964, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967310330979284, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6591337, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.6789, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:25:14.422250', telescope_ra_j2k=14.634673243104, telescope_dec_j2k=-24.1456093433048, observability=1)
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:14.565 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:14.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:14.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:14.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:14.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:14.566 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:14.567 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:26:14.568 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:14
2025-11-03T09:26:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.277071475982666s
2025-11-03T09:26:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.277071475982666
2025-11-03T09:26:15.054 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:26:15.054 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5692563056945801s
2025-11-03T09:26:15.055 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5692563056945801
2025-11-03T09:26:15.055 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5127832889556885 seconds ago
2025-11-03T09:26:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:15
2025-11-03T09:26:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8765585422515869s
2025-11-03T09:26:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8765585422515869
2025-11-03T09:26:15.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:15
2025-11-03T09:26:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8984529972076416s
2025-11-03T09:26:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8984529972076416
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:26:15.569 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:26:15.570 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:26:15.570 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:15.570 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:15.570 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:15.570 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:15.571 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:15.571 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:15.571 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:15.572 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:15.572 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:15.572 [DEBUG] [ThreadPoolExecutor-3402_0] [payload.py] [to_registers()] [0]
2025-11-03T09:26:15.573 [DEBUG] [ThreadPoolExecutor-3402_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48703)
2025-11-03T09:26:15.573 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:15.573 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:15.573 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:26:15.574 [DEBUG] [ThreadPoolExecutor-3402_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:15.574 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:15.581 [DEBUG] [ThreadPoolExecutor-3402_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:16
2025-11-03T09:26:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2962090969085693s
2025-11-03T09:26:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6597788;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67955;2460982.80991648;9.43797083;1.3;_
2025-11-03T09:26:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6597788;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67955;2460982.80991648;9.43797083;1.3;_
2025-11-03T09:26:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:16.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6597788, teldec = -24.256618
2025-11-03T09:26:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6597788 -24.256618
2025-11-03T09:26:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6597788 -24.256618
2025-11-03T09:26:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6597788 -24.256618
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6597788;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67955;2460982.8099165;9.43797083;1.3;_14.6353177769104 -24.1456242053469
2025-11-03T09:26:16.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6353177769104     dec_j2k = -24.1456242053469
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967315946651277;171.162351965909;_
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967315946651277;171.162351965909;_
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56085)
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:16.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:16.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80991648, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967315946651277, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6597788, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67955, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6353177769104, telescope_dec_j2k=-24.1456242053469, observability=1)
2025-11-03T09:26:17.860 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:17
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0617613792419434s
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:17.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:17.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:17.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6600871;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67985;2460982.80992896;9.43827833;1.3;_
2025-11-03T09:26:17.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6600871;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67985;2460982.80992896;9.43827833;1.3;_
2025-11-03T09:26:17.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:17.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:17.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:17.863 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:17.863 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:17.863 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6600871, teldec = -24.256618
2025-11-03T09:26:17.863 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6600871 -24.256618
2025-11-03T09:26:17.863 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6600871 -24.256618
2025-11-03T09:26:17.863 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6600871 -24.256618
2025-11-03T09:26:17.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6600871;-24.256618;50.108582;89.993054;50.08601;90.12017;11.67985;2460982.80992898;9.43827833;1.3;_14.6356258063435 -24.1456313092044
2025-11-03T09:26:17.864 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6356258063435     dec_j2k = -24.1456313092044
2025-11-03T09:26:17.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:17.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:17.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967309528740428;171.162357330327;_
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967309528740428;171.162357330327;_
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:17.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:17.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:17.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:17.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:17.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:17.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:17.867 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:17.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:17.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:17.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:17.869 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40465)
2025-11-03T09:26:17.870 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:17.870 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:17.870 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:17.870 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:17.870 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:17.877 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:17.877 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80992896, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967309528740428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108582, telescope_az=89.993054, telescope_ra=14.6600871, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.67985, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6356258063435, telescope_dec_j2k=-24.1456313092044, observability=1)
2025-11-03T09:26:17.898 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:17
2025-11-03T09:26:17.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:17.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021335363388061523s
2025-11-03T09:26:17.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021335363388061523
2025-11-03T09:26:18.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:18
2025-11-03T09:26:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8829655647277832s
2025-11-03T09:26:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8829655647277832
2025-11-03T09:26:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:19
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4835026264190674s
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:19.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:19.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:19.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6605066;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68027;2460982.80994633;9.43869667;1.3;_
2025-11-03T09:26:19.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6605066;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68027;2460982.80994633;9.43869667;1.3;_
2025-11-03T09:26:19.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:19.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:19.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:19.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:19.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:19.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6605066, teldec = -24.256618
2025-11-03T09:26:19.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6605066 -24.256618
2025-11-03T09:26:19.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6605066 -24.256618
2025-11-03T09:26:19.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6605066 -24.256618
2025-11-03T09:26:19.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6605066;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68027;2460982.80994635;9.43869667;1.3;_14.6360449382105 -24.1456409765125
2025-11-03T09:26:19.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6360449382105     dec_j2k = -24.1456409765125
2025-11-03T09:26:19.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:19.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:19.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967324370159266;171.162362694745;_
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967324370159266;171.162362694745;_
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:19.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:19.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:19.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:19.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:19.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41593)
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:19.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:19.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:19.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:19.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80994633, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967324370159266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6605066, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68027, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6360449382105, telescope_dec_j2k=-24.1456409765125, observability=1)
2025-11-03T09:26:19.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:19
2025-11-03T09:26:19.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:19.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021686077117919922s
2025-11-03T09:26:19.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021686077117919922
2025-11-03T09:26:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:20
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3804821968078613s
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6608893;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68066;2460982.80996252;9.43907833;1.3;_
2025-11-03T09:26:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6608893;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68066;2460982.80996252;9.43907833;1.3;_
2025-11-03T09:26:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6608893, teldec = -24.256618
2025-11-03T09:26:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6608893 -24.256618
2025-11-03T09:26:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6608893 -24.256618
2025-11-03T09:26:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6608893 -24.256618
2025-11-03T09:26:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6608893;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68066;2460982.80996256;9.43907833;1.3;_14.6364273023953 -24.1456497969538
2025-11-03T09:26:20.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6364273023953     dec_j2k = -24.1456497969538
2025-11-03T09:26:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967312737695852;171.162351965909;_
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967312737695852;171.162351965909;_
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38835)
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:20.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80996252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967312737695852, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6608893, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68066, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6364273023953, telescope_dec_j2k=-24.1456497969538, observability=1)
2025-11-03T09:26:21.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:21
2025-11-03T09:26:21.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:21.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7096400260925293s
2025-11-03T09:26:21.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7096400260925293
2025-11-03T09:26:21.512 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:21
2025-11-03T09:26:21.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:21.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7312042713165283s
2025-11-03T09:26:21.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7312042713165283
2025-11-03T09:26:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:22
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9783008098602295s
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6614498;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68122;2460982.80998566;9.43963722;1.3;_
2025-11-03T09:26:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6614498;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68122;2460982.80998566;9.43963722;1.3;_
2025-11-03T09:26:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6614498, teldec = -24.256618
2025-11-03T09:26:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6614498 -24.256618
2025-11-03T09:26:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6614498 -24.256618
2025-11-03T09:26:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6614498 -24.256618
2025-11-03T09:26:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6614498;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68122;2460982.80998568;9.43963722;1.3;_14.6369873106039 -24.1456627173539
2025-11-03T09:26:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6369873106039     dec_j2k = -24.1456627173539
2025-11-03T09:26:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967311534337568;171.162351965909;_
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967311534337568;171.162351965909;_
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59033)
2025-11-03T09:26:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:22.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.80998566, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967311534337568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6614498, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68122, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6369873106039, telescope_dec_j2k=-24.1456627173539, observability=1)
2025-11-03T09:26:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:23
2025-11-03T09:26:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5815043449401855s
2025-11-03T09:26:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5815043449401855
2025-11-03T09:26:23.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:23
2025-11-03T09:26:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6028797626495361s
2025-11-03T09:26:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6028797626495361
2025-11-03T09:26:24.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:24
2025-11-03T09:26:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990323543548584s
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6620102;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68178;2460982.81000892;9.44019611;1.3;_
2025-11-03T09:26:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6620102;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68178;2460982.81000892;9.44019611;1.3;_
2025-11-03T09:26:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:24.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6620102, teldec = -24.256618
2025-11-03T09:26:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6620102 -24.256618
2025-11-03T09:26:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6620102 -24.256618
2025-11-03T09:26:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6620102 -24.256618
2025-11-03T09:26:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6620102;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68178;2460982.81000896;9.44019611;1.3;_14.6375472189494 -24.1456756378693
2025-11-03T09:26:24.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6375472189494     dec_j2k = -24.1456756378693
2025-11-03T09:26:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967314743292992;171.162357330327;_
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967314743292992;171.162357330327;_
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54291)
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:24.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:24.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81000892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967314743292992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6620102, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68178, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6375472189494, telescope_dec_j2k=-24.1456756378693, observability=1)
2025-11-03T09:26:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:26
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9726734161376953s
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6625419;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68231;2460982.81003201;9.44072639;1.3;_
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6625419;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68231;2460982.81003201;9.44072639;1.3;_
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:26.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6625419, teldec = -24.256618
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6625419 -24.256618
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6625419 -24.256618
2025-11-03T09:26:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6625419 -24.256618
2025-11-03T09:26:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6625698;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68234;2460982.81003203;9.44075417;1.3;_14.6380784525196 -24.1456878989184
2025-11-03T09:26:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6380784525196     dec_j2k = -24.1456878989184
2025-11-03T09:26:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967320760084413;171.162351965909;_
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967320760084413;171.162351965909;_
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48905)
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81003201, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967320760084413, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6625419, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6380784525196, telescope_dec_j2k=-24.1456878989184, observability=1)
2025-11-03T09:26:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:28
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776344299316406s
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6631213;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68289;2460982.81005514;9.44130417;1.3;_
2025-11-03T09:26:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6631213;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68289;2460982.81005514;9.44130417;1.3;_
2025-11-03T09:26:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6631213, teldec = -24.256618
2025-11-03T09:26:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6631213 -24.256618
2025-11-03T09:26:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6631213 -24.256618
2025-11-03T09:26:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6631213 -24.256618
2025-11-03T09:26:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6631213;-24.256618;50.108581;89.993054;50.08601;90.12017;11.68289;2460982.81005516;9.44130417;1.3;_14.6386573442957 -24.1457012624138
2025-11-03T09:26:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6386573442957     dec_j2k = -24.1457012624138
2025-11-03T09:26:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967317551128989;171.162357330327;_
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967317551128989;171.162357330327;_
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49791)
2025-11-03T09:26:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:28.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:28.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81005514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967317551128989, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6631213, telescope_dec=-24.256618, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68289, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6386573442957, telescope_dec_j2k=-24.1457012624138, observability=1)
2025-11-03T09:26:29.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:29
2025-11-03T09:26:29.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:29.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6631608009338379s
2025-11-03T09:26:29.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6631608009338379
2025-11-03T09:26:29.549 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:29
2025-11-03T09:26:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7668380737304688s
2025-11-03T09:26:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7668380737304688
2025-11-03T09:26:30.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:30
2025-11-03T09:26:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975449800491333s
2025-11-03T09:26:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6636544;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68342;2460982.81007823;9.44183583;1.3;_
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6636544;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68342;2460982.81007823;9.44183583;1.3;_
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:30.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6636544, teldec = -24.256617
2025-11-03T09:26:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6636544 -24.256617
2025-11-03T09:26:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6636544 -24.256617
2025-11-03T09:26:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6636544 -24.256617
2025-11-03T09:26:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6636823;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68345;2460982.81007825;9.44186361;1.3;_14.6391899768537 -24.145712560321
2025-11-03T09:26:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6391899768537     dec_j2k = -24.145712560321
2025-11-03T09:26:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967315946651277;171.162351965909;_
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967315946651277;171.162351965909;_
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53657)
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:30.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:30.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:30.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81007823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967315946651277, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6636544, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6391899768537, telescope_dec_j2k=-24.145712560321, observability=1)
2025-11-03T09:26:31.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:31
2025-11-03T09:26:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5858554840087891s
2025-11-03T09:26:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5858554840087891
2025-11-03T09:26:31.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:31
2025-11-03T09:26:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6072731018066406s
2025-11-03T09:26:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6072731018066406
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Status age = 1.7573931217193604s
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:32.531 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:32.532 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:32.533 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 17;14.664158;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68393;2460982.81009876;9.44233806;1.3;_
2025-11-03T09:26:32.533 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response 17;14.664158;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68393;2460982.81009876;9.44233806;1.3;_
2025-11-03T09:26:32.533 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:32.533 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:32.533 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:32.534 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:32.534 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:32.534 [INFO] [Thread-88642 (handle)] [driver.py] [get_status()] Telra = 14.664158, teldec = -24.256617
2025-11-03T09:26:32.534 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] UnCookCoordinates 14.664158 -24.256617
2025-11-03T09:26:32.534 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.664158 -24.256617
2025-11-03T09:26:32.534 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.664158 -24.256617
2025-11-03T09:26:32.535 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 17;14.664158;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68393;2460982.81009878;9.44233806;1.3;_14.639693135203 -24.1457241797064
2025-11-03T09:26:32.535 [INFO] [Thread-88642 (handle)] [driver.py] [get_status()] ra_j2k = 14.639693135203     dec_j2k = -24.1457241797064
2025-11-03T09:26:32.535 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:32.535 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 140;0.0967320760084413;171.162351965909;_
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response 140;0.0967320760084413;171.162351965909;_
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:32.536 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:32.537 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:32.537 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:32.537 [DEBUG] [Thread-88642 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:32.537 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:32.537 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:32.538 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:32.538 [DEBUG] [Thread-88642 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:32.538 [DEBUG] [Thread-88642 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:32.538 [DEBUG] [Thread-88642 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40543)
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:32.543 [DEBUG] [Thread-88642 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:32.551 [DEBUG] [Thread-88642 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:32.551 [INFO] [Thread-88642 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81009876, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967320760084413, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.664158, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.639693135203, telescope_dec_j2k=-24.1457241797064, observability=1)
2025-11-03T09:26:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:32
2025-11-03T09:26:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20812559127807617s
2025-11-03T09:26:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20812559127807617
2025-11-03T09:26:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:33
2025-11-03T09:26:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8100099563598633s
2025-11-03T09:26:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8100099563598633
2025-11-03T09:26:33.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:33
2025-11-03T09:26:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8325726985931396s
2025-11-03T09:26:33.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8325726985931396
2025-11-03T09:26:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:34
2025-11-03T09:26:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2083940505981445s
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6647931;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68456;2460982.81012455;9.44297139;1.3;_
2025-11-03T09:26:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6647931;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68456;2460982.81012455;9.44297139;1.3;_
2025-11-03T09:26:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:34.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6647931, teldec = -24.256617
2025-11-03T09:26:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6647931 -24.256617
2025-11-03T09:26:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6647931 -24.256617
2025-11-03T09:26:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6647931 -24.256617
2025-11-03T09:26:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6647931;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68456;2460982.81012457;9.44297139;1.3;_14.640327678285 -24.1457388359301
2025-11-03T09:26:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.640327678285     dec_j2k = -24.1457388359301
2025-11-03T09:26:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967319957845557;171.162357330327;_
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967319957845557;171.162357330327;_
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:34.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48953)
2025-11-03T09:26:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:34.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:34.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:34.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:34.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:34.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:34.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:34.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81012455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967319957845557, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6647931, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68456, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.640327678285, telescope_dec_j2k=-24.1457388359301, observability=1)
2025-11-03T09:26:35.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:35
2025-11-03T09:26:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5838134288787842s
2025-11-03T09:26:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5838134288787842
2025-11-03T09:26:35.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:35
2025-11-03T09:26:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6052522659301758s
2025-11-03T09:26:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6052522659301758
2025-11-03T09:26:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:36
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9878604412078857s
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6653538;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68512;2460982.81014774;9.44353056;1.3;_
2025-11-03T09:26:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6653538;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68512;2460982.81014774;9.44353056;1.3;_
2025-11-03T09:26:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:36.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6653538, teldec = -24.256617
2025-11-03T09:26:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6653538 -24.256617
2025-11-03T09:26:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6653538 -24.256617
2025-11-03T09:26:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6653538 -24.256617
2025-11-03T09:26:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6653538;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68512;2460982.81014777;9.44353056;1.3;_14.6408878866608 -24.1457517778046
2025-11-03T09:26:36.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6408878866608     dec_j2k = -24.1457517778046
2025-11-03T09:26:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967327980234118;171.162362694745;_
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967327980234118;171.162362694745;_
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39155)
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:36.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:36.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81014774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967327980234118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6653538, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68512, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6408878866608, telescope_dec_j2k=-24.1457517778046, observability=1)
2025-11-03T09:26:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:37
2025-11-03T09:26:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5809135437011719s
2025-11-03T09:26:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5809135437011719
2025-11-03T09:26:37.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:37
2025-11-03T09:26:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6045429706573486s
2025-11-03T09:26:37.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6045429706573486
2025-11-03T09:26:38.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:38
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9870610237121582s
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6659134;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68568;2460982.81017094;9.44408861;1.3;_
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6659134;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68568;2460982.81017094;9.44408861;1.3;_
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6659134, teldec = -24.256617
2025-11-03T09:26:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6659134 -24.256617
2025-11-03T09:26:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6659134 -24.256617
2025-11-03T09:26:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6659134 -24.256617
2025-11-03T09:26:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6659134;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68568;2460982.81017096;9.44408861;1.3;_14.6414469960501 -24.1457646967031
2025-11-03T09:26:38.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6414469960501     dec_j2k = -24.1457646967031
2025-11-03T09:26:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967322765681553;171.162346601491;_
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967322765681553;171.162346601491;_
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46487)
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:38.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:38.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81017094, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967322765681553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6659134, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68568, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6414469960501, telescope_dec_j2k=-24.1457646967031, observability=1)
2025-11-03T09:26:38.955 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:38.955 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.1688244342803955s
2025-11-03T09:26:38.955 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1688244342803955
2025-11-03T09:26:39.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:39
2025-11-03T09:26:39.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:39.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6574604511260986s
2025-11-03T09:26:39.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6574604511260986
2025-11-03T09:26:39.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:39
2025-11-03T09:26:39.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:39.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6784141063690186s
2025-11-03T09:26:39.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6784141063690186
2025-11-03T09:26:40.581 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:40.581 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:40.581 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:40.581 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:40.581 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:40.583 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:26:40.584 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:26:40.585 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:40
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9726927280426025s
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6664643;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68623;2460982.81019399;9.44463806;1.3;_
2025-11-03T09:26:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6664643;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68623;2460982.81019399;9.44463806;1.3;_
2025-11-03T09:26:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:40.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6664643, teldec = -24.256617
2025-11-03T09:26:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6664643 -24.256617
2025-11-03T09:26:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6664643 -24.256617
2025-11-03T09:26:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6664643 -24.256617
2025-11-03T09:26:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6664643;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68623;2460982.81019402;9.44463806;1.3;_14.6419974131149 -24.1457774171092
2025-11-03T09:26:40.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6419974131149     dec_j2k = -24.1457774171092
2025-11-03T09:26:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967326375756406;171.162357330327;_
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967326375756406;171.162357330327;_
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39813)
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:40.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:40.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81019399, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967326375756406, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6664643, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6419974131149, telescope_dec_j2k=-24.1457774171092, observability=1)
2025-11-03T09:26:41.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:41
2025-11-03T09:26:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.57936692237854s
2025-11-03T09:26:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.57936692237854
2025-11-03T09:26:41.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:41
2025-11-03T09:26:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6008355617523193s
2025-11-03T09:26:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6008355617523193
2025-11-03T09:26:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:42
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789133071899414s
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:42.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.667025;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68679;2460982.81021714;9.44519722;1.3;_
2025-11-03T09:26:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.667025;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68679;2460982.81021714;9.44519722;1.3;_
2025-11-03T09:26:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:42.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.667025, teldec = -24.256617
2025-11-03T09:26:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.667025 -24.256617
2025-11-03T09:26:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.667025 -24.256617
2025-11-03T09:26:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.667025 -24.256617
2025-11-03T09:26:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.667025;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68679;2460982.81021716;9.44519722;1.3;_14.6425576216374 -24.1457903661988
2025-11-03T09:26:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6425576216374     dec_j2k = -24.1457903661988
2025-11-03T09:26:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967319957845557;171.162357330327;_
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967319957845557;171.162357330327;_
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37477)
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:42.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:42.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:42.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81021714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967319957845557, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.667025, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68679, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6425576216374, telescope_dec_j2k=-24.1457903661988, observability=1)
2025-11-03T09:26:44.128 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:44
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3529813289642334s
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:44.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:44.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:44.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6673888;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68716;2460982.81023299;9.44556;1.3;_
2025-11-03T09:26:44.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6673888;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68716;2460982.81023299;9.44556;1.3;_
2025-11-03T09:26:44.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:44.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:44.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:44.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:44.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:44.131 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6673888, teldec = -24.256617
2025-11-03T09:26:44.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6673888 -24.256617
2025-11-03T09:26:44.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6673888 -24.256617
2025-11-03T09:26:44.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6673888 -24.256617
2025-11-03T09:26:44.132 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6673888;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68716;2460982.81023301;9.44556;1.3;_14.6429211027776 -24.1457987692747
2025-11-03T09:26:44.132 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6429211027776     dec_j2k = -24.1457987692747
2025-11-03T09:26:44.132 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:44.132 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:44.132 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967326776875834;171.162357330327;_
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967326776875834;171.162357330327;_
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:44.133 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:44.134 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:44.135 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:44.135 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:44.135 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:44.138 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58723)
2025-11-03T09:26:44.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:44.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:44.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:44.139 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:44.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:44.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:44.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81023299, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967326776875834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6673888, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68716, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6429211027776, telescope_dec_j2k=-24.1457987692747, observability=1)
2025-11-03T09:26:44.168 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:44
2025-11-03T09:26:44.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:44.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021717548370361328s
2025-11-03T09:26:44.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021717548370361328
2025-11-03T09:26:44.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:44
2025-11-03T09:26:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6121828556060791s
2025-11-03T09:26:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6121828556060791
2025-11-03T09:26:46.303 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:46
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1566097736358643s
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:46.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.667996;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68776;2460982.81025815;9.44616556;1.3;_
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.667996;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68776;2460982.81025815;9.44616556;1.3;_
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:46.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:46.305 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:46.305 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:46.305 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.667996, teldec = -24.256617
2025-11-03T09:26:46.305 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.667996 -24.256617
2025-11-03T09:26:46.305 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.667996 -24.256617
2025-11-03T09:26:46.305 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.667996 -24.256617
2025-11-03T09:26:46.306 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.667996;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68776;2460982.81025817;9.44616556;1.3;_14.6435277706312 -24.1458127966887
2025-11-03T09:26:46.306 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6435277706312     dec_j2k = -24.1458127966887
2025-11-03T09:26:46.306 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:46.306 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:46.306 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967322364562125;171.162362694745;_
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967322364562125;171.162362694745;_
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:46.307 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:46.308 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53079)
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:46.312 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:46.319 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:46.319 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:46.319 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:46.320 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:46.320 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81025815, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967322364562125, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.667996, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68776, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6435277706312, telescope_dec_j2k=-24.1458127966887, observability=1)
2025-11-03T09:26:46.341 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:46
2025-11-03T09:26:46.341 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:46.341 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02111673355102539s
2025-11-03T09:26:46.341 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02111673355102539
2025-11-03T09:26:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:46
2025-11-03T09:26:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44336962699890137s
2025-11-03T09:26:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44336962699890137
2025-11-03T09:26:47.868 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Status age = 1.5486881732940674s
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:47.869 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:47.870 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:47.870 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 17;14.6684442;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68821;2460982.81027627;9.4466125;1.3;_
2025-11-03T09:26:47.870 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response 17;14.6684442;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68821;2460982.81027627;9.4466125;1.3;_
2025-11-03T09:26:47.871 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:47.871 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:47.871 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:47.872 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:47.872 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:47.872 [INFO] [Thread-88643 (handle)] [driver.py] [get_status()] Telra = 14.6684442, teldec = -24.256617
2025-11-03T09:26:47.872 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6684442 -24.256617
2025-11-03T09:26:47.872 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6684442 -24.256617
2025-11-03T09:26:47.872 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6684442 -24.256617
2025-11-03T09:26:47.873 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 17;14.6684442;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68821;2460982.81027631;9.4466125;1.3;_14.6439755778685 -24.1458231527366
2025-11-03T09:26:47.873 [INFO] [Thread-88643 (handle)] [driver.py] [get_status()] ra_j2k = 14.6439755778685     dec_j2k = -24.1458231527366
2025-11-03T09:26:47.873 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:47.873 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:47.873 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 140;0.0967326776875834;171.162341237072;_
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response 140;0.0967326776875834;171.162341237072;_
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:47.874 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:47.875 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:47.876 [DEBUG] [Thread-88643 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:47.876 [DEBUG] [Thread-88643 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:47.876 [DEBUG] [Thread-88643 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40703)
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:47.883 [DEBUG] [Thread-88643 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:47.890 [DEBUG] [Thread-88643 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:47.890 [INFO] [Thread-88643 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81027627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967326776875834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6684442, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68821, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6439755778685, telescope_dec_j2k=-24.1458231527366, observability=1)
2025-11-03T09:26:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:48
2025-11-03T09:26:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4713571071624756s
2025-11-03T09:26:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4713571071624756
2025-11-03T09:26:48.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:48
2025-11-03T09:26:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4927480220794678s
2025-11-03T09:26:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4927480220794678
2025-11-03T09:26:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:48
2025-11-03T09:26:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8677120208740234s
2025-11-03T09:26:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8677120208740234
2025-11-03T09:26:50.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:50
2025-11-03T09:26:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4692201614379883s
2025-11-03T09:26:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6691163;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68888;2460982.8103051;9.44728278;1.3;_
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6691163;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68888;2460982.8103051;9.44728278;1.3;_
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6691163, teldec = -24.256617
2025-11-03T09:26:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6691163 -24.256617
2025-11-03T09:26:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6691163 -24.256617
2025-11-03T09:26:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6691163 -24.256617
2025-11-03T09:26:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6691444;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68891;2460982.81030516;9.44731083;1.3;_14.6446470889588 -24.1458386850846
2025-11-03T09:26:50.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6446470889588     dec_j2k = -24.1458386850846
2025-11-03T09:26:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967328782472974;171.162351965909;_
2025-11-03T09:26:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967328782472974;171.162351965909;_
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56585)
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:50.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:50.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8103051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967328782472974, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6691163, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68888, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6446470889588, telescope_dec_j2k=-24.1458386850846, observability=1)
2025-11-03T09:26:50.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:50
2025-11-03T09:26:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021779298782348633s
2025-11-03T09:26:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021779298782348633
2025-11-03T09:26:50.644 [DEBUG] [Thread-88644 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:50.644 [DEBUG] [Thread-88644 (handle)] [server.py] [get_status()] Status age = 0.26266002655029297s
2025-11-03T09:26:50.644 [DEBUG] [Thread-88644 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26266002655029297
2025-11-03T09:26:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:50
2025-11-03T09:26:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795459270477295s
2025-11-03T09:26:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795459270477295
2025-11-03T09:26:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:52
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792909622192383s
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6696951;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68946;2460982.81032828;9.44786;1.3;_
2025-11-03T09:26:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6696951;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68946;2460982.81032828;9.44786;1.3;_
2025-11-03T09:26:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6696951, teldec = -24.256617
2025-11-03T09:26:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6696951 -24.256617
2025-11-03T09:26:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6696951 -24.256617
2025-11-03T09:26:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6696951 -24.256617
2025-11-03T09:26:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6696951;-24.256617;50.108581;89.993054;50.08601;90.12017;11.68946;2460982.8103283;9.44786;1.3;_14.6452253818576 -24.145852064039
2025-11-03T09:26:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6452253818576     dec_j2k = -24.145852064039
2025-11-03T09:26:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967331590308971;171.162357330327;_
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967331590308971;171.162357330327;_
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:52.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52753)
2025-11-03T09:26:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:52.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:52.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81032828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967331590308971, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6696951, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.68946, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6452253818576, telescope_dec_j2k=-24.145852064039, observability=1)
2025-11-03T09:26:52.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:52
2025-11-03T09:26:52.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:52.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022224903106689453s
2025-11-03T09:26:52.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022224903106689453
2025-11-03T09:26:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:52
2025-11-03T09:26:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824727535247803s
2025-11-03T09:26:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824727535247803
2025-11-03T09:26:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:54
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3817760944366455s
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6703675;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69013;2460982.81035603;9.44853056;1.3;_
2025-11-03T09:26:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6703675;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69013;2460982.81035603;9.44853056;1.3;_
2025-11-03T09:26:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6703675, teldec = -24.256617
2025-11-03T09:26:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6703675 -24.256617
2025-11-03T09:26:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6703675 -24.256617
2025-11-03T09:26:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6703675 -24.256617
2025-11-03T09:26:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6703675;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69013;2460982.81035605;9.44853056;1.3;_14.645897192817 -24.1458676097926
2025-11-03T09:26:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.645897192817     dec_j2k = -24.1458676097926
2025-11-03T09:26:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096732356792041;171.162357330327;_
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096732356792041;171.162357330327;_
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60941)
2025-11-03T09:26:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:54.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:54.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:54.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81035603, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096732356792041, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6703675, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69013, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.645897192817, telescope_dec_j2k=-24.1458676097926, observability=1)
2025-11-03T09:26:54.999 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:54
2025-11-03T09:26:54.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:54.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22293686866760254s
2025-11-03T09:26:54.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22293686866760254
2025-11-03T09:26:55.020 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:55
2025-11-03T09:26:55.020 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:55.020 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24380064010620117s
2025-11-03T09:26:55.020 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24380064010620117
2025-11-03T09:26:56.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:56
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.583848476409912s
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6707875;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69055;2460982.81037456;9.44894944;1.3;_
2025-11-03T09:26:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6707875;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69055;2460982.81037456;9.44894944;1.3;_
2025-11-03T09:26:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:56.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6707875, teldec = -24.256617
2025-11-03T09:26:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6707875 -24.256617
2025-11-03T09:26:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6707875 -24.256617
2025-11-03T09:26:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6707875 -24.256617
2025-11-03T09:26:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6707875;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69055;2460982.81037458;9.44894944;1.3;_14.6463168249216 -24.1458773218734
2025-11-03T09:26:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6463168249216     dec_j2k = -24.1458773218734
2025-11-03T09:26:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967332392547827;171.162351965909;_
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967332392547827;171.162351965909;_
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45023)
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:56.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81037456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967332392547827, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6707875, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69055, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6463168249216, telescope_dec_j2k=-24.1458773218734, observability=1)
2025-11-03T09:26:56.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:56
2025-11-03T09:26:56.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:56.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021630048751831055s
2025-11-03T09:26:56.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021630048751831055
2025-11-03T09:26:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:56
2025-11-03T09:26:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798234462738037s
2025-11-03T09:26:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798234462738037
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5798380374908447s
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6712354;-24.256617;50.108581;89.993054;50.08601;90.12017;11.691;2460982.81039309;9.44939611;1.3;_
2025-11-03T09:26:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.6712354;-24.256617;50.108581;89.993054;50.08601;90.12017;11.691;2460982.81039309;9.44939611;1.3;_
2025-11-03T09:26:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.6712354, teldec = -24.256617
2025-11-03T09:26:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6712354 -24.256617
2025-11-03T09:26:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6712354 -24.256617
2025-11-03T09:26:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6712354 -24.256617
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6712354;-24.256617;50.108581;89.993054;50.08601;90.12017;11.691;2460982.81039312;9.44939611;1.3;_14.646764332618 -24.1458876806091
2025-11-03T09:26:57.966 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.646764332618     dec_j2k = -24.1458876806091
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967330386950686;171.162362694745;_
2025-11-03T09:26:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967330386950686;171.162362694745;_
2025-11-03T09:26:57.967 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47509)
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:57.979 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:57.979 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:57.979 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81039309, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967330386950686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6712354, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.646764332618, telescope_dec_j2k=-24.1458876806091, observability=1)
2025-11-03T09:26:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:58
2025-11-03T09:26:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7830417156219482s
2025-11-03T09:26:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7830417156219482
2025-11-03T09:26:59.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:59
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4655883312225342s
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:26:59.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:26:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:26:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6716465;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69141;2460982.81041025;9.44980611;1.3;_
2025-11-03T09:26:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6716465;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69141;2460982.81041025;9.44980611;1.3;_
2025-11-03T09:26:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:26:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:26:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:26:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:26:59.447 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6716465, teldec = -24.256617
2025-11-03T09:26:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6716465 -24.256617
2025-11-03T09:26:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6716465 -24.256617
2025-11-03T09:26:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6716465 -24.256617
2025-11-03T09:26:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6716465;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69141;2460982.81041028;9.44980611;1.3;_14.6471750725743 -24.1458971896166
2025-11-03T09:26:59.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6471750725743     dec_j2k = -24.1458971896166
2025-11-03T09:26:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:26:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:26:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967334398144967;171.162362694745;_
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967334398144967;171.162362694745;_
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:26:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:26:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:26:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:26:59.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52289)
2025-11-03T09:26:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:26:59.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:26:59.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:26:59.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:26:59.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:26:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:26:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:59.464 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:26:59.464 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:26:59.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:26:59.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:26:59.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:26:59.465 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:26:59.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:26:59.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81041025, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967334398144967, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6716465, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69141, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6471750725743, telescope_dec_j2k=-24.1458971896166, observability=1)
2025-11-03T09:26:59.486 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:26:59
2025-11-03T09:26:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:26:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021221637725830078s
2025-11-03T09:26:59.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021221637725830078
2025-11-03T09:27:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:00
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2953448295593262s
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6720387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69181;2460982.81042549;9.45019722;1.3;_
2025-11-03T09:27:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6720387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69181;2460982.81042549;9.45019722;1.3;_
2025-11-03T09:27:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6720387, teldec = -24.256617
2025-11-03T09:27:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6720387 -24.256617
2025-11-03T09:27:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6720387 -24.256617
2025-11-03T09:27:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6720387 -24.256617
2025-11-03T09:27:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6720387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69181;2460982.81042551;9.45019722;1.3;_14.647566929108 -24.1459062626666
2025-11-03T09:27:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.647566929108     dec_j2k = -24.1459062626666
2025-11-03T09:27:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967329985831258;171.162357330327;_
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967329985831258;171.162357330327;_
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57987)
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81042549, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967329985831258, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6720387, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.647566929108, telescope_dec_j2k=-24.1459062626666, observability=1)
2025-11-03T09:27:01.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:01
2025-11-03T09:27:01.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:01.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9808223247528076s
2025-11-03T09:27:01.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9808223247528076
2025-11-03T09:27:01.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:01
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0023481845855713s
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:01.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:01.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6723192;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69209;2460982.8104373;9.45047694;1.3;_
2025-11-03T09:27:01.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6723192;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69209;2460982.8104373;9.45047694;1.3;_
2025-11-03T09:27:01.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:01.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:01.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:01.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:01.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:01.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6723192, teldec = -24.256617
2025-11-03T09:27:01.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6723192 -24.256617
2025-11-03T09:27:01.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6723192 -24.256617
2025-11-03T09:27:01.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6723192 -24.256617
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6723192;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69209;2460982.81043734;9.45047694;1.3;_14.647847183477 -24.1459127524041
2025-11-03T09:27:01.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.647847183477     dec_j2k = -24.1459127524041
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967333194786683;171.162351965909;_
2025-11-03T09:27:01.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967333194786683;171.162351965909;_
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:01.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:01.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:01.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:01.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:01.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40267)
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:01.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:01.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:01.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8104373, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967333194786683, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6723192, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69209, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.647847183477, telescope_dec_j2k=-24.1459127524041, observability=1)
2025-11-03T09:27:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:02
2025-11-03T09:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9657237529754639s
2025-11-03T09:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9657237529754639
2025-11-03T09:27:03.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:03
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.560321569442749s
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:03.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6727387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69251;2460982.81045557;9.45089528;1.3;_
2025-11-03T09:27:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6727387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69251;2460982.81045557;9.45089528;1.3;_
2025-11-03T09:27:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:03.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6727387, teldec = -24.256617
2025-11-03T09:27:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6727387 -24.256617
2025-11-03T09:27:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6727387 -24.256617
2025-11-03T09:27:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6727387 -24.256617
2025-11-03T09:27:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6727387;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69251;2460982.8104556;9.45089528;1.3;_14.6482663161482 -24.1459224592191
2025-11-03T09:27:03.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6482663161482     dec_j2k = -24.1459224592191
2025-11-03T09:27:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967333997025539;171.162357330327;_
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967333997025539;171.162357330327;_
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56461)
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:03.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:03.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:03.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81045557, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967333997025539, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6727387, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69251, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6482663161482, telescope_dec_j2k=-24.1459224592191, observability=1)
2025-11-03T09:27:03.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:03
2025-11-03T09:27:03.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:03.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02122044563293457s
2025-11-03T09:27:03.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02122044563293457
2025-11-03T09:27:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:04
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3806588649749756s
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6731495;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69292;2460982.81047177;9.451305;1.3;_
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6731495;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69292;2460982.81047177;9.451305;1.3;_
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:04.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6731495, teldec = -24.256617
2025-11-03T09:27:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6731495 -24.256617
2025-11-03T09:27:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6731495 -24.256617
2025-11-03T09:27:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6731495 -24.256617
2025-11-03T09:27:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6731495;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69292;2460982.81047179;9.451305;1.3;_14.6486767564642 -24.1459319660359
2025-11-03T09:27:04.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6486767564642     dec_j2k = -24.1459319660359
2025-11-03T09:27:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967339612697532;171.162362694745;_
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967339612697532;171.162362694745;_
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59127)
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:04.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:04.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81047177, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967339612697532, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6731495, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69292, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6486767564642, telescope_dec_j2k=-24.1459319660359, observability=1)
2025-11-03T09:27:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:05
2025-11-03T09:27:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5858120918273926s
2025-11-03T09:27:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5858120918273926
2025-11-03T09:27:05.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:05
2025-11-03T09:27:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6078991889953613s
2025-11-03T09:27:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6078991889953613
2025-11-03T09:27:06.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:06
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829347133636475s
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:06.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6736824;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69345;2460982.81049491;9.45183639;1.3;_
2025-11-03T09:27:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6736824;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69345;2460982.81049491;9.45183639;1.3;_
2025-11-03T09:27:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:06.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6736824, teldec = -24.256617
2025-11-03T09:27:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6736824 -24.256617
2025-11-03T09:27:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6736824 -24.256617
2025-11-03T09:27:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6736824 -24.256617
2025-11-03T09:27:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6737102;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69348;2460982.81049493;9.45186417;1.3;_14.6492091899127 -24.145944300449
2025-11-03T09:27:06.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6492091899127     dec_j2k = -24.145944300449
2025-11-03T09:27:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967332793667255;171.162368059163;_
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967332793667255;171.162368059163;_
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50815)
2025-11-03T09:27:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:06.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:06.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81049491, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967332793667255, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6736824, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69345, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6492091899127, telescope_dec_j2k=-24.145944300449, observability=1)
2025-11-03T09:27:08.714 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:08.714 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Status age = 1.9375057220458984s
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:08.715 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 17;14.6742428;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69401;2460982.81051755;9.45239528;1.3;_
2025-11-03T09:27:08.716 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response 17;14.6742428;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69401;2460982.81051755;9.45239528;1.3;_
2025-11-03T09:27:08.717 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:08.717 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:08.717 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:08.718 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:08.718 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:08.718 [INFO] [Thread-88645 (handle)] [driver.py] [get_status()] Telra = 14.6742428, teldec = -24.256617
2025-11-03T09:27:08.718 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6742428 -24.256617
2025-11-03T09:27:08.718 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6742428 -24.256617
2025-11-03T09:27:08.718 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6742428 -24.256617
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 17;14.6742428;-24.256617;50.108581;89.993054;50.08601;90.12017;11.69401;2460982.81051758;9.45239528;1.3;_14.6497690993332 -24.1459572737275
2025-11-03T09:27:08.719 [INFO] [Thread-88645 (handle)] [driver.py] [get_status()] ra_j2k = 14.6497690993332     dec_j2k = -24.1459572737275
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 140;0.0967335601503251;171.162357330327;_
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response 140;0.0967335601503251;171.162357330327;_
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:08.719 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:08.720 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:08.721 [DEBUG] [Thread-88645 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:08.721 [DEBUG] [Thread-88645 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:08.721 [DEBUG] [Thread-88645 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43641)
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:08.723 [DEBUG] [Thread-88645 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:08.730 [DEBUG] [Thread-88645 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:08.730 [DEBUG] [Thread-88645 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:08.730 [DEBUG] [Thread-88645 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:08.731 [DEBUG] [Thread-88645 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:08.732 [INFO] [Thread-88645 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81051755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967335601503251, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108581, telescope_az=89.993054, telescope_ra=14.6742428, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69401, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6497690993332, telescope_dec_j2k=-24.1459572737275, observability=1)
2025-11-03T09:27:08.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:08
2025-11-03T09:27:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.030141830444335938s
2025-11-03T09:27:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.030141830444335938
2025-11-03T09:27:09.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:09
2025-11-03T09:27:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7137856483459473s
2025-11-03T09:27:09.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7137856483459473
2025-11-03T09:27:09.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:09
2025-11-03T09:27:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7376117706298828s
2025-11-03T09:27:09.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7376117706298828
2025-11-03T09:27:10.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:10
2025-11-03T09:27:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0307891368865967s
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6748216;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69459;2460982.81054125;9.4529725;1.3;_
2025-11-03T09:27:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6748216;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69459;2460982.81054125;9.4529725;1.3;_
2025-11-03T09:27:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:10.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6748216, teldec = -24.256617
2025-11-03T09:27:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6748216 -24.256617
2025-11-03T09:27:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6748216 -24.256617
2025-11-03T09:27:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6748216 -24.256617
2025-11-03T09:27:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6748216;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69459;2460982.81054127;9.4529725;1.3;_14.6503473926979 -24.1459706755008
2025-11-03T09:27:10.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6503473926979     dec_j2k = -24.1459706755008
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967338409339248;171.162357330327;_
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967338409339248;171.162357330327;_
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51991)
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:10.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:10.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:10.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:10.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:10.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81054125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967338409339248, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6748216, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69459, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.6503473926979, telescope_dec_j2k=-24.1459706755008, observability=1)
2025-11-03T09:27:11.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:11
2025-11-03T09:27:11.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:11.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.583989143371582s
2025-11-03T09:27:11.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.583989143371582
2025-11-03T09:27:11.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:11
2025-11-03T09:27:11.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:11.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6124861240386963s
2025-11-03T09:27:11.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6124861240386963
2025-11-03T09:27:11.602 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:27:11
2025-11-03T09:27:11.602 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:11.602 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.8212411403656006s
2025-11-03T09:27:11.602 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8212411403656006
2025-11-03T09:27:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:12
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800209999084473s
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6753542;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69512;2460982.81056439;9.45350361;1.3;_
2025-11-03T09:27:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6753542;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69512;2460982.81056439;9.45350361;1.3;_
2025-11-03T09:27:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6753542, teldec = -24.256617
2025-11-03T09:27:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6753542 -24.256617
2025-11-03T09:27:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6753542 -24.256617
2025-11-03T09:27:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6753542 -24.256617
2025-11-03T09:27:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6753542;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69512;2460982.81056441;9.45350361;1.3;_14.650879526549 -24.145983009815
2025-11-03T09:27:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.650879526549     dec_j2k = -24.145983009815
2025-11-03T09:27:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967335200383823;171.162341237072;_
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967335200383823;171.162341237072;_
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:12.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56565)
2025-11-03T09:27:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:12.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:12.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:12.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81056439, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967335200383823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6753542, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69512, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:26:14.564575', telescope_ra_j2k=14.650879526549, telescope_dec_j2k=-24.145983009815, observability=1)
2025-11-03T09:27:13.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:13
2025-11-03T09:27:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5813419818878174s
2025-11-03T09:27:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5813419818878174
2025-11-03T09:27:13.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:13
2025-11-03T09:27:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6075243949890137s
2025-11-03T09:27:13.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6075243949890137
2025-11-03T09:27:14.706 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:14.706 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:14.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:14.707 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:14.707 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:14.707 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:14.707 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:14.707 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:14.708 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:14.708 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:14.709 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:14.709 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:27:14.709 [INFO] [ThreadPoolExecutor-3403_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:27:14.709 [INFO] [ThreadPoolExecutor-3403_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:27:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:14
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795887470245361s
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6759143;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69568;2460982.81058752;9.45406222;1.3;_
2025-11-03T09:27:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6759143;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69568;2460982.81058752;9.45406222;1.3;_
2025-11-03T09:27:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6759143, teldec = -24.256617
2025-11-03T09:27:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6759143 -24.256617
2025-11-03T09:27:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6759143 -24.256617
2025-11-03T09:27:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6759143 -24.256617
2025-11-03T09:27:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6759143;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69568;2460982.81058755;9.45406222;1.3;_14.6514391363793 -24.1459959833446
2025-11-03T09:27:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6514391363793     dec_j2k = -24.1459959833446
2025-11-03T09:27:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967340414936388;171.162351965909;_
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967340414936388;171.162351965909;_
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35147)
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:14.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:14.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81058752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967340414936388, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6759143, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69568, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6514391363793, telescope_dec_j2k=-24.1459959833446, observability=1)
2025-11-03T09:27:15.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:27:15.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.33388376235961914s
2025-11-03T09:27:15.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.33388376235961914
2025-11-03T09:27:15.115 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.513010263442993 seconds ago
2025-11-03T09:27:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:15
2025-11-03T09:27:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580786943435669s
2025-11-03T09:27:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580786943435669
2025-11-03T09:27:15.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:15
2025-11-03T09:27:15.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:15.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6018393039703369s
2025-11-03T09:27:15.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6018393039703369
2025-11-03T09:27:16.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:16
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9961965084075928s
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6764929;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69626;2460982.81061088;9.45463917;1.3;_
2025-11-03T09:27:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6764929;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69626;2460982.81061088;9.45463917;1.3;_
2025-11-03T09:27:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:16.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6764929, teldec = -24.256617
2025-11-03T09:27:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6764929 -24.256617
2025-11-03T09:27:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6764929 -24.256617
2025-11-03T09:27:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6764929 -24.256617
2025-11-03T09:27:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6764929;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69626;2460982.8106109;9.45463917;1.3;_14.6520172300712 -24.1460093879189
2025-11-03T09:27:16.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6520172300712     dec_j2k = -24.1460093879189
2025-11-03T09:27:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096734001381696;171.162362694745;_
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096734001381696;171.162362694745;_
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37011)
2025-11-03T09:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:16.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:16.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:16.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81061088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096734001381696, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6764929, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69626, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6520172300712, telescope_dec_j2k=-24.1460093879189, observability=1)
2025-11-03T09:27:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:17
2025-11-03T09:27:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5628643035888672s
2025-11-03T09:27:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5628643035888672
2025-11-03T09:27:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:17
2025-11-03T09:27:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5853586196899414s
2025-11-03T09:27:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5853586196899414
2025-11-03T09:27:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:18
2025-11-03T09:27:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9681637287139893s
2025-11-03T09:27:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6770536;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69682;2460982.81063389;9.45519833;1.3;_
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6770536;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69682;2460982.81063389;9.45519833;1.3;_
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6770536, teldec = -24.256617
2025-11-03T09:27:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6770536 -24.256617
2025-11-03T09:27:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6770536 -24.256617
2025-11-03T09:27:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6770536 -24.256617
2025-11-03T09:27:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6770536;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69682;2460982.81063391;9.45519833;1.3;_14.6525774394769 -24.1460223802534
2025-11-03T09:27:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6525774394769     dec_j2k = -24.1460223802534
2025-11-03T09:27:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967339211578104;171.162341237072;_
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967339211578104;171.162341237072;_
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55495)
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:18.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:18.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81063389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967339211578104, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6770536, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69682, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6525774394769, telescope_dec_j2k=-24.1460223802534, observability=1)
2025-11-03T09:27:19.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:19
2025-11-03T09:27:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6609296798706055s
2025-11-03T09:27:19.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6609296798706055
2025-11-03T09:27:19.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:19
2025-11-03T09:27:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6828274726867676s
2025-11-03T09:27:19.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6828274726867676
2025-11-03T09:27:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:20
2025-11-03T09:27:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779067039489746s
2025-11-03T09:27:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6775861;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69735;2460982.81065703;9.45572944;1.3;_
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6775861;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69735;2460982.81065703;9.45572944;1.3;_
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6775861, teldec = -24.256617
2025-11-03T09:27:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6775861 -24.256617
2025-11-03T09:27:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6775861 -24.256617
2025-11-03T09:27:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6775861 -24.256617
2025-11-03T09:27:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6775861;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69735;2460982.81065705;9.45572944;1.3;_14.6531094736025 -24.1460347213838
2025-11-03T09:27:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6531094736025     dec_j2k = -24.1460347213838
2025-11-03T09:27:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096734001381696;171.162368059163;_
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096734001381696;171.162368059163;_
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46563)
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:20.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81065703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096734001381696, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6775861, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69735, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6531094736025, telescope_dec_j2k=-24.1460347213838, observability=1)
2025-11-03T09:27:21.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:21
2025-11-03T09:27:21.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:21.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6606616973876953s
2025-11-03T09:27:21.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6606616973876953
2025-11-03T09:27:21.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:21
2025-11-03T09:27:21.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:21.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.682652473449707s
2025-11-03T09:27:21.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.682652473449707
2025-11-03T09:27:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:22
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97861909866333s
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6781457;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69791;2460982.81068012;9.4562875;1.3;_
2025-11-03T09:27:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6781457;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69791;2460982.81068012;9.4562875;1.3;_
2025-11-03T09:27:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6781457, teldec = -24.256617
2025-11-03T09:27:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6781457 -24.256617
2025-11-03T09:27:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6781457 -24.256617
2025-11-03T09:27:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6781457 -24.256617
2025-11-03T09:27:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6781457;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69791;2460982.81068014;9.4562875;1.3;_14.6536685840669 -24.1460476929265
2025-11-03T09:27:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6536685840669     dec_j2k = -24.1460476929265
2025-11-03T09:27:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967346431727809;171.162357330327;_
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967346431727809;171.162357330327;_
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59363)
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:22.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:22.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:22.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81068012, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967346431727809, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6781457, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69791, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6536685840669, telescope_dec_j2k=-24.1460476929265, observability=1)
2025-11-03T09:27:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:23
2025-11-03T09:27:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5833518505096436s
2025-11-03T09:27:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5833518505096436
2025-11-03T09:27:23.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:23
2025-11-03T09:27:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.605297327041626s
2025-11-03T09:27:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.605297327041626
2025-11-03T09:27:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:24
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98799467086792s
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6787248;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69849;2460982.81070331;9.456865;1.3;_
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6787248;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69849;2460982.81070331;9.456865;1.3;_
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6787248, teldec = -24.256617
2025-11-03T09:27:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6787248 -24.256617
2025-11-03T09:27:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6787248 -24.256617
2025-11-03T09:27:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6787248 -24.256617
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6787248;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69849;2460982.81070334;9.456865;1.3;_14.6542471775247 -24.1460611190121
2025-11-03T09:27:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6542471775247     dec_j2k = -24.1460611190121
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967343222772384;171.162351965909;_
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967343222772384;171.162351965909;_
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49563)
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:24.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:24.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81070331, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967343222772384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6787248, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69849, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6542471775247, telescope_dec_j2k=-24.1460611190121, observability=1)
2025-11-03T09:27:26.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:26
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974247932434082s
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:26.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6792576;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69902;2460982.8107264;9.45739639;1.3;_
2025-11-03T09:27:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6792576;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69902;2460982.8107264;9.45739639;1.3;_
2025-11-03T09:27:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:26.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6792576, teldec = -24.256617
2025-11-03T09:27:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6792576 -24.256617
2025-11-03T09:27:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6792576 -24.256617
2025-11-03T09:27:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6792576 -24.256617
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6792576;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69902;2460982.81072644;9.45739639;1.3;_14.654779511528 -24.1460734739347
2025-11-03T09:27:26.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.654779511528     dec_j2k = -24.1460734739347
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967343222772384;171.162351965909;_
2025-11-03T09:27:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967343222772384;171.162351965909;_
2025-11-03T09:27:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47285)
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:26.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:26.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:26.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:26.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:26.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8107264, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967343222772384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6792576, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69902, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.654779511528, telescope_dec_j2k=-24.1460734739347, observability=1)
2025-11-03T09:27:26.782 [DEBUG] [Thread-88646 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:26.782 [DEBUG] [Thread-88646 (handle)] [server.py] [get_status()] Status age = 0.0035800933837890625s
2025-11-03T09:27:26.782 [DEBUG] [Thread-88646 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0035800933837890625
2025-11-03T09:27:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:28
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982264757156372s
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6798172;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69958;2460982.81074957;9.45795444;1.3;_
2025-11-03T09:27:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6798172;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69958;2460982.81074957;9.45795444;1.3;_
2025-11-03T09:27:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6798172, teldec = -24.256617
2025-11-03T09:27:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6798172 -24.256617
2025-11-03T09:27:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6798172 -24.256617
2025-11-03T09:27:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6798172 -24.256617
2025-11-03T09:27:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6798172;-24.256617;50.10858;89.993054;50.08601;90.12017;11.69958;2460982.81074961;9.45795444;1.3;_14.6553386221397 -24.1460864526608
2025-11-03T09:27:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6553386221397     dec_j2k = -24.1460864526608
2025-11-03T09:27:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967341217175244;171.162341237072;_
2025-11-03T09:27:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967341217175244;171.162341237072;_
2025-11-03T09:27:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34579)
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:28.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:28.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81074957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967341217175244, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6798172, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.69958, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6553386221397, telescope_dec_j2k=-24.1460864526608, observability=1)
2025-11-03T09:27:29.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:29
2025-11-03T09:27:29.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:29.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6729118824005127s
2025-11-03T09:27:29.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6729118824005127
2025-11-03T09:27:29.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:29
2025-11-03T09:27:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6947836875915527s
2025-11-03T09:27:29.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6947836875915527
2025-11-03T09:27:30.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:30
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9866037368774414s
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6803963;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70016;2460982.81077277;9.45853194;1.3;_
2025-11-03T09:27:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6803963;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70016;2460982.81077277;9.45853194;1.3;_
2025-11-03T09:27:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:30.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6803963, teldec = -24.256617
2025-11-03T09:27:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6803963 -24.256617
2025-11-03T09:27:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6803963 -24.256617
2025-11-03T09:27:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6803963 -24.256617
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6803963;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70016;2460982.8107728;9.45853194;1.3;_14.6559172157499 -24.1460998861791
2025-11-03T09:27:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6559172157499     dec_j2k = -24.1460998861791
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967348838444377;171.162351965909;_
2025-11-03T09:27:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967348838444377;171.162351965909;_
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48457)
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:30.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:30.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81077277, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967348838444377, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6803963, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70016, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6559172157499, telescope_dec_j2k=-24.1460998861791, observability=1)
2025-11-03T09:27:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:31
2025-11-03T09:27:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5755951404571533s
2025-11-03T09:27:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5755951404571533
2025-11-03T09:27:31.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:31
2025-11-03T09:27:31.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:31.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5978841781616211s
2025-11-03T09:27:31.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5978841781616211
2025-11-03T09:27:32.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:32
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9920306205749512s
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:32.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:32.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6809567;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70072;2460982.81079605;9.45909083;1.3;_
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6809567;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70072;2460982.81079605;9.45909083;1.3;_
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:32.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:32.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6809567, teldec = -24.256617
2025-11-03T09:27:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6809567 -24.256617
2025-11-03T09:27:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6809567 -24.256617
2025-11-03T09:27:32.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6809567 -24.256617
2025-11-03T09:27:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6809567;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70072;2460982.81079608;9.45909083;1.3;_14.6564771257626 -24.1461128883604
2025-11-03T09:27:32.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6564771257626     dec_j2k = -24.1461128883604
2025-11-03T09:27:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:32.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:32.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:32.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967349640683233;171.162357330327;_
2025-11-03T09:27:32.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967349640683233;171.162357330327;_
2025-11-03T09:27:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:32.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:32.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:32.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:32.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:32.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54219)
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:32.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:32.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:32.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81079605, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967349640683233, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6809567, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6564771257626, telescope_dec_j2k=-24.1461128883604, observability=1)
2025-11-03T09:27:33.985 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:33
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1859967708587646s
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:33.985 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:33.987 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:33.987 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:33.987 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:33.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:33.987 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6812926;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70106;2460982.81081005;9.45942583;1.3;_
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6812926;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70106;2460982.81081005;9.45942583;1.3;_
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:33.988 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:33.989 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:33.989 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:33.989 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6812926, teldec = -24.256617
2025-11-03T09:27:33.989 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6812926 -24.256617
2025-11-03T09:27:33.989 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6812926 -24.256617
2025-11-03T09:27:33.989 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6812926 -24.256617
2025-11-03T09:27:33.990 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6812926;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70106;2460982.81081007;9.45942583;1.3;_14.6568127320911 -24.1461206829361
2025-11-03T09:27:33.990 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6568127320911     dec_j2k = -24.1461206829361
2025-11-03T09:27:33.990 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:33.990 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967347635086093;171.162351965909;_
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967347635086093;171.162351965909;_
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:33.991 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:33.992 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:33.992 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:33.992 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:33.992 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:33.992 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:33.993 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:33.993 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:33.993 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:33.993 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33571)
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:33.997 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:34.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:34.004 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81081005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967347635086093, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6812926, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70106, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6568127320911, telescope_dec_j2k=-24.1461206829361, observability=1)
2025-11-03T09:27:34.026 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:34
2025-11-03T09:27:34.026 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:34.026 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02147531509399414s
2025-11-03T09:27:34.026 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02147531509399414
2025-11-03T09:27:34.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:34
2025-11-03T09:27:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7531049251556396s
2025-11-03T09:27:34.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7531049251556396
2025-11-03T09:27:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:35
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3556797504425049s
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:35.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6816561;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70142;2460982.81082595;9.45978833;1.3;_
2025-11-03T09:27:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6816561;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70142;2460982.81082595;9.45978833;1.3;_
2025-11-03T09:27:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:35.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6816561, teldec = -24.256617
2025-11-03T09:27:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6816561 -24.256617
2025-11-03T09:27:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6816561 -24.256617
2025-11-03T09:27:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6816561 -24.256617
2025-11-03T09:27:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6816561;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70142;2460982.81082598;9.45978833;1.3;_14.6571759143096 -24.1461291189468
2025-11-03T09:27:35.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6571759143096     dec_j2k = -24.1461291189468
2025-11-03T09:27:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967351646280373;171.162346601491;_
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967351646280373;171.162346601491;_
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:35.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56225)
2025-11-03T09:27:35.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:35.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:35.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:35.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:35.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:35.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81082595, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967351646280373, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6816561, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70142, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6571759143096, telescope_dec_j2k=-24.1461291189468, observability=1)
2025-11-03T09:27:35.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:35
2025-11-03T09:27:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021745681762695312s
2025-11-03T09:27:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021745681762695312
2025-11-03T09:27:35.585 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.585 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.585 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:35.585 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:35.585 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:27:35.586 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:35.587 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:35.588 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:27:35.589 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:35.590 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Park
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:27:35.591 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:27:35.592 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 29;14.6817403;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70151;2460982.81082861;9.45987222;1.3;_Park Command Successful
2025-11-03T09:27:36.593 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:27:36.593 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:27:36.593 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:27:36.593 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:27:36.593 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:27:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:36
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3803269863128662s
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6820389;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70181;2460982.81084216;9.46017;1.3;_
2025-11-03T09:27:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6820389;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70181;2460982.81084216;9.46017;1.3;_
2025-11-03T09:27:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6820389, teldec = -24.256617
2025-11-03T09:27:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6820389 -24.256617
2025-11-03T09:27:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6820389 -24.256617
2025-11-03T09:27:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6820389 -24.256617
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6820389;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70181;2460982.81084219;9.46017;1.3;_14.6575583796779 -24.1461380039631
2025-11-03T09:27:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6575583796779     dec_j2k = -24.1461380039631
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967345629488953;171.162357330327;_
2025-11-03T09:27:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967345629488953;171.162357330327;_
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40241)
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:36.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:36.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81084216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967345629488953, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6820389, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6575583796779, telescope_dec_j2k=-24.1461380039631, observability=1)
2025-11-03T09:27:37.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:27:37.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:27:37.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:27:37.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:27:37.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.2665495872497559s
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:38.041 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.6824032;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70217;2460982.81085697;9.46053333;1.3;_
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.6824032;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70217;2460982.81085697;9.46053333;1.3;_
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:38.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:38.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:38.043 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:38.043 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.6824032, teldec = -24.256617
2025-11-03T09:27:38.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6824032 -24.256617
2025-11-03T09:27:38.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6824032 -24.256617
2025-11-03T09:27:38.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6824032 -24.256617
2025-11-03T09:27:38.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.6824032;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70217;2460982.81085699;9.46053333;1.3;_14.6579223612398 -24.1461464606277
2025-11-03T09:27:38.044 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.6579223612398     dec_j2k = -24.1461464606277
2025-11-03T09:27:38.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:38.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:38.045 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967350844041517;171.162362694745;_
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967350844041517;171.162362694745;_
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:38.046 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:38.047 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33395)
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:38.053 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:38.060 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:38.060 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:38.060 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:38.060 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:38.061 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:38.061 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:38.061 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:38.061 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:38.061 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:38.061 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81085697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967350844041517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6824032, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70217, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6579223612398, telescope_dec_j2k=-24.1461464606277, observability=1)
2025-11-03T09:27:38.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:27:38.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:27:38.594 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:27:38.595 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:27:38.595 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:27:38.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:38
2025-11-03T09:27:38.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:38.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6081845760345459s
2025-11-03T09:27:38.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6081845760345459
2025-11-03T09:27:38.691 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:38
2025-11-03T09:27:38.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:38.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6298704147338867s
2025-11-03T09:27:38.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6298704147338867
2025-11-03T09:27:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:38
2025-11-03T09:27:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7006561756134033s
2025-11-03T09:27:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7006561756134033
2025-11-03T09:27:39.595 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:27:39.595 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:27:39.596 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:27:39.596 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:39.597 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:27:39.598 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:27:39.599 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:40
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.299377918243408s
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6830477;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70281;2460982.81088382;9.46117611;1.3;_
2025-11-03T09:27:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6830477;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70281;2460982.81088382;9.46117611;1.3;_
2025-11-03T09:27:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6830477, teldec = -24.256617
2025-11-03T09:27:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6830477 -24.256617
2025-11-03T09:27:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6830477 -24.256617
2025-11-03T09:27:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6830477 -24.256617
2025-11-03T09:27:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6830477;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70281;2460982.81088385;9.46117611;1.3;_14.6585662979276 -24.1461614241993
2025-11-03T09:27:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6585662979276     dec_j2k = -24.1461614241993
2025-11-03T09:27:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967350041802661;171.162357330327;_
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967350041802661;171.162357330327;_
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34731)
2025-11-03T09:27:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:40.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:40.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:40.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81088382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967350041802661, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6830477, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70281, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6585662979276, telescope_dec_j2k=-24.1461614241993, observability=1)
2025-11-03T09:27:40.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:40
2025-11-03T09:27:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02145075798034668s
2025-11-03T09:27:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02145075798034668
2025-11-03T09:27:40.599 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:40.599 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:40.599 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:40.599 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:40.599 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:27:40.600 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:27:40.601 [DEBUG] [ThreadPoolExecutor-3402_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:40.601 [INFO] [ThreadPoolExecutor-3402_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:27:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:40
2025-11-03T09:27:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38010716438293457s
2025-11-03T09:27:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38010716438293457
2025-11-03T09:27:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:42
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3810927867889404s
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6837382;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70351;2460982.81091161;9.46186472;1.3;_
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6837382;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70351;2460982.81091161;9.46186472;1.3;_
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6837382, teldec = -24.256617
2025-11-03T09:27:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6837382 -24.256617
2025-11-03T09:27:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6837382 -24.256617
2025-11-03T09:27:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6837382 -24.256617
2025-11-03T09:27:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6837382;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70351;2460982.81091163;9.46186472;1.3;_14.6592561944826 -24.1461774593047
2025-11-03T09:27:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6592561944826     dec_j2k = -24.1461774593047
2025-11-03T09:27:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967352849638658;171.162351965909;_
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967352849638658;171.162351965909;_
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35075)
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81091161, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967352849638658, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6837382, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6592561944826, telescope_dec_j2k=-24.1461774593047, observability=1)
2025-11-03T09:27:43.950 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:43
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1712429523468018s
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.684046;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70381;2460982.81092537;9.46217167;1.3;_
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.684046;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70381;2460982.81092537;9.46217167;1.3;_
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:43.953 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.684046, teldec = -24.256617
2025-11-03T09:27:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.684046 -24.256617
2025-11-03T09:27:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.684046 -24.256617
2025-11-03T09:27:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.684046 -24.256617
2025-11-03T09:27:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.684046;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70381;2460982.81092539;9.46217167;1.3;_14.6595637255128 -24.1461846083551
2025-11-03T09:27:43.954 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6595637255128     dec_j2k = -24.1461846083551
2025-11-03T09:27:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:43.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:43.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096735445411637;171.162357330327;_
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096735445411637;171.162357330327;_
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:43.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:43.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:43.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:43.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:43.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:43.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:43.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54861)
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:43.960 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:43.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:43.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:43.968 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:43.968 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:43.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:43.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:43.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:43.969 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:43.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:43.969 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81092537, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096735445411637, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.684046, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6595637255128, telescope_dec_j2k=-24.1461846083551, observability=1)
2025-11-03T09:27:43.990 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:43
2025-11-03T09:27:43.990 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:43.990 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021031618118286133s
2025-11-03T09:27:43.990 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021031618118286133
2025-11-03T09:27:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:44
2025-11-03T09:27:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7902576923370361s
2025-11-03T09:27:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7902576923370361
2025-11-03T09:27:44.883 [DEBUG] [Thread-88647 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:44.883 [DEBUG] [Thread-88647 (handle)] [server.py] [get_status()] Status age = 0.9142463207244873s
2025-11-03T09:27:44.883 [DEBUG] [Thread-88647 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9142463207244873
2025-11-03T09:27:45.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:45
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8293702602386475s
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:45.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6845786;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70435;2460982.81094676;9.46270278;1.3;_
2025-11-03T09:27:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6845786;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70435;2460982.81094676;9.46270278;1.3;_
2025-11-03T09:27:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:45.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6845786, teldec = -24.256617
2025-11-03T09:27:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6845786 -24.256617
2025-11-03T09:27:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6845786 -24.256617
2025-11-03T09:27:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6845786 -24.256617
2025-11-03T09:27:45.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6845786;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70435;2460982.81094679;9.46270278;1.3;_14.6600958601378 -24.1461969803911
2025-11-03T09:27:45.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6600958601378     dec_j2k = -24.1461969803911
2025-11-03T09:27:45.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:45.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:45.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967353250758086;171.162362694745;_
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967353250758086;171.162362694745;_
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:45.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:45.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:45.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:45.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:45.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:45.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:45.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:45.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:45.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37853)
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:45.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:45.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:45.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:45.816 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:45.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:45.816 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81094676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967353250758086, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6845786, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70435, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6600958601378, telescope_dec_j2k=-24.1461969803911, observability=1)
2025-11-03T09:27:45.837 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:45
2025-11-03T09:27:45.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:45.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02132892608642578s
2025-11-03T09:27:45.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02132892608642578
2025-11-03T09:27:46.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:46
2025-11-03T09:27:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9588057994842529s
2025-11-03T09:27:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9588057994842529
2025-11-03T09:27:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:47
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5435864925384521s
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:47.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:47.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6849986;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70477;2460982.81096483;9.46312167;1.3;_
2025-11-03T09:27:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6849986;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70477;2460982.81096483;9.46312167;1.3;_
2025-11-03T09:27:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:47.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6849986, teldec = -24.256617
2025-11-03T09:27:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6849986 -24.256617
2025-11-03T09:27:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6849986 -24.256617
2025-11-03T09:27:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6849986 -24.256617
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6849986;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70477;2460982.81096485;9.46312167;1.3;_14.660515493182 -24.1462067383189
2025-11-03T09:27:47.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.660515493182     dec_j2k = -24.1462067383189
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967350041802661;171.162362694745;_
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967350041802661;171.162362694745;_
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38299)
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:47.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:47.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:47.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81096483, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967350041802661, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6849986, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.660515493182, telescope_dec_j2k=-24.1462067383189, observability=1)
2025-11-03T09:27:47.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:47
2025-11-03T09:27:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02132248878479004s
2025-11-03T09:27:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02132248878479004
2025-11-03T09:27:47.948 [DEBUG] [Thread-88648 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:47.949 [DEBUG] [Thread-88648 (handle)] [server.py] [get_status()] Status age = 0.5692288875579834s
2025-11-03T09:27:47.949 [DEBUG] [Thread-88648 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5692288875579834
2025-11-03T09:27:49.013 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:49
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6338472366333008s
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:49.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:49.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:49.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6854744;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70524;2460982.81098397;9.46359611;1.3;_
2025-11-03T09:27:49.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6854744;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70524;2460982.81098397;9.46359611;1.3;_
2025-11-03T09:27:49.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:49.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:49.015 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:49.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:49.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:49.016 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6854744, teldec = -24.256617
2025-11-03T09:27:49.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6854744 -24.256617
2025-11-03T09:27:49.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6854744 -24.256617
2025-11-03T09:27:49.016 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6854744 -24.256617
2025-11-03T09:27:49.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6854744;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70524;2460982.81098399;9.46359611;1.3;_14.6609908775071 -24.1462177942917
2025-11-03T09:27:49.017 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6609908775071     dec_j2k = -24.1462177942917
2025-11-03T09:27:49.017 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:49.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:49.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:49.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967355256355226;171.162357330327;_
2025-11-03T09:27:49.018 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967355256355226;171.162357330327;_
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:49.019 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:49.020 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53627)
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:49.025 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:49.032 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:49.032 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:49.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:49.033 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81098397, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967355256355226, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6854744, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6609908775071, telescope_dec_j2k=-24.1462177942917, observability=1)
2025-11-03T09:27:49.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:49
2025-11-03T09:27:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32660841941833496s
2025-11-03T09:27:49.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32660841941833496
2025-11-03T09:27:49.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:49
2025-11-03T09:27:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34789586067199707s
2025-11-03T09:27:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34789586067199707
2025-11-03T09:27:50.750 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:50
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7173683643341064s
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:50.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:50.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:50.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6859412;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70571;2460982.81100407;9.46406167;1.3;_
2025-11-03T09:27:50.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6859412;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70571;2460982.81100407;9.46406167;1.3;_
2025-11-03T09:27:50.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:50.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:50.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:50.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:50.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:50.753 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6859412, teldec = -24.256617
2025-11-03T09:27:50.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6859412 -24.256617
2025-11-03T09:27:50.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6859412 -24.256617
2025-11-03T09:27:50.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6859412 -24.256617
2025-11-03T09:27:50.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6859412;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70571;2460982.8110041;9.46406167;1.3;_14.6614572697296 -24.1462286428222
2025-11-03T09:27:50.754 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6614572697296     dec_j2k = -24.1462286428222
2025-11-03T09:27:50.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:50.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:50.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967359668668935;171.162362694745;_
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967359668668935;171.162362694745;_
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:50.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:50.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:50.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:50.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36393)
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:50.760 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:50.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81100407, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967359668668935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6859412, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70571, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6614572697296, telescope_dec_j2k=-24.1462286428222, observability=1)
2025-11-03T09:27:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:51
2025-11-03T09:27:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5938434600830078s
2025-11-03T09:27:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5938434600830078
2025-11-03T09:27:51.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:51
2025-11-03T09:27:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6163139343261719s
2025-11-03T09:27:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6163139343261719
2025-11-03T09:27:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:52
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9920449256896973s
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6865019;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70627;2460982.81102733;9.46462083;1.3;_
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6865019;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70627;2460982.81102733;9.46462083;1.3;_
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6865019, teldec = -24.256617
2025-11-03T09:27:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6865019 -24.256617
2025-11-03T09:27:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6865019 -24.256617
2025-11-03T09:27:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6865019 -24.256617
2025-11-03T09:27:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6865019;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70627;2460982.81102735;9.46462083;1.3;_14.6620174799704 -24.1462416758175
2025-11-03T09:27:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6620174799704     dec_j2k = -24.1462416758175
2025-11-03T09:27:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967358866430078;171.162362694745;_
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967358866430078;171.162362694745;_
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60489)
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:52.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:52.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81102733, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967358866430078, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6865019, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70627, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6620174799704, telescope_dec_j2k=-24.1462416758175, observability=1)
2025-11-03T09:27:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:54
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832830429077148s
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6870612;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70683;2460982.81105046;9.46517861;1.3;_
2025-11-03T09:27:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6870612;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70683;2460982.81105046;9.46517861;1.3;_
2025-11-03T09:27:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6870612, teldec = -24.256617
2025-11-03T09:27:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6870612 -24.256617
2025-11-03T09:27:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6870612 -24.256617
2025-11-03T09:27:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6870612 -24.256617
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6870612;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70683;2460982.8110505;9.46517861;1.3;_14.6625762914835 -24.1462546786724
2025-11-03T09:27:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6625762914835     dec_j2k = -24.1462546786724
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967354052996942;171.162368059163;_
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967354052996942;171.162368059163;_
2025-11-03T09:27:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41539)
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:54.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:54.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:54.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81105046, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967354052996942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6870612, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70683, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6625762914835, telescope_dec_j2k=-24.1462546786724, observability=1)
2025-11-03T09:27:55.004 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:55
2025-11-03T09:27:55.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:55.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22844505310058594s
2025-11-03T09:27:55.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22844505310058594
2025-11-03T09:27:55.025 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:55
2025-11-03T09:27:55.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:55.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24971914291381836s
2025-11-03T09:27:55.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24971914291381836
2025-11-03T09:27:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:56
2025-11-03T09:27:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.586050271987915s
2025-11-03T09:27:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6874996;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70727;2460982.81106903;9.46561583;1.3;_
2025-11-03T09:27:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6874996;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70727;2460982.81106903;9.46561583;1.3;_
2025-11-03T09:27:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6874996, teldec = -24.256617
2025-11-03T09:27:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6874996 -24.256617
2025-11-03T09:27:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6874996 -24.256617
2025-11-03T09:27:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6874996 -24.256617
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6874996;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70727;2460982.81106905;9.46561583;1.3;_14.6630143086239 -24.146264872467
2025-11-03T09:27:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6630143086239     dec_j2k = -24.146264872467
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967359267549506;171.162368059163;_
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967359267549506;171.162368059163;_
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39443)
2025-11-03T09:27:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:56.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81106903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967359267549506, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6874996, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6630143086239, telescope_dec_j2k=-24.146264872467, observability=1)
2025-11-03T09:27:56.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:56
2025-11-03T09:27:56.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:56.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022064685821533203s
2025-11-03T09:27:56.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022064685821533203
2025-11-03T09:27:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:56
2025-11-03T09:27:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3816792964935303s
2025-11-03T09:27:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3816792964935303
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5500149726867676s
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:57.932 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:57.933 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6879478;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70771;2460982.8110872;9.46606278;1.3;_
2025-11-03T09:27:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.6879478;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70771;2460982.8110872;9.46606278;1.3;_
2025-11-03T09:27:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:57.934 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:57.935 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.6879478, teldec = -24.256617
2025-11-03T09:27:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6879478 -24.256617
2025-11-03T09:27:57.935 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6879478 -24.256617
2025-11-03T09:27:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6879478 -24.256617
2025-11-03T09:27:57.936 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.6879478;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70771;2460982.81108722;9.46606278;1.3;_14.6634621172374 -24.1462752956569
2025-11-03T09:27:57.937 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.6634621172374     dec_j2k = -24.1462752956569
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096735846531065;171.162368059163;_
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096735846531065;171.162368059163;_
2025-11-03T09:27:57.937 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:57.938 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:57.939 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:27:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39849)
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:57.944 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:57.951 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:57.952 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8110872, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096735846531065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6879478, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70771, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6634621172374, telescope_dec_j2k=-24.1462752956569, observability=1)
2025-11-03T09:27:58.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:58
2025-11-03T09:27:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8126919269561768s
2025-11-03T09:27:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8126919269561768
2025-11-03T09:27:59.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:59
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4936702251434326s
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:27:59.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:27:59.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:27:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6883684;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70814;2460982.81110471;9.46648222;1.3;_
2025-11-03T09:27:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6883684;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70814;2460982.81110471;9.46648222;1.3;_
2025-11-03T09:27:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:27:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:27:59.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:27:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:27:59.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6883684, teldec = -24.256617
2025-11-03T09:27:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6883684 -24.256617
2025-11-03T09:27:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6883684 -24.256617
2025-11-03T09:27:59.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6883684 -24.256617
2025-11-03T09:27:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6883684;-24.256617;50.10858;89.993054;50.08601;90.12017;11.70814;2460982.81110473;9.46648222;1.3;_14.6638823499811 -24.1462850783908
2025-11-03T09:27:59.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6638823499811     dec_j2k = -24.1462850783908
2025-11-03T09:27:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:27:59.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096735846531065;171.162351965909;_
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096735846531065;171.162351965909;_
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:59.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:59.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:27:59.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37489)
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:27:59.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:27:59.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:27:59.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:27:59.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:27:59.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81110471, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096735846531065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10858, telescope_az=89.993054, telescope_ra=14.6883684, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70814, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6638823499811, telescope_dec_j2k=-24.1462850783908, observability=1)
2025-11-03T09:27:59.485 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:27:59
2025-11-03T09:27:59.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:27:59.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021422386169433594s
2025-11-03T09:27:59.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021422386169433594
2025-11-03T09:28:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:00
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2971351146697998s
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6887324;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7085;2460982.81111993;9.46684528;1.3;_
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6887324;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7085;2460982.81111993;9.46684528;1.3;_
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6887324, teldec = -24.256617
2025-11-03T09:28:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6887324 -24.256617
2025-11-03T09:28:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6887324 -24.256617
2025-11-03T09:28:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6887324 -24.256617
2025-11-03T09:28:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6887324;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7085;2460982.81111995;9.46684528;1.3;_14.664246032169 -24.14629354576
2025-11-03T09:28:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.664246032169     dec_j2k = -24.14629354576
2025-11-03T09:28:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967354052996942;171.162373423581;_
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967354052996942;171.162373423581;_
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58869)
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:00.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:00.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81111993, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967354052996942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6887324, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7085, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.664246032169, telescope_dec_j2k=-24.14629354576, observability=1)
2025-11-03T09:28:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:01
2025-11-03T09:28:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5836946964263916s
2025-11-03T09:28:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5836946964263916
2025-11-03T09:28:01.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:01
2025-11-03T09:28:01.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:01.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6061606407165527s
2025-11-03T09:28:01.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6061606407165527
2025-11-03T09:28:02.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:02
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857304096221924s
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6892831;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70905;2460982.81114312;9.46739444;1.3;_
2025-11-03T09:28:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6892831;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70905;2460982.81114312;9.46739444;1.3;_
2025-11-03T09:28:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6892831, teldec = -24.256617
2025-11-03T09:28:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6892831 -24.256617
2025-11-03T09:28:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6892831 -24.256617
2025-11-03T09:28:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6892831 -24.256617
2025-11-03T09:28:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6892831;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70905;2460982.81114316;9.46739444;1.3;_14.664796251387 -24.1463063580755
2025-11-03T09:28:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.664796251387     dec_j2k = -24.1463063580755
2025-11-03T09:28:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967355657474654;171.162362694745;_
2025-11-03T09:28:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967355657474654;171.162362694745;_
2025-11-03T09:28:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57099)
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81114312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967355657474654, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6892831, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70905, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.664796251387, telescope_dec_j2k=-24.1463063580755, observability=1)
2025-11-03T09:28:02.966 [DEBUG] [Thread-88649 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:02.966 [DEBUG] [Thread-88649 (handle)] [server.py] [get_status()] Status age = 0.18171906471252441s
2025-11-03T09:28:02.966 [DEBUG] [Thread-88649 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18171906471252441
2025-11-03T09:28:03.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:03
2025-11-03T09:28:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5782840251922607s
2025-11-03T09:28:03.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5782840251922607
2025-11-03T09:28:03.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:03
2025-11-03T09:28:03.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:03.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6045632362365723s
2025-11-03T09:28:03.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6045632362365723
2025-11-03T09:28:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:04
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779160022735596s
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6898435;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70961;2460982.81116625;9.46795333;1.3;_
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6898435;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70961;2460982.81116625;9.46795333;1.3;_
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:04.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6898435, teldec = -24.256617
2025-11-03T09:28:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6898435 -24.256617
2025-11-03T09:28:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6898435 -24.256617
2025-11-03T09:28:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6898435 -24.256617
2025-11-03T09:28:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6898435;-24.256617;50.108579;89.993054;50.08601;90.12017;11.70961;2460982.81116627;9.46795333;1.3;_14.6653561621857 -24.146319398452
2025-11-03T09:28:04.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6653561621857     dec_j2k = -24.146319398452
2025-11-03T09:28:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967359668668935;171.162357330327;_
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967359668668935;171.162357330327;_
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53581)
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:04.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:04.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81116625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967359668668935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6898435, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.70961, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6653561621857, telescope_dec_j2k=-24.146319398452, observability=1)
2025-11-03T09:28:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:05
2025-11-03T09:28:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5767383575439453s
2025-11-03T09:28:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5767383575439453
2025-11-03T09:28:05.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:05
2025-11-03T09:28:05.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:05.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.597980260848999s
2025-11-03T09:28:05.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.597980260848999
2025-11-03T09:28:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:06
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977895736694336s
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6904042;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71017;2460982.81118939;9.4685125;1.3;_
2025-11-03T09:28:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6904042;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71017;2460982.81118939;9.4685125;1.3;_
2025-11-03T09:28:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6904042, teldec = -24.256617
2025-11-03T09:28:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6904042 -24.256617
2025-11-03T09:28:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6904042 -24.256617
2025-11-03T09:28:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6904042 -24.256617
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6904042;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71017;2460982.81118942;9.4685125;1.3;_14.6659163727723 -24.1463324482176
2025-11-03T09:28:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6659163727723     dec_j2k = -24.1463324482176
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967362075385503;171.162351965909;_
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967362075385503;171.162351965909;_
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39753)
2025-11-03T09:28:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:06.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:06.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81118939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967362075385503, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6904042, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6659163727723, telescope_dec_j2k=-24.1463324482176, observability=1)
2025-11-03T09:28:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:08
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826223850250244s
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6909549;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71072;2460982.81121251;9.46906167;1.3;_
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6909549;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71072;2460982.81121251;9.46906167;1.3;_
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:08.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6909549, teldec = -24.256617
2025-11-03T09:28:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6909549 -24.256617
2025-11-03T09:28:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6909549 -24.256617
2025-11-03T09:28:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6909549 -24.256617
2025-11-03T09:28:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6909549;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71072;2460982.81121253;9.46906167;1.3;_14.6664665921358 -24.1463452675871
2025-11-03T09:28:08.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6664665921358     dec_j2k = -24.1463452675871
2025-11-03T09:28:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096735846531065;171.162351965909;_
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096735846531065;171.162351965909;_
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34903)
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:08.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81121251, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096735846531065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6909549, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6664665921358, telescope_dec_j2k=-24.1463452675871, observability=1)
2025-11-03T09:28:09.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:09
2025-11-03T09:28:09.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:09.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6670000553131104s
2025-11-03T09:28:09.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6670000553131104
2025-11-03T09:28:09.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:09
2025-11-03T09:28:09.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:09.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6891367435455322s
2025-11-03T09:28:09.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6891367435455322
2025-11-03T09:28:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:10
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834351539611816s
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6915156;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71128;2460982.81123569;9.46962083;1.3;_
2025-11-03T09:28:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6915156;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71128;2460982.81123569;9.46962083;1.3;_
2025-11-03T09:28:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:10.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6915156, teldec = -24.256617
2025-11-03T09:28:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6915156 -24.256617
2025-11-03T09:28:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6915156 -24.256617
2025-11-03T09:28:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6915156 -24.256617
2025-11-03T09:28:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6915156;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71128;2460982.81123572;9.46962083;1.3;_14.667026802821 -24.1463583221266
2025-11-03T09:28:10.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.667026802821     dec_j2k = -24.1463583221266
2025-11-03T09:28:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967364080982643;171.162351965909;_
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967364080982643;171.162351965909;_
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33273)
2025-11-03T09:28:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:10.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:10.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81123569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967364080982643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6915156, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71128, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.667026802821, telescope_dec_j2k=-24.1463583221266, observability=1)
2025-11-03T09:28:11.663 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:28:11
2025-11-03T09:28:11.663 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:11.663 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.883192777633667s
2025-11-03T09:28:11.663 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.883192777633667
2025-11-03T09:28:12.185 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:12
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4050922393798828s
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:12.185 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:12.186 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:12.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6919081;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71168;2460982.81125216;9.47001222;1.3;_
2025-11-03T09:28:12.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6919081;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71168;2460982.81125216;9.47001222;1.3;_
2025-11-03T09:28:12.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:12.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:12.187 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:12.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:12.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:12.188 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6919081, teldec = -24.256617
2025-11-03T09:28:12.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6919081 -24.256617
2025-11-03T09:28:12.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6919081 -24.256617
2025-11-03T09:28:12.188 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6919081 -24.256617
2025-11-03T09:28:12.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6919081;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71168;2460982.81125219;9.47001222;1.3;_14.6674189603214 -24.1463674619698
2025-11-03T09:28:12.189 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6674189603214     dec_j2k = -24.1463674619698
2025-11-03T09:28:12.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:12.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:12.189 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967366487699211;171.162368059163;_
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967366487699211;171.162368059163;_
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:12.190 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:12.191 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:12.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:12.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:12.192 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:12.195 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55229)
2025-11-03T09:28:12.196 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:12.196 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:12.196 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:12.196 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:12.196 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:12.203 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:12.204 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81125216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967366487699211, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6919081, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71168, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6674189603214, telescope_dec_j2k=-24.1463674619698, observability=1)
2025-11-03T09:28:12.225 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:12
2025-11-03T09:28:12.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:12.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021358013153076172s
2025-11-03T09:28:12.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021358013153076172
2025-11-03T09:28:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:12
2025-11-03T09:28:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5578145980834961s
2025-11-03T09:28:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5578145980834961
2025-11-03T09:28:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:13
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1570351123809814s
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6922434;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71201;2460982.81126576;9.47034667;1.3;_
2025-11-03T09:28:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6922434;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71201;2460982.81126576;9.47034667;1.3;_
2025-11-03T09:28:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:13.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6922434, teldec = -24.256617
2025-11-03T09:28:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6922434 -24.256617
2025-11-03T09:28:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6922434 -24.256617
2025-11-03T09:28:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6922434 -24.256617
2025-11-03T09:28:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6922434;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71201;2460982.81126579;9.47034667;1.3;_14.6677539677545 -24.1463752707755
2025-11-03T09:28:13.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6677539677545     dec_j2k = -24.1463752707755
2025-11-03T09:28:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967361674266075;171.162351965909;_
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967361674266075;171.162351965909;_
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:13.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33831)
2025-11-03T09:28:13.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:13.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:13.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:13.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:13.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:13.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:13.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:13.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81126576, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967361674266075, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6922434, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71201, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6677539677545, telescope_dec_j2k=-24.1463752707755, observability=1)
2025-11-03T09:28:13.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:13
2025-11-03T09:28:13.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:13.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.031380414962768555s
2025-11-03T09:28:13.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.031380414962768555
2025-11-03T09:28:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:14
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.381075382232666s
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6926264;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71239;2460982.81128198;9.47072861;1.3;_
2025-11-03T09:28:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6926264;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71239;2460982.81128198;9.47072861;1.3;_
2025-11-03T09:28:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6926264, teldec = -24.256617
2025-11-03T09:28:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6926264 -24.256617
2025-11-03T09:28:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6926264 -24.256617
2025-11-03T09:28:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6926264 -24.256617
2025-11-03T09:28:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6926264;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71239;2460982.811282;9.47072861;1.3;_14.6681366335886 -24.1463841915205
2025-11-03T09:28:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6681366335886     dec_j2k = -24.1463841915205
2025-11-03T09:28:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967366086579783;171.162351965909;_
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967366086579783;171.162351965909;_
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58951)
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:14.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:14.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81128198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967366086579783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6926264, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71239, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:27:14.706299', telescope_ra_j2k=14.6681366335886, telescope_dec_j2k=-24.1463841915205, observability=1)
2025-11-03T09:28:14.850 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:14.850 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:14.850 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:14.850 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:14.850 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:14.851 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:14.851 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:14.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:14.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:14.852 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:14.852 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:28:14.852 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:14.852 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:14.852 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:14.852 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:14.852 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:28:14.853 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:28:14.854 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:15.175 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:28:15.175 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.39634060859680176s
2025-11-03T09:28:15.175 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.39634060859680176
2025-11-03T09:28:15.175 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.511786699295044 seconds ago
2025-11-03T09:28:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:15
2025-11-03T09:28:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5812804698944092s
2025-11-03T09:28:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5812804698944092
2025-11-03T09:28:15.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:15
2025-11-03T09:28:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6023914813995361s
2025-11-03T09:28:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6023914813995361
2025-11-03T09:28:15.854 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:15.854 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:15.854 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:15.854 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:15.854 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:28:15.855 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:15.856 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:15.857 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:15.857 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:15.857 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:15.857 [DEBUG] [ThreadPoolExecutor-3404_0] [payload.py] [to_registers()] [0]
2025-11-03T09:28:15.863 [DEBUG] [ThreadPoolExecutor-3404_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49007)
2025-11-03T09:28:15.863 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:15.863 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:15.864 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:28:15.864 [DEBUG] [ThreadPoolExecutor-3404_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:15.864 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:15.871 [DEBUG] [ThreadPoolExecutor-3404_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:16.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:16
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0123043060302734s
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:16.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.693215;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71298;2460982.81130547;9.47131556;1.3;_
2025-11-03T09:28:16.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.693215;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71298;2460982.81130547;9.47131556;1.3;_
2025-11-03T09:28:16.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:16.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:16.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:16.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:16.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:16.794 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.693215, teldec = -24.256617
2025-11-03T09:28:16.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.693215 -24.256617
2025-11-03T09:28:16.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.693215 -24.256617
2025-11-03T09:28:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.693215 -24.256617
2025-11-03T09:28:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.693215;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71298;2460982.8113055;9.47131556;1.3;_14.6687247200828 -24.1463979032413
2025-11-03T09:28:16.795 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6687247200828     dec_j2k = -24.1463979032413
2025-11-03T09:28:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096736889441578;171.162351965909;_
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096736889441578;171.162351965909;_
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50465)
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:16.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:16.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:16.808 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81130547, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096736889441578, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.693215, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71298, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6687247200828, telescope_dec_j2k=-24.1463979032413, observability=1)
2025-11-03T09:28:17.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:17
2025-11-03T09:28:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5512821674346924s
2025-11-03T09:28:17.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5512821674346924
2025-11-03T09:28:17.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:17
2025-11-03T09:28:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5727920532226562s
2025-11-03T09:28:17.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5727920532226562
2025-11-03T09:28:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:18
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.954784870147705s
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6937473;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71351;2460982.8113283;9.47184639;1.3;_
2025-11-03T09:28:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6937473;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71351;2460982.8113283;9.47184639;1.3;_
2025-11-03T09:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6937473, teldec = -24.256617
2025-11-03T09:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6937473 -24.256617
2025-11-03T09:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6937473 -24.256617
2025-11-03T09:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6937473 -24.256617
2025-11-03T09:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6937473;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71351;2460982.81132833;9.47184639;1.3;_14.6692565557414 -24.1464103057107
2025-11-03T09:28:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6692565557414     dec_j2k = -24.1464103057107
2025-11-03T09:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967364482102071;171.162362694745;_
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967364482102071;171.162362694745;_
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45527)
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:18.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8113283, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967364482102071, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6937473, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6692565557414, telescope_dec_j2k=-24.1464103057107, observability=1)
2025-11-03T09:28:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:19
2025-11-03T09:28:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5789718627929688s
2025-11-03T09:28:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5789718627929688
2025-11-03T09:28:19.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:19
2025-11-03T09:28:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6005399227142334s
2025-11-03T09:28:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6005399227142334
2025-11-03T09:28:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:20
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775090217590332s
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6943069;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71407;2460982.81135141;9.47240444;1.3;_
2025-11-03T09:28:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6943069;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71407;2460982.81135141;9.47240444;1.3;_
2025-11-03T09:28:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6943069, teldec = -24.256617
2025-11-03T09:28:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6943069 -24.256617
2025-11-03T09:28:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6943069 -24.256617
2025-11-03T09:28:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6943069 -24.256617
2025-11-03T09:28:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6943069;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71407;2460982.81135144;9.47240444;1.3;_14.6698156676338 -24.1464233466029
2025-11-03T09:28:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6698156676338     dec_j2k = -24.1464233466029
2025-11-03T09:28:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967364080982643;171.162368059163;_
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967364080982643;171.162368059163;_
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40013)
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:20.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:20.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:20.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:20.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81135141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967364080982643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6943069, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71407, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6698156676338, telescope_dec_j2k=-24.1464233466029, observability=1)
2025-11-03T09:28:21.033 [DEBUG] [Thread-88650 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:21.033 [DEBUG] [Thread-88650 (handle)] [server.py] [get_status()] Status age = 0.25208187103271484s
2025-11-03T09:28:21.033 [DEBUG] [Thread-88650 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25208187103271484
2025-11-03T09:28:21.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:21
2025-11-03T09:28:21.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:21.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6188125610351562s
2025-11-03T09:28:21.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6188125610351562
2025-11-03T09:28:21.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:21
2025-11-03T09:28:21.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:21.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6448547840118408s
2025-11-03T09:28:21.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6448547840118408
2025-11-03T09:28:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:22
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802324771881104s
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6948581;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71463;2460982.81137456;9.47295417;1.3;_
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6948581;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71463;2460982.81137456;9.47295417;1.3;_
2025-11-03T09:28:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6948581, teldec = -24.256617
2025-11-03T09:28:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6948581 -24.256617
2025-11-03T09:28:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6948581 -24.256617
2025-11-03T09:28:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6948581 -24.256617
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6948581;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71463;2460982.8113746;9.47295417;1.3;_14.6703663869015 -24.1464361940852
2025-11-03T09:28:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6703663869015     dec_j2k = -24.1464361940852
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967364883221499;171.162362694745;_
2025-11-03T09:28:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967364883221499;171.162362694745;_
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34165)
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:22.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81137456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967364883221499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6948581, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71463, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6703663869015, telescope_dec_j2k=-24.1464361940852, observability=1)
2025-11-03T09:28:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:23
2025-11-03T09:28:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5827505588531494s
2025-11-03T09:28:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5827505588531494
2025-11-03T09:28:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:23
2025-11-03T09:28:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6049349308013916s
2025-11-03T09:28:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6049349308013916
2025-11-03T09:28:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:24
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811675548553467s
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6954188;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71519;2460982.8113977;9.47351333;1.3;_
2025-11-03T09:28:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6954188;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71519;2460982.8113977;9.47351333;1.3;_
2025-11-03T09:28:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6954188, teldec = -24.256617
2025-11-03T09:28:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6954188 -24.256617
2025-11-03T09:28:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6954188 -24.256617
2025-11-03T09:28:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6954188 -24.256617
2025-11-03T09:28:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6954188;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71519;2460982.81139773;9.47351333;1.3;_14.6709265979332 -24.1464492653815
2025-11-03T09:28:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6709265979332     dec_j2k = -24.1464492653815
2025-11-03T09:28:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967368493296352;171.162346601491;_
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967368493296352;171.162346601491;_
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:24.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48137)
2025-11-03T09:28:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:24.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:24.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:24.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:24.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:24.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8113977, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967368493296352, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6954188, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71519, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6709265979332, telescope_dec_j2k=-24.1464492653815, observability=1)
2025-11-03T09:28:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:25
2025-11-03T09:28:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830168724060059s
2025-11-03T09:28:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830168724060059
2025-11-03T09:28:25.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:25
2025-11-03T09:28:25.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:25.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6047730445861816s
2025-11-03T09:28:25.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6047730445861816
2025-11-03T09:28:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:26
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9914839267730713s
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6959787;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71575;2460982.81142095;9.47407167;1.3;_
2025-11-03T09:28:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6959787;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71575;2460982.81142095;9.47407167;1.3;_
2025-11-03T09:28:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6959787, teldec = -24.256617
2025-11-03T09:28:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6959787 -24.256617
2025-11-03T09:28:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6959787 -24.256617
2025-11-03T09:28:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6959787 -24.256617
2025-11-03T09:28:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6959787;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71575;2460982.81142097;9.47407167;1.3;_14.6714860097122 -24.1464623204286
2025-11-03T09:28:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6714860097122     dec_j2k = -24.1464623204286
2025-11-03T09:28:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096737090001292;171.162357330327;_
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096737090001292;171.162357330327;_
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41157)
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:26.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81142095, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096737090001292, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6959787, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71575, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6714860097122, telescope_dec_j2k=-24.1464623204286, observability=1)
2025-11-03T09:28:27.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:27
2025-11-03T09:28:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5747768878936768s
2025-11-03T09:28:27.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5747768878936768
2025-11-03T09:28:27.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:27
2025-11-03T09:28:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5957486629486084s
2025-11-03T09:28:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5957486629486084
2025-11-03T09:28:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:28
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9760558605194092s
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6965296;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7163;2460982.81144406;9.47462111;1.3;_
2025-11-03T09:28:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6965296;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7163;2460982.81144406;9.47462111;1.3;_
2025-11-03T09:28:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6965296, teldec = -24.256617
2025-11-03T09:28:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6965296 -24.256617
2025-11-03T09:28:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6965296 -24.256617
2025-11-03T09:28:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6965296 -24.256617
2025-11-03T09:28:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6965296;-24.256617;50.108579;89.993054;50.08601;90.12017;11.7163;2460982.81144409;9.47462111;1.3;_14.6720364293875 -24.1464751679664
2025-11-03T09:28:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6720364293875     dec_j2k = -24.1464751679664
2025-11-03T09:28:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967374108968344;171.162362694745;_
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967374108968344;171.162362694745;_
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60889)
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:28.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81144406, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967374108968344, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6965296, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7163, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6720364293875, telescope_dec_j2k=-24.1464751679664, observability=1)
2025-11-03T09:28:29.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:29
2025-11-03T09:28:29.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:29.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6634209156036377s
2025-11-03T09:28:29.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6634209156036377
2025-11-03T09:28:29.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:29
2025-11-03T09:28:29.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:29.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6846170425415039s
2025-11-03T09:28:29.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6846170425415039
2025-11-03T09:28:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:30
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978501558303833s
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6970903;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71686;2460982.81146716;9.47518028;1.3;_
2025-11-03T09:28:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6970903;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71686;2460982.81146716;9.47518028;1.3;_
2025-11-03T09:28:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6970903, teldec = -24.256617
2025-11-03T09:28:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6970903 -24.256617
2025-11-03T09:28:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6970903 -24.256617
2025-11-03T09:28:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6970903 -24.256617
2025-11-03T09:28:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6970903;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71686;2460982.8114672;9.47518028;1.3;_14.6725966405676 -24.1464882464343
2025-11-03T09:28:30.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6725966405676     dec_j2k = -24.1464882464343
2025-11-03T09:28:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967370498893492;171.162362694745;_
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967370498893492;171.162362694745;_
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51139)
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81146716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967370498893492, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6970903, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71686, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6725966405676, telescope_dec_j2k=-24.1464882464343, observability=1)
2025-11-03T09:28:31.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:31
2025-11-03T09:28:31.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:31.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.587557315826416s
2025-11-03T09:28:31.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.587557315826416
2025-11-03T09:28:31.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:31
2025-11-03T09:28:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6193296909332275s
2025-11-03T09:28:31.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6193296909332275
2025-11-03T09:28:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:32
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979445219039917s
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6976499;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71742;2460982.81149031;9.47573833;1.3;_
2025-11-03T09:28:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6976499;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71742;2460982.81149031;9.47573833;1.3;_
2025-11-03T09:28:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6976499, teldec = -24.256617
2025-11-03T09:28:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6976499 -24.256617
2025-11-03T09:28:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6976499 -24.256617
2025-11-03T09:28:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6976499 -24.256617
2025-11-03T09:28:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6976499;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71742;2460982.81149034;9.47573833;1.3;_14.6731557527565 -24.1465013016426
2025-11-03T09:28:32.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6731557527565     dec_j2k = -24.1465013016426
2025-11-03T09:28:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967372504490632;171.162362694745;_
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967372504490632;171.162362694745;_
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60541)
2025-11-03T09:28:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:32.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81149031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967372504490632, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6976499, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71742, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6731557527565, telescope_dec_j2k=-24.1465013016426, observability=1)
2025-11-03T09:28:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:33
2025-11-03T09:28:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5785925388336182s
2025-11-03T09:28:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5785925388336182
2025-11-03T09:28:33.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:33
2025-11-03T09:28:33.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:33.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5995752811431885s
2025-11-03T09:28:33.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5995752811431885
2025-11-03T09:28:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:34
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780163764953613s
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6982003;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71797;2460982.81151345;9.47628722;1.3;_
2025-11-03T09:28:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6982003;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71797;2460982.81151345;9.47628722;1.3;_
2025-11-03T09:28:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6982003, teldec = -24.256617
2025-11-03T09:28:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6982003 -24.256617
2025-11-03T09:28:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6982003 -24.256617
2025-11-03T09:28:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6982003 -24.256617
2025-11-03T09:28:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6982003;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71797;2460982.81151347;9.47628722;1.3;_14.6737056730136 -24.1465141445559
2025-11-03T09:28:34.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6737056730136     dec_j2k = -24.1465141445559
2025-11-03T09:28:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096736889441578;171.162357330327;_
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096736889441578;171.162357330327;_
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45717)
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:34.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:34.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:34.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81151345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096736889441578, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6982003, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6737056730136, telescope_dec_j2k=-24.1465141445559, observability=1)
2025-11-03T09:28:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:35
2025-11-03T09:28:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.581000566482544s
2025-11-03T09:28:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.581000566482544
2025-11-03T09:28:35.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:35
2025-11-03T09:28:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6022515296936035s
2025-11-03T09:28:35.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6022515296936035
2025-11-03T09:28:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:36
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984936237335205s
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.698761;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71853;2460982.81153664;9.47684639;1.3;_
2025-11-03T09:28:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.698761;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71853;2460982.81153664;9.47684639;1.3;_
2025-11-03T09:28:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:36.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.698761, teldec = -24.256617
2025-11-03T09:28:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.698761 -24.256617
2025-11-03T09:28:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.698761 -24.256617
2025-11-03T09:28:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.698761 -24.256617
2025-11-03T09:28:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.698761;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71853;2460982.81153667;9.47684639;1.3;_14.6742658843423 -24.1465272301897
2025-11-03T09:28:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6742658843423     dec_j2k = -24.1465272301897
2025-11-03T09:28:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967376515684913;171.162368059163;_
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967376515684913;171.162368059163;_
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43489)
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:36.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:36.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:36.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:36.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:36.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:36.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:36.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:36.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:36.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81153664, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967376515684913, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.698761, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71853, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6742658843423, telescope_dec_j2k=-24.1465272301897, observability=1)
2025-11-03T09:28:37.152 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:37.152 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3677651882171631s
2025-11-03T09:28:37.153 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3677651882171631
2025-11-03T09:28:37.622 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:37
2025-11-03T09:28:37.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:37.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8374323844909668s
2025-11-03T09:28:37.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8374323844909668
2025-11-03T09:28:37.643 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:37
2025-11-03T09:28:37.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:37.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8582508563995361s
2025-11-03T09:28:37.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8582508563995361
2025-11-03T09:28:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:38
2025-11-03T09:28:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9777767658233643s
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6993211;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71909;2460982.81155977;9.477405;1.3;_
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6993211;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71909;2460982.81155977;9.477405;1.3;_
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6993211, teldec = -24.256617
2025-11-03T09:28:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6993211 -24.256617
2025-11-03T09:28:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6993211 -24.256617
2025-11-03T09:28:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6993211 -24.256617
2025-11-03T09:28:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6993211;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71909;2460982.81155979;9.477405;1.3;_14.6748254962438 -24.1465403042212
2025-11-03T09:28:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6748254962438     dec_j2k = -24.1465403042212
2025-11-03T09:28:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967369295535208;171.162351965909;_
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967369295535208;171.162351965909;_
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52787)
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:38.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81155977, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967369295535208, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6993211, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71909, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6748254962438, telescope_dec_j2k=-24.1465403042212, observability=1)
2025-11-03T09:28:39.167 [DEBUG] [Thread-88651 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:39.167 [DEBUG] [Thread-88651 (handle)] [server.py] [get_status()] Status age = 0.3819260597229004s
2025-11-03T09:28:39.167 [DEBUG] [Thread-88651 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3819260597229004
2025-11-03T09:28:39.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:39
2025-11-03T09:28:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.575636625289917s
2025-11-03T09:28:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.575636625289917
2025-11-03T09:28:39.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:39
2025-11-03T09:28:39.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:39.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5972516536712646s
2025-11-03T09:28:39.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5972516536712646
2025-11-03T09:28:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:40
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9750134944915771s
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6998718;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71964;2460982.81158289;9.47795417;1.3;_
2025-11-03T09:28:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.6998718;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71964;2460982.81158289;9.47795417;1.3;_
2025-11-03T09:28:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:40.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.6998718, teldec = -24.256617
2025-11-03T09:28:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.6998718 -24.256617
2025-11-03T09:28:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.6998718 -24.256617
2025-11-03T09:28:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.6998718 -24.256617
2025-11-03T09:28:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.6998718;-24.256617;50.108579;89.993054;50.08601;90.12017;11.71964;2460982.81158292;9.47795417;1.3;_14.6753757163854 -24.1465531611737
2025-11-03T09:28:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6753757163854     dec_j2k = -24.1465531611737
2025-11-03T09:28:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967382933595762;171.162351965909;_
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967382933595762;171.162351965909;_
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45011)
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:40.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:40.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:40.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:40.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81158289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967382933595762, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.6998718, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.71964, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6753757163854, telescope_dec_j2k=-24.1465531611737, observability=1)
2025-11-03T09:28:40.871 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:40.871 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:40.871 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:40.871 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:40.871 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:40.872 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:28:40.873 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:28:40.874 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:42.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:42
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8900716304779053s
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7004044;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72017;2460982.81160497;9.47848528;1.3;_
2025-11-03T09:28:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7004044;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72017;2460982.81160497;9.47848528;1.3;_
2025-11-03T09:28:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:42.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7004044, teldec = -24.256617
2025-11-03T09:28:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7004044 -24.256617
2025-11-03T09:28:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7004044 -24.256617
2025-11-03T09:28:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7004044 -24.256617
2025-11-03T09:28:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7004044;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72017;2460982.81160499;9.47848528;1.3;_14.6759078523445 -24.1465655977592
2025-11-03T09:28:42.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6759078523445     dec_j2k = -24.1465655977592
2025-11-03T09:28:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967378521282053;171.162357330327;_
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967378521282053;171.162357330327;_
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:42.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59611)
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:42.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:42.687 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:42.687 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81160497, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967378521282053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.7004044, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6759078523445, telescope_dec_j2k=-24.1465655977592, observability=1)
2025-11-03T09:28:42.709 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:42
2025-11-03T09:28:42.709 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:42.709 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021576404571533203s
2025-11-03T09:28:42.709 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021576404571533203
2025-11-03T09:28:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:42
2025-11-03T09:28:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07165145874023438s
2025-11-03T09:28:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07165145874023438
2025-11-03T09:28:44.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:44
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6737854480743408s
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7008807;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72065;2460982.81162457;9.47896028;1.3;_
2025-11-03T09:28:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7008807;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72065;2460982.81162457;9.47896028;1.3;_
2025-11-03T09:28:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7008807, teldec = -24.256617
2025-11-03T09:28:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7008807 -24.256617
2025-11-03T09:28:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7008807 -24.256617
2025-11-03T09:28:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7008807 -24.256617
2025-11-03T09:28:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7008807;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72065;2460982.8116246;9.47896028;1.3;_14.6763837373945 -24.1465767215369
2025-11-03T09:28:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6763837373945     dec_j2k = -24.1465767215369
2025-11-03T09:28:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967381730237478;171.162346601491;_
2025-11-03T09:28:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967381730237478;171.162346601491;_
2025-11-03T09:28:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44085)
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:44.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:44.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:44.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81162457, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967381730237478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.7008807, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6763837373945, telescope_dec_j2k=-24.1465767215369, observability=1)
2025-11-03T09:28:44.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:44
2025-11-03T09:28:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0220491886138916s
2025-11-03T09:28:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0220491886138916
2025-11-03T09:28:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:44
2025-11-03T09:28:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3815295696258545s
2025-11-03T09:28:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3815295696258545
2025-11-03T09:28:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:46
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826219081878662s
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7014403;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72121;2460982.81164772;9.47951833;1.3;_
2025-11-03T09:28:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7014403;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72121;2460982.81164772;9.47951833;1.3;_
2025-11-03T09:28:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7014403, teldec = -24.256617
2025-11-03T09:28:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7014403 -24.256617
2025-11-03T09:28:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7014403 -24.256617
2025-11-03T09:28:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7014403 -24.256617
2025-11-03T09:28:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7014403;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72121;2460982.81164774;9.47951833;1.3;_14.6769428499199 -24.1465897929652
2025-11-03T09:28:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6769428499199     dec_j2k = -24.1465897929652
2025-11-03T09:28:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967378922401481;171.162351965909;_
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967378922401481;171.162351965909;_
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:46.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49315)
2025-11-03T09:28:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:46.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:46.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81164772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967378922401481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.7014403, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72121, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6769428499199, telescope_dec_j2k=-24.1465897929652, observability=1)
2025-11-03T09:28:46.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:46
2025-11-03T09:28:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0229036808013916s
2025-11-03T09:28:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0229036808013916
2025-11-03T09:28:46.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:46
2025-11-03T09:28:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38938212394714355s
2025-11-03T09:28:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38938212394714355
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Status age = 1.622891902923584s
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:48.001 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:48.002 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:48.003 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 17;14.7019074;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72167;2460982.8116667;9.47998417;1.3;_
2025-11-03T09:28:48.003 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response 17;14.7019074;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72167;2460982.8116667;9.47998417;1.3;_
2025-11-03T09:28:48.003 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:48.003 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:48.003 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:48.004 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:48.004 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:48.004 [INFO] [Thread-88652 (handle)] [driver.py] [get_status()] Telra = 14.7019074, teldec = -24.256617
2025-11-03T09:28:48.004 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7019074 -24.256617
2025-11-03T09:28:48.004 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7019074 -24.256617
2025-11-03T09:28:48.004 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7019074 -24.256617
2025-11-03T09:28:48.005 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 17;14.7019074;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72167;2460982.81166672;9.47998417;1.3;_14.6774095430614 -24.1466007055632
2025-11-03T09:28:48.005 [INFO] [Thread-88652 (handle)] [driver.py] [get_status()] ra_j2k = 14.6774095430614     dec_j2k = -24.1466007055632
2025-11-03T09:28:48.005 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:48.005 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:48.005 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 140;0.0967377317923769;171.162368059163;_
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response 140;0.0967377317923769;171.162368059163;_
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:48.006 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:48.007 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:48.008 [DEBUG] [Thread-88652 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:48.008 [DEBUG] [Thread-88652 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:48.008 [DEBUG] [Thread-88652 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55779)
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:48.014 [DEBUG] [Thread-88652 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:48.021 [DEBUG] [Thread-88652 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:48.021 [DEBUG] [Thread-88652 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:48.022 [DEBUG] [Thread-88652 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:48.022 [INFO] [Thread-88652 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8116667, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967377317923769, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.7019074, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6774095430614, telescope_dec_j2k=-24.1466007055632, observability=1)
2025-11-03T09:28:48.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:48
2025-11-03T09:28:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.339735746383667s
2025-11-03T09:28:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.339735746383667
2025-11-03T09:28:48.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:48
2025-11-03T09:28:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36221909523010254s
2025-11-03T09:28:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36221909523010254
2025-11-03T09:28:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:48
2025-11-03T09:28:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7366924285888672s
2025-11-03T09:28:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7366924285888672
2025-11-03T09:28:50.559 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:50
2025-11-03T09:28:50.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:50.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.537515163421631s
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:50.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:50.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:50.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7026082;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72238;2460982.81169632;9.48068306;1.3;_
2025-11-03T09:28:50.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7026082;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72238;2460982.81169632;9.48068306;1.3;_
2025-11-03T09:28:50.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:50.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:50.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:50.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:50.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:50.563 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7026082, teldec = -24.256617
2025-11-03T09:28:50.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7026082 -24.256617
2025-11-03T09:28:50.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7026082 -24.256617
2025-11-03T09:28:50.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7026082 -24.256617
2025-11-03T09:28:50.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7026082;-24.256617;50.108579;89.993054;50.08601;90.12017;11.72238;2460982.81169634;9.48068306;1.3;_14.6781097327079 -24.1466170810921
2025-11-03T09:28:50.564 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6781097327079     dec_j2k = -24.1466170810921
2025-11-03T09:28:50.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:50.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:50.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967379724640337;171.162357330327;_
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967379724640337;171.162357330327;_
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:50.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:50.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:50.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:50.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:50.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51933)
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:50.571 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:50.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:50.579 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81169632, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967379724640337, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108579, telescope_az=89.993054, telescope_ra=14.7026082, telescope_dec=-24.256617, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6781097327079, telescope_dec_j2k=-24.1466170810921, observability=1)
2025-11-03T09:28:50.600 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:50
2025-11-03T09:28:50.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:50.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022359132766723633s
2025-11-03T09:28:50.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022359132766723633
2025-11-03T09:28:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:50
2025-11-03T09:28:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18040847778320312s
2025-11-03T09:28:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18040847778320312
2025-11-03T09:28:52.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:52
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7834618091583252s
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7031118;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72288;2460982.81171716;9.48118528;1.3;_
2025-11-03T09:28:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7031118;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72288;2460982.81171716;9.48118528;1.3;_
2025-11-03T09:28:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7031118, teldec = -24.256616
2025-11-03T09:28:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7031118 -24.256616
2025-11-03T09:28:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7031118 -24.256616
2025-11-03T09:28:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7031118 -24.256616
2025-11-03T09:28:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7031118;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72288;2460982.8117172;9.48118528;1.3;_14.6786128942765 -24.1466278509927
2025-11-03T09:28:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6786128942765     dec_j2k = -24.1466278509927
2025-11-03T09:28:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967378521282053;171.162368059163;_
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967378521282053;171.162368059163;_
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:28:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60215)
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:52.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:52.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81171716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967378521282053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7031118, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72288, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6786128942765, telescope_dec_j2k=-24.1466278509927, observability=1)
2025-11-03T09:28:52.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:52
2025-11-03T09:28:52.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:52.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021329641342163086s
2025-11-03T09:28:52.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021329641342163086
2025-11-03T09:28:52.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:52
2025-11-03T09:28:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37523508071899414s
2025-11-03T09:28:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37523508071899414
2025-11-03T09:28:54.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:54
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9820175170898438s
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7036627;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72343;2460982.81174034;9.48173472;1.3;_
2025-11-03T09:28:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7036627;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72343;2460982.81174034;9.48173472;1.3;_
2025-11-03T09:28:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:54.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7036627, teldec = -24.256616
2025-11-03T09:28:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7036627 -24.256616
2025-11-03T09:28:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7036627 -24.256616
2025-11-03T09:28:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7036627 -24.256616
2025-11-03T09:28:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7036627;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72343;2460982.81174036;9.48173472;1.3;_14.6791633145756 -24.1466407285767
2025-11-03T09:28:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6791633145756     dec_j2k = -24.1466407285767
2025-11-03T09:28:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967381730237478;171.162362694745;_
2025-11-03T09:28:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967381730237478;171.162362694745;_
2025-11-03T09:28:54.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:54.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:54.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41467)
2025-11-03T09:28:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:54.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:54.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81174034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967381730237478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7036627, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72343, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6791633145756, telescope_dec_j2k=-24.1466407285767, observability=1)
2025-11-03T09:28:54.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:54
2025-11-03T09:28:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022122859954833984s
2025-11-03T09:28:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022122859954833984
2025-11-03T09:28:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:54
2025-11-03T09:28:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.380800724029541s
2025-11-03T09:28:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.380800724029541
2025-11-03T09:28:56.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:56
2025-11-03T09:28:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804816246032715s
2025-11-03T09:28:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7042234;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72399;2460982.81176346;9.48229389;1.3;_
2025-11-03T09:28:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7042234;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72399;2460982.81176346;9.48229389;1.3;_
2025-11-03T09:28:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7042234, teldec = -24.256616
2025-11-03T09:28:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7042234 -24.256616
2025-11-03T09:28:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7042234 -24.256616
2025-11-03T09:28:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7042234 -24.256616
2025-11-03T09:28:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7042234;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72399;2460982.81176348;9.48229389;1.3;_14.6797235263907 -24.1466538376219
2025-11-03T09:28:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6797235263907     dec_j2k = -24.1466538376219
2025-11-03T09:28:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967377719043197;171.162357330327;_
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967377719043197;171.162357330327;_
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35439)
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:56.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:56.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:56.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81176346, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967377719043197, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7042234, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72399, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6797235263907, telescope_dec_j2k=-24.1466538376219, observability=1)
2025-11-03T09:28:56.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:56
2025-11-03T09:28:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022096633911132812s
2025-11-03T09:28:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022096633911132812
2025-11-03T09:28:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:56
2025-11-03T09:28:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38426709175109863s
2025-11-03T09:28:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38426709175109863
2025-11-03T09:28:57.231 [DEBUG] [Thread-88653 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:57.231 [DEBUG] [Thread-88653 (handle)] [server.py] [get_status()] Status age = 0.8534376621246338s
2025-11-03T09:28:57.231 [DEBUG] [Thread-88653 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8534376621246338
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5746471881866455s
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:28:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:28:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:28:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7046711;-24.25661;50.108578;89.993043;50.08601;90.12016;11.72444;2460982.81178188;9.48274056;1.3;_
2025-11-03T09:28:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.7046711;-24.25661;50.108578;89.993043;50.08601;90.12016;11.72444;2460982.81178188;9.48274056;1.3;_
2025-11-03T09:28:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:28:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:28:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:28:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:28:57.956 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.7046711, teldec = -24.25661
2025-11-03T09:28:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7046711 -24.25661
2025-11-03T09:28:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7046711 -24.25661
2025-11-03T09:28:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7046711 -24.25661
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7046711;-24.25661;50.108578;89.993043;50.08601;90.12016;11.72444;2460982.8117819;9.48274056;1.3;_14.6801708373771 -24.1466583065262
2025-11-03T09:28:57.957 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.6801708373771     dec_j2k = -24.1466583065262
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096738132911805;171.162351965909;_
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096738132911805;171.162351965909;_
2025-11-03T09:28:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:28:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:28:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:28:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:28:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:28:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32985)
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:28:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:28:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:28:57.974 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:28:57.974 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:28:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:28:57.974 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81178188, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096738132911805, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993043, telescope_ra=14.7046711, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6801708373771, telescope_dec_j2k=-24.1466583065262, observability=1)
2025-11-03T09:28:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:58
2025-11-03T09:28:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7874023914337158s
2025-11-03T09:28:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7874023914337158
2025-11-03T09:28:58.828 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:58
2025-11-03T09:28:58.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:58.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.854219913482666s
2025-11-03T09:28:58.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.854219913482666
2025-11-03T09:28:58.849 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:28:58
2025-11-03T09:28:58.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:28:58.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8757293224334717s
2025-11-03T09:28:58.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8757293224334717
2025-11-03T09:29:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:00
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7861006259918213s
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7054457;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72521;2460982.81181436;9.48351278;1.3;_
2025-11-03T09:29:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7054457;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72521;2460982.81181436;9.48351278;1.3;_
2025-11-03T09:29:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7054457, teldec = -24.256616
2025-11-03T09:29:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7054457 -24.256616
2025-11-03T09:29:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7054457 -24.256616
2025-11-03T09:29:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7054457 -24.256616
2025-11-03T09:29:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7054457;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72521;2460982.8118144;9.48351278;1.3;_14.6809447623437 -24.1466824230562
2025-11-03T09:29:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6809447623437     dec_j2k = -24.1466824230562
2025-11-03T09:29:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967389351506611;171.162357330327;_
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967389351506611;171.162357330327;_
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58821)
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81181436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967389351506611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7054457, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72521, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6809447623437, telescope_dec_j2k=-24.1466824230562, observability=1)
2025-11-03T09:29:02.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:02
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8898258209228516s
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:02.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7059782;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72575;2460982.81183646;9.48404389;1.3;_
2025-11-03T09:29:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7059782;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72575;2460982.81183646;9.48404389;1.3;_
2025-11-03T09:29:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:02.672 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7059782, teldec = -24.256616
2025-11-03T09:29:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7059782 -24.256616
2025-11-03T09:29:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7059782 -24.256616
2025-11-03T09:29:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7059782 -24.256616
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7059782;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72575;2460982.81183649;9.48404389;1.3;_14.6814767988616 -24.1466948799861
2025-11-03T09:29:02.673 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6814767988616     dec_j2k = -24.1466948799861
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096738734590947;171.162362694745;_
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096738734590947;171.162362694745;_
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55529)
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:02.682 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:02.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:02.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81183646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096738734590947, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7059782, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72575, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6814767988616, telescope_dec_j2k=-24.1466948799861, observability=1)
2025-11-03T09:29:02.710 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:02
2025-11-03T09:29:02.710 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:02.710 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0210113525390625s
2025-11-03T09:29:02.710 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0210113525390625
2025-11-03T09:29:02.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:02
2025-11-03T09:29:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0685427188873291s
2025-11-03T09:29:02.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0685427188873291
2025-11-03T09:29:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:04
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.670593500137329s
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7064545;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72622;2460982.81185604;9.48451889;1.3;_
2025-11-03T09:29:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7064545;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72622;2460982.81185604;9.48451889;1.3;_
2025-11-03T09:29:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7064545, teldec = -24.256616
2025-11-03T09:29:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7064545 -24.256616
2025-11-03T09:29:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7064545 -24.256616
2025-11-03T09:29:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7064545 -24.256616
2025-11-03T09:29:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7064545;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72622;2460982.81185606;9.48451889;1.3;_14.6819526843335 -24.1467060240473
2025-11-03T09:29:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6819526843335     dec_j2k = -24.1467060240473
2025-11-03T09:29:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096738534031233;171.162362694745;_
2025-11-03T09:29:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096738534031233;171.162362694745;_
2025-11-03T09:29:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53473)
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:04.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:04.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81185604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096738534031233, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7064545, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72622, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6819526843335, telescope_dec_j2k=-24.1467060240473, observability=1)
2025-11-03T09:29:04.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:04
2025-11-03T09:29:04.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:04.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02096271514892578s
2025-11-03T09:29:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02096271514892578
2025-11-03T09:29:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:04
2025-11-03T09:29:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3812291622161865s
2025-11-03T09:29:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3812291622161865
2025-11-03T09:29:06.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:06
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9947490692138672s
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7070052;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72677;2460982.81187933;9.48506806;1.3;_
2025-11-03T09:29:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7070052;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72677;2460982.81187933;9.48506806;1.3;_
2025-11-03T09:29:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:06.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7070052, teldec = -24.256616
2025-11-03T09:29:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7070052 -24.256616
2025-11-03T09:29:06.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7070052 -24.256616
2025-11-03T09:29:06.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7070052 -24.256616
2025-11-03T09:29:06.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7070052;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72677;2460982.81187935;9.48506806;1.3;_14.6825029050995 -24.1467189110155
2025-11-03T09:29:06.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6825029050995     dec_j2k = -24.1467189110155
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967386543670614;171.162368059163;_
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967386543670614;171.162368059163;_
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:06.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:06.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:06.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:06.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38535)
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:06.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:06.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81187933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967386543670614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7070052, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6825029050995, telescope_dec_j2k=-24.1467189110155, observability=1)
2025-11-03T09:29:06.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:06
2025-11-03T09:29:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021584749221801758s
2025-11-03T09:29:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021584749221801758
2025-11-03T09:29:06.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:06
2025-11-03T09:29:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3738424777984619s
2025-11-03T09:29:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3738424777984619
2025-11-03T09:29:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:08
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9722099304199219s
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7075659;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72733;2460982.81190236;9.48562722;1.3;_
2025-11-03T09:29:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7075659;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72733;2460982.81190236;9.48562722;1.3;_
2025-11-03T09:29:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7075659, teldec = -24.256616
2025-11-03T09:29:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7075659 -24.256616
2025-11-03T09:29:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7075659 -24.256616
2025-11-03T09:29:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7075659 -24.256616
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7075659;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72733;2460982.81190238;9.48562722;1.3;_14.6830631172127 -24.1467320343731
2025-11-03T09:29:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6830631172127     dec_j2k = -24.1467320343731
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967391357103751;171.162357330327;_
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967391357103751;171.162357330327;_
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33329)
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:08.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:08.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:08.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:08.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:08.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81190236, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967391357103751, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7075659, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72733, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6830631172127, telescope_dec_j2k=-24.1467320343731, observability=1)
2025-11-03T09:29:08.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:08
2025-11-03T09:29:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021715164184570312s
2025-11-03T09:29:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021715164184570312
2025-11-03T09:29:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:08
2025-11-03T09:29:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3784496784210205s
2025-11-03T09:29:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3784496784210205
2025-11-03T09:29:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:10
2025-11-03T09:29:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9777584075927734s
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7081263;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72789;2460982.8119255;9.48618611;1.3;_
2025-11-03T09:29:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7081263;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72789;2460982.8119255;9.48618611;1.3;_
2025-11-03T09:29:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7081263, teldec = -24.256616
2025-11-03T09:29:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7081263 -24.256616
2025-11-03T09:29:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7081263 -24.256616
2025-11-03T09:29:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7081263 -24.256616
2025-11-03T09:29:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7081263;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72789;2460982.81192552;9.48618611;1.3;_14.6836230296371 -24.1467451531072
2025-11-03T09:29:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6836230296371     dec_j2k = -24.1467451531072
2025-11-03T09:29:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967391758223179;171.162351965909;_
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967391758223179;171.162351965909;_
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38259)
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:10.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:10.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8119255, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967391758223179, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7081263, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72789, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6836230296371, telescope_dec_j2k=-24.1467451531072, observability=1)
2025-11-03T09:29:10.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:10
2025-11-03T09:29:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025610685348510742s
2025-11-03T09:29:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025610685348510742
2025-11-03T09:29:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:10
2025-11-03T09:29:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3775973320007324s
2025-11-03T09:29:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3775973320007324
2025-11-03T09:29:11.724 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:29:11
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.342322587966919s
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:11.724 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:11.725 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:11.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7085182;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72829;2460982.81194128;9.48657694;1.3;_
2025-11-03T09:29:11.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7085182;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72829;2460982.81194128;9.48657694;1.3;_
2025-11-03T09:29:11.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:11.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:11.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:11.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:11.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:11.728 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7085182, teldec = -24.256616
2025-11-03T09:29:11.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7085182 -24.256616
2025-11-03T09:29:11.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7085182 -24.256616
2025-11-03T09:29:11.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7085182 -24.256616
2025-11-03T09:29:11.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7085182;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72829;2460982.81194131;9.48657694;1.3;_14.6840145886944 -24.1467543287497
2025-11-03T09:29:11.729 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.6840145886944     dec_j2k = -24.1467543287497
2025-11-03T09:29:11.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:11.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:11.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967383735834618;171.162351965909;_
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967383735834618;171.162351965909;_
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:11.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:11.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:11.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:11.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:11.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55445)
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:11.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:11.744 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:11.744 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81194128, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967383735834618, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7085182, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72829, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6840145886944, telescope_dec_j2k=-24.1467543287497, observability=1)
2025-11-03T09:29:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:12
2025-11-03T09:29:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6169838905334473s
2025-11-03T09:29:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6169838905334473
2025-11-03T09:29:12.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:12
2025-11-03T09:29:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6387343406677246s
2025-11-03T09:29:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6387343406677246
2025-11-03T09:29:12.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:12
2025-11-03T09:29:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0151991844177246s
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.708789;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72856;2460982.81195326;9.48684694;1.3;_
2025-11-03T09:29:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.708789;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72856;2460982.81195326;9.48684694;1.3;_
2025-11-03T09:29:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:12.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.708789, teldec = -24.256616
2025-11-03T09:29:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.708789 -24.256616
2025-11-03T09:29:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.708789 -24.256616
2025-11-03T09:29:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.708789 -24.256616
2025-11-03T09:29:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.708789;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72856;2460982.81195329;9.48684694;1.3;_14.6842851531199 -24.1467606697356
2025-11-03T09:29:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6842851531199     dec_j2k = -24.1467606697356
2025-11-03T09:29:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967386142551186;171.162362694745;_
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967386142551186;171.162362694745;_
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58481)
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:12.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:12.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81195326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967386142551186, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.708789, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72856, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6842851531199, telescope_dec_j2k=-24.1467606697356, observability=1)
2025-11-03T09:29:14.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:14
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5889403820037842s
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7092374;-24.256616;50.108578;89.993054;50.08601;90.12017;11.729;2460982.81197185;9.48729417;1.3;_
2025-11-03T09:29:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7092374;-24.256616;50.108578;89.993054;50.08601;90.12017;11.729;2460982.81197185;9.48729417;1.3;_
2025-11-03T09:29:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:14.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7092374, teldec = -24.256616
2025-11-03T09:29:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7092374 -24.256616
2025-11-03T09:29:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7092374 -24.256616
2025-11-03T09:29:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7092374 -24.256616
2025-11-03T09:29:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7092374;-24.256616;50.108578;89.993054;50.08601;90.12017;11.729;2460982.81197188;9.48729417;1.3;_14.6847331630731 -24.1467711705898
2025-11-03T09:29:14.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6847331630731     dec_j2k = -24.1467711705898
2025-11-03T09:29:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967391357103751;171.162346601491;_
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967391357103751;171.162346601491;_
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39881)
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:14.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:14.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:14.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81197185, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967391357103751, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7092374, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.729, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:28:14.849569', telescope_ra_j2k=14.6847331630731, telescope_dec_j2k=-24.1467711705898, observability=1)
2025-11-03T09:29:14.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:14
2025-11-03T09:29:14.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:14.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02443218231201172s
2025-11-03T09:29:14.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02443218231201172
2025-11-03T09:29:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:14
2025-11-03T09:29:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3819584846496582s
2025-11-03T09:29:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3819584846496582
2025-11-03T09:29:14.993 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:14.993 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:14.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:14.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:14.994 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:14.995 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:14.995 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:14.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:14.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:14.996 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:14.996 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:29:14.996 [INFO] [ThreadPoolExecutor-3405_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:29:14.997 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T09:29:15.235 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:29:15.235 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8497388362884521s
2025-11-03T09:29:15.235 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8497388362884521
2025-11-03T09:29:15.235 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5108039379119873 seconds ago
2025-11-03T09:29:15.291 [DEBUG] [Thread-88654 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:15.291 [DEBUG] [Thread-88654 (handle)] [server.py] [get_status()] Status age = 0.9065072536468506s
2025-11-03T09:29:15.292 [DEBUG] [Thread-88654 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9065072536468506
2025-11-03T09:29:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:16
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773309230804443s
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7097976;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72956;2460982.81199495;9.48785278;1.3;_
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7097976;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72956;2460982.81199495;9.48785278;1.3;_
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7097976, teldec = -24.256616
2025-11-03T09:29:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7097976 -24.256616
2025-11-03T09:29:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7097976 -24.256616
2025-11-03T09:29:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7097976 -24.256616
2025-11-03T09:29:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7097976;-24.256616;50.108578;89.993054;50.08601;90.12017;11.72956;2460982.81199498;9.48785278;1.3;_14.6852928758205 -24.1467842917879
2025-11-03T09:29:16.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6852928758205     dec_j2k = -24.1467842917879
2025-11-03T09:29:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967388148148326;171.162357330327;_
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967388148148326;171.162357330327;_
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41343)
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:16.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:16.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81199495, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967388148148326, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7097976, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.72956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6852928758205, telescope_dec_j2k=-24.1467842917879, observability=1)
2025-11-03T09:29:16.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:16
2025-11-03T09:29:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02277851104736328s
2025-11-03T09:29:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02277851104736328
2025-11-03T09:29:16.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:16
2025-11-03T09:29:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3833186626434326s
2025-11-03T09:29:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3833186626434326
2025-11-03T09:29:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:18
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810028076171875s
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7103571;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73012;2460982.81201809;9.48841083;1.3;_
2025-11-03T09:29:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7103571;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73012;2460982.81201809;9.48841083;1.3;_
2025-11-03T09:29:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7103571, teldec = -24.256616
2025-11-03T09:29:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7103571 -24.256616
2025-11-03T09:29:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7103571 -24.256616
2025-11-03T09:29:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7103571 -24.256616
2025-11-03T09:29:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7103571;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73012;2460982.81201811;9.48841083;1.3;_14.6858518892267 -24.1467973989803
2025-11-03T09:29:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6858518892267     dec_j2k = -24.1467973989803
2025-11-03T09:29:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967393362700891;171.162346601491;_
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967393362700891;171.162346601491;_
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58587)
2025-11-03T09:29:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81201809, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967393362700891, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7103571, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73012, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6858518892267, telescope_dec_j2k=-24.1467973989803, observability=1)
2025-11-03T09:29:18.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:18
2025-11-03T09:29:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021428346633911133s
2025-11-03T09:29:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021428346633911133
2025-11-03T09:29:18.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:18
2025-11-03T09:29:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38328027725219727s
2025-11-03T09:29:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38328027725219727
2025-11-03T09:29:20.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:20
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9849374294281006s
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:20.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7109084;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73068;2460982.81204125;9.48896056;1.3;_
2025-11-03T09:29:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7109084;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73068;2460982.81204125;9.48896056;1.3;_
2025-11-03T09:29:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7109084, teldec = -24.256616
2025-11-03T09:29:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7109084 -24.256616
2025-11-03T09:29:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7109084 -24.256616
2025-11-03T09:29:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7109084 -24.256616
2025-11-03T09:29:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7109084;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73068;2460982.81204128;9.48896056;1.3;_14.6864027098132 -24.1468103164105
2025-11-03T09:29:20.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6864027098132     dec_j2k = -24.1468103164105
2025-11-03T09:29:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967397373895172;171.162351965909;_
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967397373895172;171.162351965909;_
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43285)
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:20.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:20.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81204125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967397373895172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7109084, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73068, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6864027098132, telescope_dec_j2k=-24.1468103164105, observability=1)
2025-11-03T09:29:20.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:20
2025-11-03T09:29:20.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:20.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02194809913635254s
2025-11-03T09:29:20.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02194809913635254
2025-11-03T09:29:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:20
2025-11-03T09:29:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37673425674438477s
2025-11-03T09:29:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37673425674438477
2025-11-03T09:29:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:22
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796638488769531s
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7114691;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73124;2460982.8120644;9.48951972;1.3;_
2025-11-03T09:29:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7114691;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73124;2460982.8120644;9.48951972;1.3;_
2025-11-03T09:29:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7114691, teldec = -24.256616
2025-11-03T09:29:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7114691 -24.256616
2025-11-03T09:29:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7114691 -24.256616
2025-11-03T09:29:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7114691 -24.256616
2025-11-03T09:29:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7114691;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73124;2460982.81206442;9.48951972;1.3;_14.6869629222751 -24.1468234564688
2025-11-03T09:29:22.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6869629222751     dec_j2k = -24.1468234564688
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967391758223179;171.162362694745;_
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967391758223179;171.162362694745;_
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60881)
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:22.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:22.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:22.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:22.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8120644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967391758223179, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7114691, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6869629222751, telescope_dec_j2k=-24.1468234564688, observability=1)
2025-11-03T09:29:22.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:22
2025-11-03T09:29:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02250361442565918s
2025-11-03T09:29:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02250361442565918
2025-11-03T09:29:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:22
2025-11-03T09:29:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3860204219818115s
2025-11-03T09:29:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3860204219818115
2025-11-03T09:29:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:24
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982978105545044s
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7120284;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7318;2460982.81208755;9.4900775;1.3;_
2025-11-03T09:29:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7120284;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7318;2460982.81208755;9.4900775;1.3;_
2025-11-03T09:29:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7120284, teldec = -24.256616
2025-11-03T09:29:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7120284 -24.256616
2025-11-03T09:29:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7120284 -24.256616
2025-11-03T09:29:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7120284 -24.256616
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7120284;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7318;2460982.81208757;9.4900775;1.3;_14.6875217360043 -24.146836566107
2025-11-03T09:29:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6875217360043     dec_j2k = -24.146836566107
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967390153745467;171.162357330327;_
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967390153745467;171.162357330327;_
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59287)
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81208755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967390153745467, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7120284, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7318, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6875217360043, telescope_dec_j2k=-24.146836566107, observability=1)
2025-11-03T09:29:24.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:24
2025-11-03T09:29:24.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:24.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022639751434326172s
2025-11-03T09:29:24.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022639751434326172
2025-11-03T09:29:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:24
2025-11-03T09:29:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789255619049072s
2025-11-03T09:29:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789255619049072
2025-11-03T09:29:26.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:26
2025-11-03T09:29:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3900740146636963s
2025-11-03T09:29:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7126916;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73246;2460982.81211545;9.49073889;1.3;_
2025-11-03T09:29:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7126916;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73246;2460982.81211545;9.49073889;1.3;_
2025-11-03T09:29:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:26.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7126916, teldec = -24.256616
2025-11-03T09:29:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7126916 -24.256616
2025-11-03T09:29:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7126916 -24.256616
2025-11-03T09:29:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7126916 -24.256616
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7126916;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73246;2460982.81211547;9.49073889;1.3;_14.6881843594645 -24.1468521141871
2025-11-03T09:29:26.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6881843594645     dec_j2k = -24.1468521141871
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967390554864895;171.162362694745;_
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967390554864895;171.162362694745;_
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38937)
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:26.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:26.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:26.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81211545, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967390554864895, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7126916, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73246, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6881843594645, telescope_dec_j2k=-24.1468521141871, observability=1)
2025-11-03T09:29:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:28
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9725775718688965s
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7132548;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73302;2460982.81213846;9.49130056;1.3;_
2025-11-03T09:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7132548;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73302;2460982.81213846;9.49130056;1.3;_
2025-11-03T09:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7132548, teldec = -24.256616
2025-11-03T09:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7132548 -24.256616
2025-11-03T09:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7132548 -24.256616
2025-11-03T09:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7132548 -24.256616
2025-11-03T09:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7132548;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73302;2460982.81213848;9.49130056;1.3;_14.6887470699129 -24.1468653204978
2025-11-03T09:29:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6887470699129     dec_j2k = -24.1468653204978
2025-11-03T09:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967398978372884;171.162357330327;_
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967398978372884;171.162357330327;_
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37431)
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:28.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81213846, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967398978372884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7132548, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6887470699129, telescope_dec_j2k=-24.1468653204978, observability=1)
2025-11-03T09:29:30.585 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:30
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.804065465927124s
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:30.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7137503;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73352;2460982.81215956;9.49179472;1.3;_
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7137503;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73352;2460982.81215956;9.49179472;1.3;_
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:30.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:30.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:30.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:30.587 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7137503, teldec = -24.256616
2025-11-03T09:29:30.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7137503 -24.256616
2025-11-03T09:29:30.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7137503 -24.256616
2025-11-03T09:29:30.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7137503 -24.256616
2025-11-03T09:29:30.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7137503;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73352;2460982.81215958;9.49179472;1.3;_14.6892421392501 -24.1468769413311
2025-11-03T09:29:30.588 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6892421392501     dec_j2k = -24.1468769413311
2025-11-03T09:29:30.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:30.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:30.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967395368298031;171.162346601491;_
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967395368298031;171.162346601491;_
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:30.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:30.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:30.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:30.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51103)
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:30.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:30.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:30.604 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:30.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:30.604 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81215956, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967395368298031, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7137503, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73352, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6892421392501, telescope_dec_j2k=-24.1468769413311, observability=1)
2025-11-03T09:29:30.625 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:30
2025-11-03T09:29:30.625 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:30.625 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021397113800048828s
2025-11-03T09:29:30.625 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021397113800048828
2025-11-03T09:29:30.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:30
2025-11-03T09:29:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15394091606140137s
2025-11-03T09:29:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15394091606140137
2025-11-03T09:29:32.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:32
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7575781345367432s
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7142553;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73402;2460982.81218013;9.49229833;1.3;_
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7142553;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73402;2460982.81218013;9.49229833;1.3;_
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7142553, teldec = -24.256616
2025-11-03T09:29:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7142553 -24.256616
2025-11-03T09:29:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7142553 -24.256616
2025-11-03T09:29:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7142553 -24.256616
2025-11-03T09:29:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7142553;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73402;2460982.81218015;9.49229833;1.3;_14.6897467003707 -24.1468887868914
2025-11-03T09:29:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6897467003707     dec_j2k = -24.1468887868914
2025-11-03T09:29:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967393763820319;171.162351965909;_
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967393763820319;171.162351965909;_
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40647)
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:32.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:32.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:32.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:32.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:32.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81218013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967393763820319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7142553, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73402, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6897467003707, telescope_dec_j2k=-24.1468887868914, observability=1)
2025-11-03T09:29:32.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:32
2025-11-03T09:29:32.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:32.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02157735824584961s
2025-11-03T09:29:32.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02157735824584961
2025-11-03T09:29:32.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:32
2025-11-03T09:29:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3785996437072754s
2025-11-03T09:29:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3785996437072754
2025-11-03T09:29:33.408 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:33.408 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Status age = 1.0279674530029297s
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:33.409 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 17;14.7145352;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7343;2460982.81219225;9.4925775;1.3;_
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response 17;14.7145352;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7343;2460982.81219225;9.4925775;1.3;_
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:33.410 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:33.411 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:33.411 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:33.411 [INFO] [Thread-88655 (handle)] [driver.py] [get_status()] Telra = 14.7145352, teldec = -24.256616
2025-11-03T09:29:33.411 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7145352 -24.256616
2025-11-03T09:29:33.411 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7145352 -24.256616
2025-11-03T09:29:33.411 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7145352 -24.256616
2025-11-03T09:29:33.412 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 17;14.7145352;-24.256616;50.108578;89.993054;50.08601;90.12017;11.7343;2460982.81219227;9.4925775;1.3;_14.6900263571361 -24.1468953532185
2025-11-03T09:29:33.412 [INFO] [Thread-88655 (handle)] [driver.py] [get_status()] ra_j2k = 14.6900263571361     dec_j2k = -24.1468953532185
2025-11-03T09:29:33.412 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:33.412 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:33.412 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:33.413 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 140;0.0967397373895172;171.162362694745;_
2025-11-03T09:29:33.413 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response 140;0.0967397373895172;171.162362694745;_
2025-11-03T09:29:33.414 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:33.414 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:33.414 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:33.414 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:33.415 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:33.416 [DEBUG] [Thread-88655 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:33.416 [DEBUG] [Thread-88655 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:33.416 [DEBUG] [Thread-88655 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51815)
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:33.418 [DEBUG] [Thread-88655 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:33.425 [DEBUG] [Thread-88655 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:33.425 [INFO] [Thread-88655 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81219225, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967397373895172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7145352, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7343, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6900263571361, telescope_dec_j2k=-24.1468953532185, observability=1)
2025-11-03T09:29:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:34
2025-11-03T09:29:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9358270168304443s
2025-11-03T09:29:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9358270168304443
2025-11-03T09:29:34.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:34
2025-11-03T09:29:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9580023288726807s
2025-11-03T09:29:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9580023288726807
2025-11-03T09:29:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:34
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3342204093933105s
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:34.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7149271;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73469;2460982.81220789;9.49296833;1.3;_
2025-11-03T09:29:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7149271;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73469;2460982.81220789;9.49296833;1.3;_
2025-11-03T09:29:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:34.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7149271, teldec = -24.256616
2025-11-03T09:29:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7149271 -24.256616
2025-11-03T09:29:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7149271 -24.256616
2025-11-03T09:29:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7149271 -24.256616
2025-11-03T09:29:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7149271;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73469;2460982.81220792;9.49296833;1.3;_14.6904179165938 -24.1469045480183
2025-11-03T09:29:34.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6904179165938     dec_j2k = -24.1469045480183
2025-11-03T09:29:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967400582850596;171.162357330327;_
2025-11-03T09:29:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967400582850596;171.162357330327;_
2025-11-03T09:29:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51321)
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:34.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:34.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81220789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967400582850596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7149271, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73469, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6904179165938, telescope_dec_j2k=-24.1469045480183, observability=1)
2025-11-03T09:29:35.874 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.875 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.875 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:35.875 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:35.875 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:35.875 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:29:35.876 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:35.877 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:35.878 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:29:35.879 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:35.880 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Park
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:29:35.881 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:29:35.882 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 29;14.715226;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73499;2460982.81222086;9.49326639;1.3;_Park Command Successful
2025-11-03T09:29:36.244 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:36.244 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.4678890705108643s
2025-11-03T09:29:36.244 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:36.244 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:36.245 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:36.245 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:36.245 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:36.245 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:36.246 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:36.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7153383;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73511;2460982.81222508;9.49337833;1.3;_
2025-11-03T09:29:36.247 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.7153383;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73511;2460982.81222508;9.49337833;1.3;_
2025-11-03T09:29:36.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:36.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:36.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:36.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:36.248 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:36.248 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.7153383, teldec = -24.256616
2025-11-03T09:29:36.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7153383 -24.256616
2025-11-03T09:29:36.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7153383 -24.256616
2025-11-03T09:29:36.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7153383 -24.256616
2025-11-03T09:29:36.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7153383;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73511;2460982.8122251;9.49337833;1.3;_14.6908287593072 -24.1469141968952
2025-11-03T09:29:36.249 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.6908287593072     dec_j2k = -24.1469141968952
2025-11-03T09:29:36.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:36.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:36.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967397373895172;171.162362694745;_
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967397373895172;171.162362694745;_
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:36.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:36.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:36.252 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:36.252 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:36.252 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:36.257 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48819)
2025-11-03T09:29:36.257 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:36.257 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:36.257 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:36.257 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:36.258 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:36.265 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:36.266 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:36.266 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81222508, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967397373895172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7153383, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73511, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6908287593072, telescope_dec_j2k=-24.1469141968952, observability=1)
2025-11-03T09:29:36.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:36
2025-11-03T09:29:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4940471649169922s
2025-11-03T09:29:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4940471649169922
2025-11-03T09:29:36.882 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:29:36.882 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:29:36.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:29:36.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:29:36.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:29:37.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:29:37.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:29:37.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:29:37.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:29:37.883 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:29:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:38
2025-11-03T09:29:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.49682354927063s
2025-11-03T09:29:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7160391;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73581;2460982.81225421;9.49407722;1.3;_
2025-11-03T09:29:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7160391;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73581;2460982.81225421;9.49407722;1.3;_
2025-11-03T09:29:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7160391, teldec = -24.256616
2025-11-03T09:29:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7160391 -24.256616
2025-11-03T09:29:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7160391 -24.256616
2025-11-03T09:29:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7160391 -24.256616
2025-11-03T09:29:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7160391;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73581;2460982.81225424;9.49407722;1.3;_14.6915289504529 -24.1469306442543
2025-11-03T09:29:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6915289504529     dec_j2k = -24.1469306442543
2025-11-03T09:29:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967400983970024;171.162351965909;_
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967400983970024;171.162351965909;_
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44041)
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:38.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:38.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81225421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967400983970024, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7160391, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73581, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6915289504529, telescope_dec_j2k=-24.1469306442543, observability=1)
2025-11-03T09:29:38.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:29:38.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:29:38.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:29:38.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:29:38.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:29:39.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:29:39.884 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:39.885 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:29:39.886 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:29:39.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:40.047 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:40
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2621662616729736s
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:40.047 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:40.048 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:40.049 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:40.049 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7164029;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73617;2460982.81226909;9.49444;1.3;_
2025-11-03T09:29:40.049 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7164029;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73617;2460982.81226909;9.49444;1.3;_
2025-11-03T09:29:40.049 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:40.049 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:40.050 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:40.050 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:40.050 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:40.050 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7164029, teldec = -24.256616
2025-11-03T09:29:40.051 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7164029 -24.256616
2025-11-03T09:29:40.051 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7164029 -24.256616
2025-11-03T09:29:40.051 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7164029 -24.256616
2025-11-03T09:29:40.052 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7164029;-24.256616;50.108578;89.993054;50.08601;90.12017;11.73617;2460982.81226912;9.49444;1.3;_14.6918924344147 -24.1469391838995
2025-11-03T09:29:40.052 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6918924344147     dec_j2k = -24.1469391838995
2025-11-03T09:29:40.052 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:40.052 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:40.052 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:40.052 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096739978061174;171.162351965909;_
2025-11-03T09:29:40.053 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096739978061174;171.162351965909;_
2025-11-03T09:29:40.053 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:40.053 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:40.053 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:40.053 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:40.054 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:40.055 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:40.055 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:40.055 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35345)
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:40.057 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:40.064 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:40.065 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:40.065 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:40.065 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:40.065 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81226909, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096739978061174, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108578, telescope_az=89.993054, telescope_ra=14.7164029, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73617, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6918924344147, telescope_dec_j2k=-24.1469391838995, observability=1)
2025-11-03T09:29:40.086 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:40
2025-11-03T09:29:40.086 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:40.086 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021428585052490234s
2025-11-03T09:29:40.086 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021428585052490234
2025-11-03T09:29:40.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:40
2025-11-03T09:29:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6925256252288818s
2025-11-03T09:29:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6925256252288818
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:40.887 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:40.888 [DEBUG] [ThreadPoolExecutor-3404_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:40.888 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:29:40.888 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:29:40.888 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:29:40.888 [DEBUG] [ThreadPoolExecutor-3404_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:40.888 [INFO] [ThreadPoolExecutor-3404_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:29:42.235 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:42
2025-11-03T09:29:42.235 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:42.235 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.170762062072754s
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:42.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7170098;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73678;2460982.81229441;9.49504528;1.3;_
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7170098;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73678;2460982.81229441;9.49504528;1.3;_
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:42.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:42.238 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:42.238 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:42.238 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7170098, teldec = -24.256616
2025-11-03T09:29:42.238 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7170098 -24.256616
2025-11-03T09:29:42.238 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7170098 -24.256616
2025-11-03T09:29:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7170098 -24.256616
2025-11-03T09:29:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7170098;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73678;2460982.81229443;9.49504528;1.3;_14.6924988072393 -24.1469534321875
2025-11-03T09:29:42.240 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6924988072393     dec_j2k = -24.1469534321875
2025-11-03T09:29:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967405797403161;171.162362694745;_
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967405797403161;171.162362694745;_
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58887)
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:42.246 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:42.253 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:42.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:42.254 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81229441, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967405797403161, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7170098, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6924988072393, telescope_dec_j2k=-24.1469534321875, observability=1)
2025-11-03T09:29:42.275 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:42
2025-11-03T09:29:42.275 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:42.276 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021643877029418945s
2025-11-03T09:29:42.276 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021643877029418945
2025-11-03T09:29:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:42
2025-11-03T09:29:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.505216121673584s
2025-11-03T09:29:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.505216121673584
2025-11-03T09:29:43.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:43
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1080822944641113s
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:43.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7173181;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73709;2460982.81230744;9.49535278;1.3;_
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7173181;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73709;2460982.81230744;9.49535278;1.3;_
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:43.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:43.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:43.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:43.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7173181, teldec = -24.256616
2025-11-03T09:29:43.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7173181 -24.256616
2025-11-03T09:29:43.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7173181 -24.256616
2025-11-03T09:29:43.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7173181 -24.256616
2025-11-03T09:29:43.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7173181;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73709;2460982.81230747;9.49535278;1.3;_14.6928068394612 -24.1469606712706
2025-11-03T09:29:43.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6928068394612     dec_j2k = -24.1469606712706
2025-11-03T09:29:43.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:43.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967404192925449;171.162362694745;_
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967404192925449;171.162362694745;_
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:43.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:43.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:43.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:43.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:43.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37819)
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:43.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:43.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:43.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:43.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:43.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:43.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:43.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:43.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:43.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:43.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:43.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81230744, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967404192925449, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7173181, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6928068394612, telescope_dec_j2k=-24.1469606712706, observability=1)
2025-11-03T09:29:43.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:43
2025-11-03T09:29:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02486896514892578s
2025-11-03T09:29:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02486896514892578
2025-11-03T09:29:44.744 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:44
2025-11-03T09:29:44.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:44.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3635458946228027s
2025-11-03T09:29:44.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:44.744 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:44.745 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:44.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7177103;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73748;2460982.81232345;9.49574389;1.3;_
2025-11-03T09:29:44.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7177103;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73748;2460982.81232345;9.49574389;1.3;_
2025-11-03T09:29:44.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:44.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:44.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:44.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:44.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:44.747 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7177103, teldec = -24.256616
2025-11-03T09:29:44.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7177103 -24.256616
2025-11-03T09:29:44.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7177103 -24.256616
2025-11-03T09:29:44.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7177103 -24.256616
2025-11-03T09:29:44.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7177103;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73748;2460982.81232347;9.49574389;1.3;_14.6931986988326 -24.1469698814263
2025-11-03T09:29:44.748 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6931986988326     dec_j2k = -24.1469698814263
2025-11-03T09:29:44.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:44.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:44.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096740178620888;171.162357330327;_
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096740178620888;171.162357330327;_
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:44.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:44.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:44.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:44.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:44.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43657)
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:44.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:44.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81232345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096740178620888, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7177103, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73748, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6931986988326, telescope_dec_j2k=-24.1469698814263, observability=1)
2025-11-03T09:29:44.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:44
2025-11-03T09:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.006085872650146484s
2025-11-03T09:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.006085872650146484
2025-11-03T09:29:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:45
2025-11-03T09:29:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5970962047576904s
2025-11-03T09:29:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5970962047576904
2025-11-03T09:29:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:46
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5960986614227295s
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7181582;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73793;2460982.81234215;9.49619056;1.3;_
2025-11-03T09:29:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7181582;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73793;2460982.81234215;9.49619056;1.3;_
2025-11-03T09:29:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7181582, teldec = -24.256616
2025-11-03T09:29:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7181582 -24.256616
2025-11-03T09:29:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7181582 -24.256616
2025-11-03T09:29:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7181582 -24.256616
2025-11-03T09:29:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7181582;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73793;2460982.81234218;9.49619056;1.3;_14.6936462098582 -24.1469804010357
2025-11-03T09:29:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6936462098582     dec_j2k = -24.1469804010357
2025-11-03T09:29:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967406198522589;171.162362694745;_
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967406198522589;171.162362694745;_
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60421)
2025-11-03T09:29:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:46.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:46.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81234215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967406198522589, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7181582, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6936462098582, telescope_dec_j2k=-24.1469804010357, observability=1)
2025-11-03T09:29:46.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:46
2025-11-03T09:29:46.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:46.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40530943870544434s
2025-11-03T09:29:46.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40530943870544434
2025-11-03T09:29:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:47
2025-11-03T09:29:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9787759780883789s
2025-11-03T09:29:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9787759780883789
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Status age = 1.701263189315796s
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:48.082 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:48.083 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:48.084 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 17;14.718625;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73839;2460982.81236208;9.49665611;1.3;_
2025-11-03T09:29:48.084 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response 17;14.718625;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73839;2460982.81236208;9.49665611;1.3;_
2025-11-03T09:29:48.084 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:48.084 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:48.084 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:48.085 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:48.085 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:48.085 [INFO] [Thread-88656 (handle)] [driver.py] [get_status()] Telra = 14.718625, teldec = -24.256616
2025-11-03T09:29:48.085 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] UnCookCoordinates 14.718625 -24.256616
2025-11-03T09:29:48.085 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.718625 -24.256616
2025-11-03T09:29:48.085 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.718625 -24.256616
2025-11-03T09:29:48.086 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 17;14.718625;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73839;2460982.81236211;9.49665611;1.3;_14.6941126045044 -24.1469913661664
2025-11-03T09:29:48.086 [INFO] [Thread-88656 (handle)] [driver.py] [get_status()] ra_j2k = 14.6941126045044     dec_j2k = -24.1469913661664
2025-11-03T09:29:48.086 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:48.086 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:48.086 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 140;0.0967408204119729;171.162362694745;_
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response 140;0.0967408204119729;171.162362694745;_
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:48.087 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:48.088 [DEBUG] [Thread-88656 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39913)
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:48.094 [DEBUG] [Thread-88656 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:48.102 [DEBUG] [Thread-88656 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:48.102 [INFO] [Thread-88656 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81236208, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967408204119729, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.718625, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73839, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6941126045044, telescope_dec_j2k=-24.1469913661664, observability=1)
2025-11-03T09:29:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:48
2025-11-03T09:29:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2584373950958252s
2025-11-03T09:29:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2584373950958252
2025-11-03T09:29:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:48
2025-11-03T09:29:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6546652317047119s
2025-11-03T09:29:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6546652317047119
2025-11-03T09:29:49.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:49
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.259606122970581s
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:49.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7189891;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73876;2460982.81237689;9.49701917;1.3;_
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7189891;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73876;2460982.81237689;9.49701917;1.3;_
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:49.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:49.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7189891, teldec = -24.256616
2025-11-03T09:29:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7189891 -24.256616
2025-11-03T09:29:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7189891 -24.256616
2025-11-03T09:29:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7189891 -24.256616
2025-11-03T09:29:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7189891;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73876;2460982.81237691;9.49701917;1.3;_14.6944763883561 -24.1469999200264
2025-11-03T09:29:49.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6944763883561     dec_j2k = -24.1469999200264
2025-11-03T09:29:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967400582850596;171.162368059163;_
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967400582850596;171.162368059163;_
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59497)
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:49.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:49.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:49.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:49.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81237689, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967400582850596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7189891, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6944763883561, telescope_dec_j2k=-24.1469999200264, observability=1)
2025-11-03T09:29:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:50
2025-11-03T09:29:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9769656658172607s
2025-11-03T09:29:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9769656658172607
2025-11-03T09:29:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:50
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3802013397216797s
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7193813;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73915;2460982.81239311;9.49741028;1.3;_
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7193813;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73915;2460982.81239311;9.49741028;1.3;_
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7193813, teldec = -24.256616
2025-11-03T09:29:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7193813 -24.256616
2025-11-03T09:29:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7193813 -24.256616
2025-11-03T09:29:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7193813 -24.256616
2025-11-03T09:29:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7193813;-24.256616;50.108577;89.993054;50.08601;90.12017;11.73915;2460982.81239314;9.49741028;1.3;_14.6948682478322 -24.1470091351737
2025-11-03T09:29:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6948682478322     dec_j2k = -24.1470091351737
2025-11-03T09:29:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967405396283733;171.162362694745;_
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967405396283733;171.162362694745;_
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52369)
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:50.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:50.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81239311, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967405396283733, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7193813, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.73915, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6948682478322, telescope_dec_j2k=-24.1470091351737, observability=1)
2025-11-03T09:29:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:51
2025-11-03T09:29:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5771839618682861s
2025-11-03T09:29:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5771839618682861
2025-11-03T09:29:51.476 [DEBUG] [Thread-88657 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:51.476 [DEBUG] [Thread-88657 (handle)] [server.py] [get_status()] Status age = 0.6925938129425049s
2025-11-03T09:29:51.476 [DEBUG] [Thread-88657 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6925938129425049
2025-11-03T09:29:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:52
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5762860774993896s
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7198294;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7396;2460982.81241159;9.49785722;1.3;_
2025-11-03T09:29:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7198294;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7396;2460982.81241159;9.49785722;1.3;_
2025-11-03T09:29:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:52.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7198294, teldec = -24.256616
2025-11-03T09:29:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7198294 -24.256616
2025-11-03T09:29:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7198294 -24.256616
2025-11-03T09:29:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7198294 -24.256616
2025-11-03T09:29:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7198294;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7396;2460982.81241162;9.49785722;1.3;_14.6953159588038 -24.1470196651832
2025-11-03T09:29:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6953159588038     dec_j2k = -24.1470196651832
2025-11-03T09:29:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967411413075154;171.162362694745;_
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967411413075154;171.162362694745;_
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35961)
2025-11-03T09:29:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:52.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:52.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81241159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967411413075154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7198294, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7396, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6953159588038, telescope_dec_j2k=-24.1470196651832, observability=1)
2025-11-03T09:29:52.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:52
2025-11-03T09:29:52.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:52.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37436342239379883s
2025-11-03T09:29:52.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37436342239379883
2025-11-03T09:29:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:53
2025-11-03T09:29:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9806325435638428s
2025-11-03T09:29:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9806325435638428
2025-11-03T09:29:54.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:54
2025-11-03T09:29:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793200492858887s
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7203796;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74015;2460982.81243473;9.49840583;1.3;_
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7203796;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74015;2460982.81243473;9.49840583;1.3;_
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:54.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7203796, teldec = -24.256616
2025-11-03T09:29:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7203796 -24.256616
2025-11-03T09:29:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7203796 -24.256616
2025-11-03T09:29:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7203796 -24.256616
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7203796;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74015;2460982.81243475;9.49840583;1.3;_14.6958656811789 -24.1470325965563
2025-11-03T09:29:54.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6958656811789     dec_j2k = -24.1470325965563
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967408605239157;171.162357330327;_
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967408605239157;171.162357330327;_
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45605)
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:54.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:54.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81243473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967408605239157, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7203796, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74015, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6958656811789, telescope_dec_j2k=-24.1470325965563, observability=1)
2025-11-03T09:29:54.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:54
2025-11-03T09:29:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37948060035705566s
2025-11-03T09:29:54.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37948060035705566
2025-11-03T09:29:55.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:55
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0020341873168945s
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:55.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:55.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:55.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7206598;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74043;2460982.81244654;9.49868528;1.3;_
2025-11-03T09:29:55.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7206598;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74043;2460982.81244654;9.49868528;1.3;_
2025-11-03T09:29:55.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:55.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:55.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:55.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:55.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:55.382 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7206598, teldec = -24.256616
2025-11-03T09:29:55.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7206598 -24.256616
2025-11-03T09:29:55.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7206598 -24.256616
2025-11-03T09:29:55.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7206598 -24.256616
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7206598;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74043;2460982.81244656;9.49868528;1.3;_14.6961456379577 -24.1470391829941
2025-11-03T09:29:55.383 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6961456379577     dec_j2k = -24.1470391829941
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967406599642017;171.162351965909;_
2025-11-03T09:29:55.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967406599642017;171.162351965909;_
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:55.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45115)
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:55.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:55.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:55.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:55.397 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:55.397 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:55.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:55.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:55.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:55.398 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:55.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:55.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81244654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967406599642017, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7206598, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74043, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6961456379577, telescope_dec_j2k=-24.1470391829941, observability=1)
2025-11-03T09:29:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:56
2025-11-03T09:29:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9635403156280518s
2025-11-03T09:29:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9635403156280518
2025-11-03T09:29:56.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:56
2025-11-03T09:29:56.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.359825611114502s
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:56.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7210522;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74082;2460982.8124625;9.49907667;1.3;_
2025-11-03T09:29:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7210522;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74082;2460982.8124625;9.49907667;1.3;_
2025-11-03T09:29:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:56.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7210522, teldec = -24.256616
2025-11-03T09:29:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7210522 -24.256616
2025-11-03T09:29:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7210522 -24.256616
2025-11-03T09:29:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7210522 -24.256616
2025-11-03T09:29:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7210522;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74082;2460982.81246252;9.49907667;1.3;_14.6965376973651 -24.1470484078323
2025-11-03T09:29:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6965376973651     dec_j2k = -24.1470484078323
2025-11-03T09:29:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967410610836297;171.162362694745;_
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967410610836297;171.162362694745;_
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43877)
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:56.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:56.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8124625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967410610836297, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7210522, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74082, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6965376973651, telescope_dec_j2k=-24.1470484078323, observability=1)
2025-11-03T09:29:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:57
2025-11-03T09:29:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5833690166473389s
2025-11-03T09:29:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5833690166473389
2025-11-03T09:29:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:57.952 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.174048662185669s
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7213884;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74116;2460982.81247633;9.49941194;1.3;_
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.7213884;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74116;2460982.81247633;9.49941194;1.3;_
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:57.955 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.7213884, teldec = -24.256616
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7213884 -24.256616
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7213884 -24.256616
2025-11-03T09:29:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7213884 -24.256616
2025-11-03T09:29:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7213884;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74116;2460982.81247634;9.49941194;1.3;_14.6968736055721 -24.1470563124104
2025-11-03T09:29:57.956 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.6968736055721     dec_j2k = -24.1470563124104
2025-11-03T09:29:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:57.956 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967410610836297;171.162362694745;_
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967410610836297;171.162362694745;_
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48403)
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:57.963 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:57.970 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:57.970 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:57.970 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:57.970 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:57.971 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:57.971 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81247633, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967410610836297, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7213884, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74116, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6968736055721, telescope_dec_j2k=-24.1470563124104, observability=1)
2025-11-03T09:29:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:58
2025-11-03T09:29:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3903350830078125s
2025-11-03T09:29:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3903350830078125
2025-11-03T09:29:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:58
2025-11-03T09:29:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7885560989379883s
2025-11-03T09:29:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7885560989379883
2025-11-03T09:29:59.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:29:59
2025-11-03T09:29:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:29:59.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3886630535125732s
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:29:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:29:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:29:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7217803;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74155;2460982.81249262;9.49980278;1.3;_
2025-11-03T09:29:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7217803;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74155;2460982.81249262;9.49980278;1.3;_
2025-11-03T09:29:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:29:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:29:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:29:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:29:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7217803, teldec = -24.256616
2025-11-03T09:29:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7217803 -24.256616
2025-11-03T09:29:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7217803 -24.256616
2025-11-03T09:29:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7217803 -24.256616
2025-11-03T09:29:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7217803;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74155;2460982.81249264;9.49980278;1.3;_14.6972651654591 -24.1470655276669
2025-11-03T09:29:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6972651654591     dec_j2k = -24.1470655276669
2025-11-03T09:29:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:29:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:29:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967409006358585;171.162357330327;_
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967409006358585;171.162357330327;_
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:29:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54579)
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:29:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:29:59.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:29:59.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81249262, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967409006358585, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7217803, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6972651654591, telescope_dec_j2k=-24.1470655276669, observability=1)
2025-11-03T09:30:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:00
2025-11-03T09:30:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9785332679748535s
2025-11-03T09:30:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9785332679748535
2025-11-03T09:30:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:00
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.379836082458496s
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7221631;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74193;2460982.81250884;9.50018444;1.3;_
2025-11-03T09:30:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7221631;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74193;2460982.81250884;9.50018444;1.3;_
2025-11-03T09:30:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7221631, teldec = -24.256616
2025-11-03T09:30:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7221631 -24.256616
2025-11-03T09:30:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7221631 -24.256616
2025-11-03T09:30:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7221631 -24.256616
2025-11-03T09:30:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7221631;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74193;2460982.81250887;9.50018444;1.3;_14.6976476332673 -24.1470745300718
2025-11-03T09:30:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6976476332673     dec_j2k = -24.1470745300718
2025-11-03T09:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967411413075154;171.162362694745;_
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967411413075154;171.162362694745;_
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39783)
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:00.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81250884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967411413075154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7221631, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6976476332673, telescope_dec_j2k=-24.1470745300718, observability=1)
2025-11-03T09:30:01.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:01
2025-11-03T09:30:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5819072723388672s
2025-11-03T09:30:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5819072723388672
2025-11-03T09:30:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:02
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5816736221313477s
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7226123;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74238;2460982.81252735;9.5006325;1.3;_
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7226123;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74238;2460982.81252735;9.5006325;1.3;_
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7226123, teldec = -24.256616
2025-11-03T09:30:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7226123 -24.256616
2025-11-03T09:30:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7226123 -24.256616
2025-11-03T09:30:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7226123 -24.256616
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7226123;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74238;2460982.81252737;9.5006325;1.3;_14.6980964434839 -24.1470850954445
2025-11-03T09:30:02.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6980964434839     dec_j2k = -24.1470850954445
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967412616433438;171.162362694745;_
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967412616433438;171.162362694745;_
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39897)
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:02.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:02.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81252735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967412616433438, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7226123, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6980964434839, telescope_dec_j2k=-24.1470850954445, observability=1)
2025-11-03T09:30:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:02
2025-11-03T09:30:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3830149173736572s
2025-11-03T09:30:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3830149173736572
2025-11-03T09:30:03.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:03
2025-11-03T09:30:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.985978364944458s
2025-11-03T09:30:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.985978364944458
2025-11-03T09:30:04.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:04
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982440710067749s
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7231733;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74294;2460982.8125505;9.50119194;1.3;_
2025-11-03T09:30:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7231733;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74294;2460982.8125505;9.50119194;1.3;_
2025-11-03T09:30:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7231733, teldec = -24.256616
2025-11-03T09:30:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7231733 -24.256616
2025-11-03T09:30:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7231733 -24.256616
2025-11-03T09:30:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7231733 -24.256616
2025-11-03T09:30:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7231733;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74294;2460982.81255052;9.50119194;1.3;_14.6986569567339 -24.1470982925564
2025-11-03T09:30:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6986569567339     dec_j2k = -24.1470982925564
2025-11-03T09:30:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967415023150006;171.162357330327;_
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967415023150006;171.162357330327;_
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60427)
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:04.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:04.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8125505, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967415023150006, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7231733, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6986569567339, telescope_dec_j2k=-24.1470982925564, observability=1)
2025-11-03T09:30:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:04
2025-11-03T09:30:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38294100761413574s
2025-11-03T09:30:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38294100761413574
2025-11-03T09:30:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:05
2025-11-03T09:30:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9826767444610596s
2025-11-03T09:30:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9826767444610596
2025-11-03T09:30:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:06
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834916591644287s
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7237254;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74349;2460982.81257363;9.5017425;1.3;_
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7237254;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74349;2460982.81257363;9.5017425;1.3;_
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7237254, teldec = -24.256616
2025-11-03T09:30:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7237254 -24.256616
2025-11-03T09:30:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7237254 -24.256616
2025-11-03T09:30:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7237254 -24.256616
2025-11-03T09:30:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7237254;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74349;2460982.81257366;9.5017425;1.3;_14.6992085777551 -24.1471112826402
2025-11-03T09:30:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.6992085777551     dec_j2k = -24.1471112826402
2025-11-03T09:30:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967413418672294;171.162357330327;_
2025-11-03T09:30:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967413418672294;171.162357330327;_
2025-11-03T09:30:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45027)
2025-11-03T09:30:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:06.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:06.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:06.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81257363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967413418672294, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7237254, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74349, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.6992085777551, telescope_dec_j2k=-24.1471112826402, observability=1)
2025-11-03T09:30:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:06
2025-11-03T09:30:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.387601375579834s
2025-11-03T09:30:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.387601375579834
2025-11-03T09:30:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:07
2025-11-03T09:30:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800002574920654s
2025-11-03T09:30:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800002574920654
2025-11-03T09:30:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:08
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98170804977417s
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7242864;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74405;2460982.81259681;9.50230194;1.3;_
2025-11-03T09:30:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7242864;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74405;2460982.81259681;9.50230194;1.3;_
2025-11-03T09:30:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7242864, teldec = -24.256616
2025-11-03T09:30:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7242864 -24.256616
2025-11-03T09:30:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7242864 -24.256616
2025-11-03T09:30:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7242864 -24.256616
2025-11-03T09:30:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7242864;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74405;2460982.81259684;9.50230194;1.3;_14.699769091105 -24.147124484503
2025-11-03T09:30:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.699769091105     dec_j2k = -24.147124484503
2025-11-03T09:30:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967411011955726;171.162357330327;_
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967411011955726;171.162357330327;_
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49159)
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:08.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:08.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81259681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967411011955726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7242864, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.699769091105, telescope_dec_j2k=-24.147124484503, observability=1)
2025-11-03T09:30:08.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:08
2025-11-03T09:30:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3936495780944824s
2025-11-03T09:30:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3936495780944824
2025-11-03T09:30:09.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:09
2025-11-03T09:30:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9794056415557861s
2025-11-03T09:30:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9794056415557861
2025-11-03T09:30:09.540 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:09.540 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Status age = 1.1579594612121582s
2025-11-03T09:30:09.540 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:09.541 [DEBUG] [Thread-88658 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:09.541 [DEBUG] [Thread-88658 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:09.541 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:09.541 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:09.541 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:09.542 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:09.543 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 17;14.7246228;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74439;2460982.81261045;9.5026375;1.3;_
2025-11-03T09:30:09.543 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response 17;14.7246228;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74439;2460982.81261045;9.5026375;1.3;_
2025-11-03T09:30:09.543 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:09.543 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:09.543 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:09.544 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:09.544 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:09.544 [INFO] [Thread-88658 (handle)] [driver.py] [get_status()] Telra = 14.7246228, teldec = -24.256616
2025-11-03T09:30:09.544 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7246228 -24.256616
2025-11-03T09:30:09.544 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7246228 -24.256616
2025-11-03T09:30:09.544 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7246228 -24.256616
2025-11-03T09:30:09.545 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 17;14.7246228;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74439;2460982.81261047;9.5026375;1.3;_14.7001051993126 -24.1471324020624
2025-11-03T09:30:09.545 [INFO] [Thread-88658 (handle)] [driver.py] [get_status()] ra_j2k = 14.7001051993126     dec_j2k = -24.1471324020624
2025-11-03T09:30:09.545 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 140;0.0967411413075154;171.162351965909;_
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response 140;0.0967411413075154;171.162351965909;_
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:09.546 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:09.547 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:09.548 [DEBUG] [Thread-88658 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:09.548 [DEBUG] [Thread-88658 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:09.548 [DEBUG] [Thread-88658 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46799)
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:09.555 [DEBUG] [Thread-88658 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:09.562 [DEBUG] [Thread-88658 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:09.562 [DEBUG] [Thread-88658 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:09.563 [DEBUG] [Thread-88658 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:09.563 [INFO] [Thread-88658 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81261045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967411413075154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7246228, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74439, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.7001051993126, telescope_dec_j2k=-24.1471324020624, observability=1)
2025-11-03T09:30:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:10
2025-11-03T09:30:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7985587120056152s
2025-11-03T09:30:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7985587120056152
2025-11-03T09:30:10.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:10
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.195310354232788s
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:10.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7249501;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74472;2460982.81262454;9.50296389;1.3;_
2025-11-03T09:30:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7249501;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74472;2460982.81262454;9.50296389;1.3;_
2025-11-03T09:30:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:10.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7249501, teldec = -24.256616
2025-11-03T09:30:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7249501 -24.256616
2025-11-03T09:30:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7249501 -24.256616
2025-11-03T09:30:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7249501 -24.256616
2025-11-03T09:30:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7249501;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74472;2460982.81262456;9.50296389;1.3;_14.700432215431 -24.147140106269
2025-11-03T09:30:10.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.700432215431     dec_j2k = -24.147140106269
2025-11-03T09:30:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967415424269434;171.162351965909;_
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967415424269434;171.162351965909;_
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43577)
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:10.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:10.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81262454, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967415424269434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7249501, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74472, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.700432215431, telescope_dec_j2k=-24.147140106269, observability=1)
2025-11-03T09:30:11.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:11
2025-11-03T09:30:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5877864360809326s
2025-11-03T09:30:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5877864360809326
2025-11-03T09:30:11.805 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:30:11
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.0295028686523438s
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:11.805 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:11.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:11.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7252309;-24.256616;50.108577;89.993054;50.08601;90.12017;11.745;2460982.81263666;9.50324389;1.3;_
2025-11-03T09:30:11.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7252309;-24.256616;50.108577;89.993054;50.08601;90.12017;11.745;2460982.81263666;9.50324389;1.3;_
2025-11-03T09:30:11.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:11.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:11.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:11.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:11.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:11.808 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7252309, teldec = -24.256616
2025-11-03T09:30:11.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7252309 -24.256616
2025-11-03T09:30:11.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7252309 -24.256616
2025-11-03T09:30:11.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7252309 -24.256616
2025-11-03T09:30:11.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7252309;-24.256616;50.108577;89.993054;50.08601;90.12017;11.745;2460982.81263668;9.50324389;1.3;_14.7007127718945 -24.1471467165768
2025-11-03T09:30:11.809 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7007127718945     dec_j2k = -24.1471467165768
2025-11-03T09:30:11.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:11.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:11.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:11.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967415424269434;171.162368059163;_
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967415424269434;171.162368059163;_
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:11.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:11.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:11.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:11.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:11.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36163)
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:11.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:11.822 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:11.822 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81263666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967415424269434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7252309, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.745, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.7007127718945, telescope_dec_j2k=-24.1471467165768, observability=1)
2025-11-03T09:30:12.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:12
2025-11-03T09:30:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5382287502288818s
2025-11-03T09:30:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5382287502288818
2025-11-03T09:30:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:12
2025-11-03T09:30:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9391601085662842s
2025-11-03T09:30:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9391601085662842
2025-11-03T09:30:13.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:13
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5404222011566162s
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7256799;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74545;2460982.81265469;9.50369167;1.3;_
2025-11-03T09:30:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7256799;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74545;2460982.81265469;9.50369167;1.3;_
2025-11-03T09:30:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:13.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7256799, teldec = -24.256616
2025-11-03T09:30:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7256799 -24.256616
2025-11-03T09:30:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7256799 -24.256616
2025-11-03T09:30:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7256799 -24.256616
2025-11-03T09:30:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7256799;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74545;2460982.81265471;9.50369167;1.3;_14.7011613825052 -24.1471572877239
2025-11-03T09:30:13.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7011613825052     dec_j2k = -24.1471572877239
2025-11-03T09:30:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967413017552866;171.162351965909;_
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967413017552866;171.162351965909;_
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:13.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42101)
2025-11-03T09:30:13.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:13.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:13.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:13.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:13.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:13.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:13.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81265469, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967413017552866, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7256799, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.7011613825052, telescope_dec_j2k=-24.1471572877239, observability=1)
2025-11-03T09:30:14.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:14
2025-11-03T09:30:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9822924137115479s
2025-11-03T09:30:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9822924137115479
2025-11-03T09:30:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:14
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.379775047302246s
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7260724;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74584;2460982.81267087;9.50408306;1.3;_
2025-11-03T09:30:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7260724;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74584;2460982.81267087;9.50408306;1.3;_
2025-11-03T09:30:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7260724, teldec = -24.256616
2025-11-03T09:30:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7260724 -24.256616
2025-11-03T09:30:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7260724 -24.256616
2025-11-03T09:30:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7260724 -24.256616
2025-11-03T09:30:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7260724;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74584;2460982.81267089;9.50408306;1.3;_14.7015535421413 -24.1471665299046
2025-11-03T09:30:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7015535421413     dec_j2k = -24.1471665299046
2025-11-03T09:30:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967417028747146;171.162351965909;_
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967417028747146;171.162351965909;_
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:14.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48765)
2025-11-03T09:30:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:14.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:14.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:14.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81267087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967417028747146, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7260724, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74584, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:29:14.993404', telescope_ra_j2k=14.7015535421413, telescope_dec_j2k=-24.1471665299046, observability=1)
2025-11-03T09:30:15.138 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:15.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:15.139 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:15.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:15.141 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:15.141 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:30:15.142 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:30:15.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:15.295 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:30:15.295 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5137169361114502s
2025-11-03T09:30:15.295 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5137169361114502
2025-11-03T09:30:15.295 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.489928960800171 seconds ago
2025-11-03T09:30:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:15
2025-11-03T09:30:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5796682834625244s
2025-11-03T09:30:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5796682834625244
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:16.143 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:30:16.144 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:30:16.144 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:30:16.144 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:16.144 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:16.144 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:16.145 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:16.145 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:16.145 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:16.145 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:16.146 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:16.146 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:16.146 [DEBUG] [ThreadPoolExecutor-3406_0] [payload.py] [to_registers()] [0]
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54815)
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:16.149 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:16.156 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:16.156 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:30:16.157 [DEBUG] [ThreadPoolExecutor-3406_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:30:16.157 [DEBUG] [ThreadPoolExecutor-3406_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:30:16.157 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:16.157 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:16.157 [DEBUG] [ThreadPoolExecutor-3406_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:16
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.580329418182373s
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7265116;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74628;2460982.81268939;9.50452111;1.3;_
2025-11-03T09:30:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7265116;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74628;2460982.81268939;9.50452111;1.3;_
2025-11-03T09:30:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7265116, teldec = -24.256616
2025-11-03T09:30:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7265116 -24.256616
2025-11-03T09:30:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7265116 -24.256616
2025-11-03T09:30:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7265116 -24.256616
2025-11-03T09:30:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7265116;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74628;2460982.81268942;9.50452111;1.3;_14.7019923613098 -24.147176873117
2025-11-03T09:30:16.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7019923613098     dec_j2k = -24.147176873117
2025-11-03T09:30:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967409808597441;171.162346601491;_
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967409808597441;171.162346601491;_
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37119)
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:16.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:16.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81268939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967409808597441, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7265116, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74628, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7019923613098, telescope_dec_j2k=-24.147176873117, observability=1)
2025-11-03T09:30:16.823 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:16
2025-11-03T09:30:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4408881664276123s
2025-11-03T09:30:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4408881664276123
2025-11-03T09:30:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:17
2025-11-03T09:30:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9790894985198975s
2025-11-03T09:30:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9790894985198975
2025-11-03T09:30:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:18
2025-11-03T09:30:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978531837463379s
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7270734;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74684;2460982.81271252;9.50508139;1.3;_
2025-11-03T09:30:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7270734;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74684;2460982.81271252;9.50508139;1.3;_
2025-11-03T09:30:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7270734, teldec = -24.256616
2025-11-03T09:30:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7270734 -24.256616
2025-11-03T09:30:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7270734 -24.256616
2025-11-03T09:30:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7270734 -24.256616
2025-11-03T09:30:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7270734;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74684;2460982.81271255;9.50508139;1.3;_14.7025536742166 -24.1471901057118
2025-11-03T09:30:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7025536742166     dec_j2k = -24.1471901057118
2025-11-03T09:30:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096741622650829;171.162357330327;_
2025-11-03T09:30:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096741622650829;171.162357330327;_
2025-11-03T09:30:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37169)
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81271252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096741622650829, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7270734, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74684, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7025536742166, telescope_dec_j2k=-24.1471901057118, observability=1)
2025-11-03T09:30:18.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:18
2025-11-03T09:30:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4056396484375s
2025-11-03T09:30:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4056396484375
2025-11-03T09:30:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:19
2025-11-03T09:30:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9819464683532715s
2025-11-03T09:30:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9819464683532715
2025-11-03T09:30:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:20
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982595443725586s
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7276338;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7474;2460982.81273568;9.50564028;1.3;_
2025-11-03T09:30:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7276338;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7474;2460982.81273568;9.50564028;1.3;_
2025-11-03T09:30:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7276338, teldec = -24.256616
2025-11-03T09:30:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7276338 -24.256616
2025-11-03T09:30:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7276338 -24.256616
2025-11-03T09:30:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7276338 -24.256616
2025-11-03T09:30:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7276338;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7474;2460982.81273571;9.50564028;1.3;_14.7031135883877 -24.1472033077217
2025-11-03T09:30:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7031135883877     dec_j2k = -24.1472033077217
2025-11-03T09:30:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967419034344287;171.162346601491;_
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967419034344287;171.162346601491;_
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53775)
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:20.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:20.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:20.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81273568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967419034344287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7276338, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7474, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7031135883877, telescope_dec_j2k=-24.1472033077217, observability=1)
2025-11-03T09:30:20.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:20
2025-11-03T09:30:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3760983943939209s
2025-11-03T09:30:20.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3760983943939209
2025-11-03T09:30:21.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:21
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0479331016540527s
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7279336;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7477;2460982.81274804;9.50593917;1.3;_
2025-11-03T09:30:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7279336;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7477;2460982.81274804;9.50593917;1.3;_
2025-11-03T09:30:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:21.432 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7279336, teldec = -24.256616
2025-11-03T09:30:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7279336 -24.256616
2025-11-03T09:30:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7279336 -24.256616
2025-11-03T09:30:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7279336 -24.256616
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7279336;-24.256616;50.108577;89.993054;50.08601;90.12017;11.7477;2460982.81274807;9.50593917;1.3;_14.7034131285021 -24.1472103714473
2025-11-03T09:30:21.433 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7034131285021     dec_j2k = -24.1472103714473
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967415825388862;171.162362694745;_
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967415825388862;171.162362694745;_
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:21.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:21.440 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52953)
2025-11-03T09:30:21.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:21.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:21.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:21.440 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:21.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:21.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:21.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81274804, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967415825388862, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7279336, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7034131285021, telescope_dec_j2k=-24.1472103714473, observability=1)
2025-11-03T09:30:22.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:22
2025-11-03T09:30:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9149570465087891s
2025-11-03T09:30:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9149570465087891
2025-11-03T09:30:22.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:22
2025-11-03T09:30:22.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3235795497894287s
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7282984;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74807;2460982.81276359;9.50630306;1.3;_
2025-11-03T09:30:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7282984;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74807;2460982.81276359;9.50630306;1.3;_
2025-11-03T09:30:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:22.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7282984, teldec = -24.256616
2025-11-03T09:30:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7282984 -24.256616
2025-11-03T09:30:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7282984 -24.256616
2025-11-03T09:30:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7282984 -24.256616
2025-11-03T09:30:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7282984;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74807;2460982.81276361;9.50630306;1.3;_14.7037776122897 -24.1472189675893
2025-11-03T09:30:22.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7037776122897     dec_j2k = -24.1472189675893
2025-11-03T09:30:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967423847777423;171.162346601491;_
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967423847777423;171.162346601491;_
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39339)
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:22.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:22.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:22.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:22.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:22.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:22.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:22.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:22.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81276359, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967423847777423, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7282984, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74807, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7037776122897, telescope_dec_j2k=-24.1472189675893, observability=1)
2025-11-03T09:30:23.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:23
2025-11-03T09:30:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.575674295425415s
2025-11-03T09:30:23.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.575674295425415
2025-11-03T09:30:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:24
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.571617841720581s
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7287472;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74851;2460982.81278197;9.50675056;1.3;_
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7287472;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74851;2460982.81278197;9.50675056;1.3;_
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7287472, teldec = -24.256616
2025-11-03T09:30:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7287472 -24.256616
2025-11-03T09:30:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7287472 -24.256616
2025-11-03T09:30:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7287472 -24.256616
2025-11-03T09:30:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7287472;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74851;2460982.81278199;9.50675056;1.3;_14.7042260232946 -24.1472295444937
2025-11-03T09:30:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7042260232946     dec_j2k = -24.1472295444937
2025-11-03T09:30:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967418232105431;171.162351965909;_
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967418232105431;171.162351965909;_
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59669)
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:24.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:24.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81278197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967418232105431, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7287472, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74851, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7042260232946, telescope_dec_j2k=-24.1472295444937, observability=1)
2025-11-03T09:30:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:24
2025-11-03T09:30:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3833334445953369s
2025-11-03T09:30:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3833334445953369
2025-11-03T09:30:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:25
2025-11-03T09:30:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.985588550567627s
2025-11-03T09:30:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.985588550567627
2025-11-03T09:30:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:26
2025-11-03T09:30:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854552745819092s
2025-11-03T09:30:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7292995;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74907;2460982.81280513;9.50730139;1.3;_
2025-11-03T09:30:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7292995;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74907;2460982.81280513;9.50730139;1.3;_
2025-11-03T09:30:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7292995, teldec = -24.256616
2025-11-03T09:30:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7292995 -24.256616
2025-11-03T09:30:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7292995 -24.256616
2025-11-03T09:30:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7292995 -24.256616
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7292995;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74907;2460982.81280516;9.50730139;1.3;_14.7047778446358 -24.1472425626915
2025-11-03T09:30:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7047778446358     dec_j2k = -24.1472425626915
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967423045538567;171.162357330327;_
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967423045538567;171.162357330327;_
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56855)
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:26.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:26.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81280513, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967423045538567, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7292995, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74907, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7047778446358, telescope_dec_j2k=-24.1472425626915, observability=1)
2025-11-03T09:30:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:26
2025-11-03T09:30:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3874642848968506s
2025-11-03T09:30:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3874642848968506
2025-11-03T09:30:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:27
2025-11-03T09:30:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9829294681549072s
2025-11-03T09:30:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9829294681549072
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Status age = 1.2976150512695312s
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:27.676 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:27.677 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:27.678 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 17;14.7296644;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74943;2460982.81282035;9.50766528;1.3;_
2025-11-03T09:30:27.678 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response 17;14.7296644;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74943;2460982.81282035;9.50766528;1.3;_
2025-11-03T09:30:27.678 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:27.678 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:27.678 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:27.679 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:27.679 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:27.679 [INFO] [Thread-88659 (handle)] [driver.py] [get_status()] Telra = 14.7296644, teldec = -24.256616
2025-11-03T09:30:27.679 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7296644 -24.256616
2025-11-03T09:30:27.679 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7296644 -24.256616
2025-11-03T09:30:27.679 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7296644 -24.256616
2025-11-03T09:30:27.680 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 17;14.7296644;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74943;2460982.81282037;9.50766528;1.3;_14.7051424284168 -24.1472511649778
2025-11-03T09:30:27.680 [INFO] [Thread-88659 (handle)] [driver.py] [get_status()] ra_j2k = 14.7051424284168     dec_j2k = -24.1472511649778
2025-11-03T09:30:27.680 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:27.680 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:27.681 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 140;0.0967422243299711;171.162357330327;_
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response 140;0.0967422243299711;171.162357330327;_
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:27.682 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:27.683 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:27.684 [DEBUG] [Thread-88659 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:27.685 [DEBUG] [Thread-88659 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39975)
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:27.686 [DEBUG] [Thread-88659 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:27.693 [DEBUG] [Thread-88659 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:27.694 [DEBUG] [Thread-88659 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:27.694 [INFO] [Thread-88659 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81282035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967422243299711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7296644, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74943, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7051424284168, telescope_dec_j2k=-24.1472511649778, observability=1)
2025-11-03T09:30:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:28
2025-11-03T09:30:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.666881799697876s
2025-11-03T09:30:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.666881799697876
2025-11-03T09:30:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:28
2025-11-03T09:30:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0714457035064697s
2025-11-03T09:30:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7299725;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74974;2460982.81283295;9.5079725;1.3;_
2025-11-03T09:30:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7299725;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74974;2460982.81283295;9.5079725;1.3;_
2025-11-03T09:30:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7299725, teldec = -24.256616
2025-11-03T09:30:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7299725 -24.256616
2025-11-03T09:30:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7299725 -24.256616
2025-11-03T09:30:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7299725 -24.256616
2025-11-03T09:30:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7299725;-24.256616;50.108577;89.993054;50.08601;90.12017;11.74974;2460982.81283299;9.5079725;1.3;_14.7054502614367 -24.1472584290278
2025-11-03T09:30:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7054502614367     dec_j2k = -24.1472584290278
2025-11-03T09:30:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967419836583143;171.162346601491;_
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967419836583143;171.162346601491;_
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60487)
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81283295, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967419836583143, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7299725, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.74974, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7054502614367, telescope_dec_j2k=-24.1472584290278, observability=1)
2025-11-03T09:30:29.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:29
2025-11-03T09:30:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.577625036239624s
2025-11-03T09:30:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.577625036239624
2025-11-03T09:30:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:30
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5770165920257568s
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7304201;-24.256616;50.108577;89.993054;50.08601;90.12017;11.75019;2460982.81285141;9.50841889;1.3;_
2025-11-03T09:30:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7304201;-24.256616;50.108577;89.993054;50.08601;90.12017;11.75019;2460982.81285141;9.50841889;1.3;_
2025-11-03T09:30:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7304201, teldec = -24.256616
2025-11-03T09:30:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7304201 -24.256616
2025-11-03T09:30:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7304201 -24.256616
2025-11-03T09:30:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7304201 -24.256616
2025-11-03T09:30:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7304201;-24.256616;50.108577;89.993054;50.08601;90.12017;11.75019;2460982.81285144;9.50841889;1.3;_14.7058974736019 -24.1472689833435
2025-11-03T09:30:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7058974736019     dec_j2k = -24.1472689833435
2025-11-03T09:30:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967426254493992;171.162357330327;_
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967426254493992;171.162357330327;_
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51747)
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:30.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:30.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81285141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967426254493992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108577, telescope_az=89.993054, telescope_ra=14.7304201, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7058974736019, telescope_dec_j2k=-24.1472689833435, observability=1)
2025-11-03T09:30:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:30
2025-11-03T09:30:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38742756843566895s
2025-11-03T09:30:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38742756843566895
2025-11-03T09:30:31.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:31
2025-11-03T09:30:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9860823154449463s
2025-11-03T09:30:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9860823154449463
2025-11-03T09:30:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:32
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851527214050293s
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.730971;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75074;2460982.81287456;9.50896833;1.3;_
2025-11-03T09:30:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.730971;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75074;2460982.81287456;9.50896833;1.3;_
2025-11-03T09:30:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.730971, teldec = -24.256616
2025-11-03T09:30:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.730971 -24.256616
2025-11-03T09:30:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.730971 -24.256616
2025-11-03T09:30:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.730971 -24.256616
2025-11-03T09:30:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.730971;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75074;2460982.81287458;9.50896833;1.3;_14.7064478963043 -24.1472819755414
2025-11-03T09:30:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7064478963043     dec_j2k = -24.1472819755414
2025-11-03T09:30:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967424650016279;171.162357330327;_
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967424650016279;171.162357330327;_
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51961)
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:32.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:32.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81287456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967424650016279, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.730971, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7064478963043, telescope_dec_j2k=-24.1472819755414, observability=1)
2025-11-03T09:30:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:32
2025-11-03T09:30:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38502931594848633s
2025-11-03T09:30:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38502931594848633
2025-11-03T09:30:33.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:33
2025-11-03T09:30:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9876883029937744s
2025-11-03T09:30:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9876883029937744
2025-11-03T09:30:34.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:34
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9873132705688477s
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7315315;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7513;2460982.81289775;9.50952722;1.3;_
2025-11-03T09:30:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7315315;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7513;2460982.81289775;9.50952722;1.3;_
2025-11-03T09:30:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:34.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7315315, teldec = -24.256616
2025-11-03T09:30:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7315315 -24.256616
2025-11-03T09:30:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7315315 -24.256616
2025-11-03T09:30:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7315315 -24.256616
2025-11-03T09:30:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7315315;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7513;2460982.81289778;9.50952722;1.3;_14.7070079107393 -24.1472951965077
2025-11-03T09:30:34.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7070079107393     dec_j2k = -24.1472951965077
2025-11-03T09:30:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967425051135707;171.162351965909;_
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967425051135707;171.162351965909;_
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57035)
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:34.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:34.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:34.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81289775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967425051135707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7315315, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7513, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7070079107393, telescope_dec_j2k=-24.1472951965077, observability=1)
2025-11-03T09:30:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:34
2025-11-03T09:30:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38068675994873047s
2025-11-03T09:30:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38068675994873047
2025-11-03T09:30:35.350 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:35.350 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.9704346656799316s
2025-11-03T09:30:35.350 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9704346656799316
2025-11-03T09:30:35.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:35
2025-11-03T09:30:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9845213890075684s
2025-11-03T09:30:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9845213890075684
2025-11-03T09:30:36.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:36
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792766571044922s
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:36.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7320632;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75183;2460982.81292083;9.5100575;1.3;_
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7320632;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75183;2460982.81292083;9.5100575;1.3;_
2025-11-03T09:30:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:36.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7320632, teldec = -24.256616
2025-11-03T09:30:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7320632 -24.256616
2025-11-03T09:30:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7320632 -24.256616
2025-11-03T09:30:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7320632 -24.256616
2025-11-03T09:30:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7320632;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75183;2460982.81292087;9.5100575;1.3;_14.7075391501705 -24.1473077403505
2025-11-03T09:30:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7075391501705     dec_j2k = -24.1473077403505
2025-11-03T09:30:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967425853374564;171.162362694745;_
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967425853374564;171.162362694745;_
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55173)
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:36.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:36.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:36.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:36.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:36.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:36.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81292083, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967425853374564, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7320632, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7075391501705, telescope_dec_j2k=-24.1473077403505, observability=1)
2025-11-03T09:30:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:36
2025-11-03T09:30:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38414978981018066s
2025-11-03T09:30:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38414978981018066
2025-11-03T09:30:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:37
2025-11-03T09:30:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9868793487548828s
2025-11-03T09:30:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9868793487548828
2025-11-03T09:30:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:38
2025-11-03T09:30:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854445457458496s
2025-11-03T09:30:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7326423;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75241;2460982.81294402;9.510635;1.3;_
2025-11-03T09:30:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7326423;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75241;2460982.81294402;9.510635;1.3;_
2025-11-03T09:30:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7326423, teldec = -24.256616
2025-11-03T09:30:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7326423 -24.256616
2025-11-03T09:30:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7326423 -24.256616
2025-11-03T09:30:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7326423 -24.256616
2025-11-03T09:30:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7326423;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75241;2460982.81294404;9.510635;1.3;_14.7081177485946 -24.1473214048946
2025-11-03T09:30:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7081177485946     dec_j2k = -24.1473214048946
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967425051135707;171.162362694745;_
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967425051135707;171.162362694745;_
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50261)
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:38.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81294402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967425051135707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7326423, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75241, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7081177485946, telescope_dec_j2k=-24.1473214048946, observability=1)
2025-11-03T09:30:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:38
2025-11-03T09:30:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3793015480041504s
2025-11-03T09:30:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3793015480041504
2025-11-03T09:30:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:39
2025-11-03T09:30:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9806480407714844s
2025-11-03T09:30:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9806480407714844
2025-11-03T09:30:40.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:40
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981842041015625s
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7332027;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75297;2460982.81296719;9.51119389;1.3;_
2025-11-03T09:30:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7332027;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75297;2460982.81296719;9.51119389;1.3;_
2025-11-03T09:30:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7332027, teldec = -24.256616
2025-11-03T09:30:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7332027 -24.256616
2025-11-03T09:30:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7332027 -24.256616
2025-11-03T09:30:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7332027 -24.256616
2025-11-03T09:30:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7332027;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75297;2460982.81296721;9.51119389;1.3;_14.7086776632667 -24.1473346306147
2025-11-03T09:30:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7086776632667     dec_j2k = -24.1473346306147
2025-11-03T09:30:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967429463449416;171.162362694745;_
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967429463449416;171.162362694745;_
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58255)
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:40.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81296719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967429463449416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7332027, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75297, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7086776632667, telescope_dec_j2k=-24.1473346306147, observability=1)
2025-11-03T09:30:40.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:40
2025-11-03T09:30:40.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:40.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39357876777648926s
2025-11-03T09:30:40.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39357876777648926
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:41.157 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:41.158 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:30:41.159 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:30:41.160 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:41.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:41
2025-11-03T09:30:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9767065048217773s
2025-11-03T09:30:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9767065048217773
2025-11-03T09:30:42.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:42
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833362102508545s
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7337626;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75353;2460982.81299036;9.51175222;1.3;_
2025-11-03T09:30:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7337626;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75353;2460982.81299036;9.51175222;1.3;_
2025-11-03T09:30:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:42.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7337626, teldec = -24.256616
2025-11-03T09:30:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7337626 -24.256616
2025-11-03T09:30:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7337626 -24.256616
2025-11-03T09:30:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7337626 -24.256616
2025-11-03T09:30:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7337626;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75353;2460982.81299038;9.51175222;1.3;_14.7092370784222 -24.1473478469158
2025-11-03T09:30:42.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7092370784222     dec_j2k = -24.1473478469158
2025-11-03T09:30:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967427056732848;171.162357330327;_
2025-11-03T09:30:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967427056732848;171.162357330327;_
2025-11-03T09:30:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60011)
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:42.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:42.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81299036, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967427056732848, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7337626, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7092370784222, telescope_dec_j2k=-24.1473478469158, observability=1)
2025-11-03T09:30:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:42
2025-11-03T09:30:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3727569580078125s
2025-11-03T09:30:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3727569580078125
2025-11-03T09:30:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:43
2025-11-03T09:30:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.97586989402771s
2025-11-03T09:30:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.97586989402771
2025-11-03T09:30:44.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:44
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792938232421875s
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7343135;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75408;2460982.81301351;9.51230167;1.3;_
2025-11-03T09:30:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7343135;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75408;2460982.81301351;9.51230167;1.3;_
2025-11-03T09:30:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7343135, teldec = -24.256616
2025-11-03T09:30:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7343135 -24.256616
2025-11-03T09:30:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7343135 -24.256616
2025-11-03T09:30:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7343135 -24.256616
2025-11-03T09:30:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7343135;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75408;2460982.81301353;9.51230167;1.3;_14.7097875014203 -24.1473608530969
2025-11-03T09:30:44.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7097875014203     dec_j2k = -24.1473608530969
2025-11-03T09:30:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967424248896851;171.162357330327;_
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967424248896851;171.162357330327;_
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58365)
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:44.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:44.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:44.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81301351, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967424248896851, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7343135, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7097875014203, telescope_dec_j2k=-24.1473608530969, observability=1)
2025-11-03T09:30:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:44
2025-11-03T09:30:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3792846202850342s
2025-11-03T09:30:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3792846202850342
2025-11-03T09:30:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:45
2025-11-03T09:30:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9798028469085693s
2025-11-03T09:30:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9798028469085693
2025-11-03T09:30:45.732 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:45.732 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Status age = 1.350773811340332s
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:45.733 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:45.734 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 17;14.7346776;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75444;2460982.81302933;9.51266472;1.3;_
2025-11-03T09:30:45.734 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response 17;14.7346776;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75444;2460982.81302933;9.51266472;1.3;_
2025-11-03T09:30:45.734 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:45.734 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:45.734 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:45.735 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:45.735 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:45.735 [INFO] [Thread-88660 (handle)] [driver.py] [get_status()] Telra = 14.7346776, teldec = -24.256616
2025-11-03T09:30:45.735 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7346776 -24.256616
2025-11-03T09:30:45.735 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7346776 -24.256616
2025-11-03T09:30:45.735 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7346776 -24.256616
2025-11-03T09:30:45.736 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 17;14.7346776;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75444;2460982.81302935;9.51266472;1.3;_14.7101512861878 -24.147369450387
2025-11-03T09:30:45.736 [INFO] [Thread-88660 (handle)] [driver.py] [get_status()] ra_j2k = 14.7101512861878     dec_j2k = -24.147369450387
2025-11-03T09:30:45.736 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:45.736 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:45.736 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 140;0.0967431870165984;171.162368059163;_
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response 140;0.0967431870165984;171.162368059163;_
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:45.737 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:45.738 [DEBUG] [Thread-88660 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57997)
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:45.745 [DEBUG] [Thread-88660 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:45.752 [DEBUG] [Thread-88660 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:45.752 [DEBUG] [Thread-88660 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:45.753 [DEBUG] [Thread-88660 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:45.753 [INFO] [Thread-88660 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81302933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967431870165984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7346776, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7101512861878, telescope_dec_j2k=-24.147369450387, observability=1)
2025-11-03T09:30:46.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:46
2025-11-03T09:30:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.610093355178833s
2025-11-03T09:30:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.610093355178833
2025-11-03T09:30:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:46
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.009789228439331s
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7349859;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75475;2460982.81304126;9.51297222;1.3;_
2025-11-03T09:30:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7349859;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75475;2460982.81304126;9.51297222;1.3;_
2025-11-03T09:30:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7349859, teldec = -24.256616
2025-11-03T09:30:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7349859 -24.256616
2025-11-03T09:30:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7349859 -24.256616
2025-11-03T09:30:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7349859 -24.256616
2025-11-03T09:30:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7349859;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75475;2460982.81304128;9.51297222;1.3;_14.7104593192828 -24.1473767308896
2025-11-03T09:30:46.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7104593192828     dec_j2k = -24.1473767308896
2025-11-03T09:30:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09674306668077;171.162357330327;_
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09674306668077;171.162357330327;_
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60811)
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:46.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:46.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:46.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81304126, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09674306668077, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7349859, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75475, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7104593192828, telescope_dec_j2k=-24.1473767308896, observability=1)
2025-11-03T09:30:47.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:47
2025-11-03T09:30:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5785567760467529s
2025-11-03T09:30:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5785567760467529
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Status age = 1.3856124877929688s
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:48.167 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:48.168 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:48.169 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 17;14.7353784;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75515;2460982.81305751;9.51336361;1.3;_
2025-11-03T09:30:48.169 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response 17;14.7353784;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75515;2460982.81305751;9.51336361;1.3;_
2025-11-03T09:30:48.169 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:48.169 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:48.169 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:48.170 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:48.170 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:48.170 [INFO] [Thread-88661 (handle)] [driver.py] [get_status()] Telra = 14.7353784, teldec = -24.256616
2025-11-03T09:30:48.170 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7353784 -24.256616
2025-11-03T09:30:48.170 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7353784 -24.256616
2025-11-03T09:30:48.170 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7353784 -24.256616
2025-11-03T09:30:48.171 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 17;14.7353784;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75515;2460982.81305754;9.51336361;1.3;_14.7108514795053 -24.1473860008184
2025-11-03T09:30:48.171 [INFO] [Thread-88661 (handle)] [driver.py] [get_status()] ra_j2k = 14.7108514795053     dec_j2k = -24.1473860008184
2025-11-03T09:30:48.171 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:48.171 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:48.171 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 140;0.0967437084718549;171.162362694745;_
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response 140;0.0967437084718549;171.162362694745;_
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:48.172 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:48.173 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:48.174 [DEBUG] [Thread-88661 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:48.174 [DEBUG] [Thread-88661 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:48.174 [DEBUG] [Thread-88661 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:48.176 [DEBUG] [Thread-88661 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48631)
2025-11-03T09:30:48.176 [DEBUG] [Thread-88661 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:48.177 [DEBUG] [Thread-88661 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:48.177 [DEBUG] [Thread-88661 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:48.177 [DEBUG] [Thread-88661 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:48.177 [DEBUG] [Thread-88661 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:48.184 [DEBUG] [Thread-88661 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:48.184 [INFO] [Thread-88661 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81305751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967437084718549, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7353784, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75515, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7108514795053, telescope_dec_j2k=-24.1473860008184, observability=1)
2025-11-03T09:30:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:48
2025-11-03T09:30:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17564010620117188s
2025-11-03T09:30:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17564010620117188
2025-11-03T09:30:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:48
2025-11-03T09:30:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5738992691040039s
2025-11-03T09:30:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5738992691040039
2025-11-03T09:30:49.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:49
2025-11-03T09:30:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:49.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1793127059936523s
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:49.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.735687;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75545;2460982.81307135;9.51367139;1.3;_
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.735687;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75545;2460982.81307135;9.51367139;1.3;_
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:49.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:49.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.735687, teldec = -24.256616
2025-11-03T09:30:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.735687 -24.256616
2025-11-03T09:30:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.735687 -24.256616
2025-11-03T09:30:49.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.735687 -24.256616
2025-11-03T09:30:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.735687;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75545;2460982.81307138;9.51367139;1.3;_14.7111598123753 -24.1473932900472
2025-11-03T09:30:49.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7111598123753     dec_j2k = -24.1473932900472
2025-11-03T09:30:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:49.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09674306668077;171.162362694745;_
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09674306668077;171.162362694745;_
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:49.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:49.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:49.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:49.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:49.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48563)
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:49.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:49.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:49.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81307135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09674306668077, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.735687, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7111598123753, telescope_dec_j2k=-24.1473932900472, observability=1)
2025-11-03T09:30:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:50
2025-11-03T09:30:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3778178691864014s
2025-11-03T09:30:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7360984;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75587;2460982.81308751;9.51408167;1.3;_
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7360984;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75587;2460982.81308751;9.51408167;1.3;_
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7360984, teldec = -24.256616
2025-11-03T09:30:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7360984 -24.256616
2025-11-03T09:30:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7360984 -24.256616
2025-11-03T09:30:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7360984 -24.256616
2025-11-03T09:30:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7360984;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75587;2460982.81308753;9.51408167;1.3;_14.7115708562835 -24.1474030085681
2025-11-03T09:30:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7115708562835     dec_j2k = -24.1474030085681
2025-11-03T09:30:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967433474643697;171.162373423581;_
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967433474643697;171.162373423581;_
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56417)
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:50.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81308751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967433474643697, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7360984, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7115708562835, telescope_dec_j2k=-24.1474030085681, observability=1)
2025-11-03T09:30:51.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:51
2025-11-03T09:30:51.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:51.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6107473373413086s
2025-11-03T09:30:51.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6107473373413086
2025-11-03T09:30:51.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:51
2025-11-03T09:30:51.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:51.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6329240798950195s
2025-11-03T09:30:51.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6329240798950195
2025-11-03T09:30:52.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:52
2025-11-03T09:30:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9849627017974854s
2025-11-03T09:30:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7366599;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75643;2460982.81311068;9.51464167;1.3;_
2025-11-03T09:30:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7366599;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75643;2460982.81311068;9.51464167;1.3;_
2025-11-03T09:30:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:52.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7366599, teldec = -24.256616
2025-11-03T09:30:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7366599 -24.256616
2025-11-03T09:30:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7366599 -24.256616
2025-11-03T09:30:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7366599 -24.256616
2025-11-03T09:30:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7366599;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75643;2460982.81311073;9.51464167;1.3;_14.712131870315 -24.1474162749806
2025-11-03T09:30:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.712131870315     dec_j2k = -24.1474162749806
2025-11-03T09:30:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967436282479693;171.162357330327;_
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967436282479693;171.162357330327;_
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39761)
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:52.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:52.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:52.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81311068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967436282479693, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7366599, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.712131870315, telescope_dec_j2k=-24.1474162749806, observability=1)
2025-11-03T09:30:53.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:53
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0212938785552979s
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:53.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:53.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:53.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7369401;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75671;2460982.81312271;9.51492111;1.3;_
2025-11-03T09:30:53.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7369401;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75671;2460982.81312271;9.51492111;1.3;_
2025-11-03T09:30:53.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:53.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:53.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:53.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:53.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:53.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7369401, teldec = -24.256616
2025-11-03T09:30:53.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7369401 -24.256616
2025-11-03T09:30:53.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7369401 -24.256616
2025-11-03T09:30:53.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7369401 -24.256616
2025-11-03T09:30:53.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7369401;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75671;2460982.81312273;9.51492111;1.3;_14.7124118278258 -24.1474228960868
2025-11-03T09:30:53.804 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7124118278258     dec_j2k = -24.1474228960868
2025-11-03T09:30:53.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:53.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:53.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967439491435117;171.162362694745;_
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967439491435117;171.162362694745;_
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:53.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:53.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:53.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:53.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:30:53.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55663)
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:53.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:53.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:53.819 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81312271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967439491435117, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7369401, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75671, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7124118278258, telescope_dec_j2k=-24.1474228960868, observability=1)
2025-11-03T09:30:53.841 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:53
2025-11-03T09:30:53.841 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:53.841 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021831512451171875s
2025-11-03T09:30:53.841 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021831512451171875
2025-11-03T09:30:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:54
2025-11-03T09:30:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9406757354736328s
2025-11-03T09:30:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9406757354736328
2025-11-03T09:30:55.637 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:55
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8173243999481201s
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:55.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:55.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:55.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7374359;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7572;2460982.81314397;9.51541556;1.3;_
2025-11-03T09:30:55.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7374359;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7572;2460982.81314397;9.51541556;1.3;_
2025-11-03T09:30:55.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:55.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:55.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:55.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:55.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:55.640 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7374359, teldec = -24.256616
2025-11-03T09:30:55.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7374359 -24.256616
2025-11-03T09:30:55.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7374359 -24.256616
2025-11-03T09:30:55.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7374359 -24.256616
2025-11-03T09:30:55.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7374359;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7572;2460982.81314399;9.51541556;1.3;_14.712907198784 -24.1474346132652
2025-11-03T09:30:55.641 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.712907198784     dec_j2k = -24.1474346132652
2025-11-03T09:30:55.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:55.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:55.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967435480240837;171.162346601491;_
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967435480240837;171.162346601491;_
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:55.642 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:55.643 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:55.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:55.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:55.644 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45797)
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:55.648 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:55.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:55.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:55.655 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:55.655 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:55.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:55.656 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:55.656 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:55.656 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:55.656 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:55.656 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81314397, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967435480240837, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7374359, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7572, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.712907198784, telescope_dec_j2k=-24.1474346132652, observability=1)
2025-11-03T09:30:55.678 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:55
2025-11-03T09:30:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022260427474975586s
2025-11-03T09:30:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022260427474975586
2025-11-03T09:30:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:56
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1085712909698486s
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.737773;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75754;2460982.81315701;9.51575167;1.3;_
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.737773;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75754;2460982.81315701;9.51575167;1.3;_
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.737773, teldec = -24.256616
2025-11-03T09:30:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.737773 -24.256616
2025-11-03T09:30:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.737773 -24.256616
2025-11-03T09:30:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.737773 -24.256616
2025-11-03T09:30:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.737773;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75754;2460982.81315704;9.51575167;1.3;_14.7132440070963 -24.1474425809716
2025-11-03T09:30:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7132440070963     dec_j2k = -24.1474425809716
2025-11-03T09:30:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967435079121409;171.162341237072;_
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967435079121409;171.162341237072;_
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46309)
2025-11-03T09:30:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:56.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81315701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967435079121409, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.737773, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75754, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7132440070963, telescope_dec_j2k=-24.1474425809716, observability=1)
2025-11-03T09:30:57.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:57
2025-11-03T09:30:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5770583152770996s
2025-11-03T09:30:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5770583152770996
2025-11-03T09:30:57.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:57
2025-11-03T09:30:57.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:57.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5980770587921143s
2025-11-03T09:30:57.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5980770587921143
2025-11-03T09:30:57.972 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1893301010131836s
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7381097;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75788;2460982.81317101;9.5160875;1.3;_
2025-11-03T09:30:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.7381097;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75788;2460982.81317101;9.5160875;1.3;_
2025-11-03T09:30:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:57.976 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.7381097, teldec = -24.256616
2025-11-03T09:30:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7381097 -24.256616
2025-11-03T09:30:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7381097 -24.256616
2025-11-03T09:30:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7381097 -24.256616
2025-11-03T09:30:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7381097;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75788;2460982.81317103;9.5160875;1.3;_14.713580415773 -24.147450540084
2025-11-03T09:30:57.977 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.713580415773     dec_j2k = -24.147450540084
2025-11-03T09:30:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967433474643697;171.162357330327;_
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967433474643697;171.162357330327;_
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44367)
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:57.989 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81317101, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967433474643697, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7381097, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75788, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.713580415773, telescope_dec_j2k=-24.147450540084, observability=1)
2025-11-03T09:30:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:58
2025-11-03T09:30:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7700161933898926s
2025-11-03T09:30:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7700161933898926
2025-11-03T09:30:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:59
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3713903427124023s
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:30:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.738493;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75826;2460982.81318706;9.51646972;1.3;_
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.738493;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75826;2460982.81318706;9.51646972;1.3;_
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:30:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:30:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:30:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.738493, teldec = -24.256616
2025-11-03T09:30:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.738493 -24.256616
2025-11-03T09:30:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.738493 -24.256616
2025-11-03T09:30:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.738493 -24.256616
2025-11-03T09:30:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.738493;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75826;2460982.81318708;9.51646972;1.3;_14.713963384152 -24.1474596018012
2025-11-03T09:30:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.713963384152     dec_j2k = -24.1474596018012
2025-11-03T09:30:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:30:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:30:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967441898151686;171.162357330327;_
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967441898151686;171.162357330327;_
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:30:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:30:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:30:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40625)
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:30:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:30:59.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:30:59.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81318706, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967441898151686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.738493, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75826, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.713963384152, telescope_dec_j2k=-24.1474596018012, observability=1)
2025-11-03T09:30:59.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:30:59
2025-11-03T09:30:59.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:30:59.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022195100784301758s
2025-11-03T09:30:59.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022195100784301758
2025-11-03T09:31:00.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:00
2025-11-03T09:31:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3883376121520996s
2025-11-03T09:31:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7388866;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75865;2460982.81320336;9.51686222;1.3;_
2025-11-03T09:31:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7388866;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75865;2460982.81320336;9.51686222;1.3;_
2025-11-03T09:31:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:00.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7388866, teldec = -24.256616
2025-11-03T09:31:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7388866 -24.256616
2025-11-03T09:31:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7388866 -24.256616
2025-11-03T09:31:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7388866 -24.256616
2025-11-03T09:31:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7388866;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75865;2460982.81320338;9.51686222;1.3;_14.7143566436445 -24.1474689081835
2025-11-03T09:31:00.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7143566436445     dec_j2k = -24.1474689081835
2025-11-03T09:31:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967439090315689;171.162357330327;_
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967439090315689;171.162357330327;_
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:00.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41751)
2025-11-03T09:31:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:00.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:00.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:00.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81320336, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967439090315689, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7388866, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75865, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7143566436445, telescope_dec_j2k=-24.1474689081835, observability=1)
2025-11-03T09:31:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:01
2025-11-03T09:31:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5735282897949219s
2025-11-03T09:31:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5735282897949219
2025-11-03T09:31:01.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:01
2025-11-03T09:31:01.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:01.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5941686630249023s
2025-11-03T09:31:01.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5941686630249023
2025-11-03T09:31:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:02
2025-11-03T09:31:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9753336906433105s
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7394197;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75919;2460982.81322644;9.51739389;1.3;_
2025-11-03T09:31:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7394197;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75919;2460982.81322644;9.51739389;1.3;_
2025-11-03T09:31:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7394197, teldec = -24.256616
2025-11-03T09:31:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7394197 -24.256616
2025-11-03T09:31:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7394197 -24.256616
2025-11-03T09:31:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7394197 -24.256616
2025-11-03T09:31:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7394197;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75919;2460982.81322646;9.51739389;1.3;_14.7148892824937 -24.1474815148137
2025-11-03T09:31:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7148892824937     dec_j2k = -24.1474815148137
2025-11-03T09:31:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967439090315689;171.162357330327;_
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967439090315689;171.162357330327;_
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57971)
2025-11-03T09:31:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:02.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:02.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:02.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81322644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967439090315689, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7394197, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75919, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7148892824937, telescope_dec_j2k=-24.1474815148137, observability=1)
2025-11-03T09:31:03.750 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:03
2025-11-03T09:31:03.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:03.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9676437377929688s
2025-11-03T09:31:03.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9676437377929688
2025-11-03T09:31:03.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:03
2025-11-03T09:31:03.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:03.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9892144203186035s
2025-11-03T09:31:03.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9892144203186035
2025-11-03T09:31:03.813 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:03.813 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Status age = 1.030578374862671s
2025-11-03T09:31:03.813 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:03.813 [DEBUG] [Thread-88662 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:03.814 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:03.815 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:03.815 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:03.815 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 17;14.7397283;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7595;2460982.8132386;9.51770167;1.3;_
2025-11-03T09:31:03.815 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response 17;14.7397283;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7595;2460982.8132386;9.51770167;1.3;_
2025-11-03T09:31:03.815 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:03.816 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:03.816 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:03.816 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:03.817 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:03.817 [INFO] [Thread-88662 (handle)] [driver.py] [get_status()] Telra = 14.7397283, teldec = -24.256616
2025-11-03T09:31:03.817 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7397283 -24.256616
2025-11-03T09:31:03.817 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7397283 -24.256616
2025-11-03T09:31:03.817 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7397283 -24.256616
2025-11-03T09:31:03.818 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 17;14.7397283;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7595;2460982.81323863;9.51770167;1.3;_14.7151976155645 -24.1474888135027
2025-11-03T09:31:03.818 [INFO] [Thread-88662 (handle)] [driver.py] [get_status()] ra_j2k = 14.7151976155645     dec_j2k = -24.1474888135027
2025-11-03T09:31:03.818 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:03.818 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:03.818 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 140;0.0967435881360265;171.162362694745;_
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response 140;0.0967435881360265;171.162362694745;_
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:03.819 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:03.820 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:03.821 [DEBUG] [Thread-88662 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:03.821 [DEBUG] [Thread-88662 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:03.821 [DEBUG] [Thread-88662 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44065)
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:03.823 [DEBUG] [Thread-88662 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:03.830 [DEBUG] [Thread-88662 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:03.831 [INFO] [Thread-88662 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8132386, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967435881360265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7397283, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7151976155645, telescope_dec_j2k=-24.1474888135027, observability=1)
2025-11-03T09:31:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:04
2025-11-03T09:31:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9291272163391113s
2025-11-03T09:31:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9291272163391113
2025-11-03T09:31:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:05
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5303778648376465s
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:05.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7401676;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75993;2460982.8132565;9.51813972;1.3;_
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7401676;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75993;2460982.8132565;9.51813972;1.3;_
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:05.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:05.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:05.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7401676, teldec = -24.256616
2025-11-03T09:31:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7401676 -24.256616
2025-11-03T09:31:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7401676 -24.256616
2025-11-03T09:31:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7401676 -24.256616
2025-11-03T09:31:05.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7401676;-24.256616;50.108576;89.993054;50.08601;90.12017;11.75993;2460982.81325653;9.51813972;1.3;_14.7156365356104 -24.1474992046188
2025-11-03T09:31:05.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7156365356104     dec_j2k = -24.1474992046188
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967439491435117;171.162362694745;_
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967439491435117;171.162362694745;_
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:05.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:05.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:05.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:05.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59241)
2025-11-03T09:31:05.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:05.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:05.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:05.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:05.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:05.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:05.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:05.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8132565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967439491435117, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7401676, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.75993, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7156365356104, telescope_dec_j2k=-24.1474992046188, observability=1)
2025-11-03T09:31:05.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:05
2025-11-03T09:31:05.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:05.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022521257400512695s
2025-11-03T09:31:05.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022521257400512695
2025-11-03T09:31:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:06
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3810672760009766s
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7405327;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7603;2460982.81327274;9.51850389;1.3;_
2025-11-03T09:31:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7405327;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7603;2460982.81327274;9.51850389;1.3;_
2025-11-03T09:31:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7405327, teldec = -24.256616
2025-11-03T09:31:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7405327 -24.256616
2025-11-03T09:31:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7405327 -24.256616
2025-11-03T09:31:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7405327 -24.256616
2025-11-03T09:31:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7405327;-24.256616;50.108576;89.993054;50.08601;90.12017;11.7603;2460982.81327277;9.51850389;1.3;_14.7160013198561 -24.1475078417359
2025-11-03T09:31:06.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7160013198561     dec_j2k = -24.1475078417359
2025-11-03T09:31:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967444304868254;171.162351965909;_
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967444304868254;171.162351965909;_
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57691)
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:06.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:06.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:06.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81327274, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967444304868254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7405327, telescope_dec=-24.256616, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7603, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7160013198561, telescope_dec_j2k=-24.1475078417359, observability=1)
2025-11-03T09:31:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:07
2025-11-03T09:31:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5781431198120117s
2025-11-03T09:31:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5781431198120117
2025-11-03T09:31:07.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:07
2025-11-03T09:31:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6007959842681885s
2025-11-03T09:31:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6007959842681885
2025-11-03T09:31:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:08
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773480892181396s
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7410951;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76086;2460982.81329584;9.51906472;1.3;_
2025-11-03T09:31:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7410951;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76086;2460982.81329584;9.51906472;1.3;_
2025-11-03T09:31:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:08.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7410951, teldec = -24.256615
2025-11-03T09:31:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7410951 -24.256615
2025-11-03T09:31:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7410951 -24.256615
2025-11-03T09:31:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7410951 -24.256615
2025-11-03T09:31:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7410951;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76086;2460982.81329588;9.51906472;1.3;_14.7165632336367 -24.1475201483365
2025-11-03T09:31:08.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7165632336367     dec_j2k = -24.1475201483365
2025-11-03T09:31:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967442700390542;171.162357330327;_
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967442700390542;171.162357330327;_
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60991)
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:08.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:08.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:08.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81329584, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967442700390542, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7410951, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76086, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7165632336367, telescope_dec_j2k=-24.1475201483365, observability=1)
2025-11-03T09:31:10.124 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:10
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3448247909545898s
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:10.125 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:10.126 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7414781;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76124;2460982.81331164;9.51944667;1.3;_
2025-11-03T09:31:10.126 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7414781;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76124;2460982.81331164;9.51944667;1.3;_
2025-11-03T09:31:10.126 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:10.126 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:10.126 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:10.127 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:10.127 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:10.127 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7414781, teldec = -24.256615
2025-11-03T09:31:10.127 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7414781 -24.256615
2025-11-03T09:31:10.127 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7414781 -24.256615
2025-11-03T09:31:10.127 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7414781 -24.256615
2025-11-03T09:31:10.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7414781;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76124;2460982.81331167;9.51944667;1.3;_14.7169459024596 -24.1475292116301
2025-11-03T09:31:10.128 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7169459024596     dec_j2k = -24.1475292116301
2025-11-03T09:31:10.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:10.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:10.128 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967442700390542;171.162351965909;_
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967442700390542;171.162351965909;_
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:10.129 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:10.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:10.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:10.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:10.130 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:10.131 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59459)
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:10.132 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:10.139 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:10.140 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:10.140 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81331164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967442700390542, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7414781, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7169459024596, telescope_dec_j2k=-24.1475292116301, observability=1)
2025-11-03T09:31:10.162 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:10
2025-11-03T09:31:10.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:10.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02252650260925293s
2025-11-03T09:31:10.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02252650260925293
2025-11-03T09:31:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:10
2025-11-03T09:31:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6201379299163818s
2025-11-03T09:31:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6201379299163818
2025-11-03T09:31:11.883 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:31:11
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.743736743927002s
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:11.883 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:11.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:11.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7419825;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76175;2460982.813332;9.51994972;1.3;_
2025-11-03T09:31:11.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7419825;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76175;2460982.813332;9.51994972;1.3;_
2025-11-03T09:31:11.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:11.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:11.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:11.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:11.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:11.886 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7419825, teldec = -24.256615
2025-11-03T09:31:11.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7419825 -24.256615
2025-11-03T09:31:11.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7419825 -24.256615
2025-11-03T09:31:11.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7419825 -24.256615
2025-11-03T09:31:11.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7419825;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76175;2460982.81333203;9.51994972;1.3;_14.7174498663449 -24.1475411494235
2025-11-03T09:31:11.887 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7174498663449     dec_j2k = -24.1475411494235
2025-11-03T09:31:11.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:11.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:11.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967440694793402;171.162368059163;_
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967440694793402;171.162368059163;_
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:11.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:11.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:11.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:11.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:11.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:11.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:11.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:11.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:11.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:11.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54497)
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:11.896 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:11.903 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:11.903 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.813332, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967440694793402, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7419825, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7174498663449, telescope_dec_j2k=-24.1475411494235, observability=1)
2025-11-03T09:31:12.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:12
2025-11-03T09:31:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8560538291931152s
2025-11-03T09:31:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8560538291931152
2025-11-03T09:31:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:14
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.8587594032287598s
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7427666;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76253;2460982.81336532;9.52073167;1.3;_
2025-11-03T09:31:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7427666;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76253;2460982.81336532;9.52073167;1.3;_
2025-11-03T09:31:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7427666, teldec = -24.256615
2025-11-03T09:31:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7427666 -24.256615
2025-11-03T09:31:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7427666 -24.256615
2025-11-03T09:31:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7427666 -24.256615
2025-11-03T09:31:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7427666;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76253;2460982.81336536;9.52073167;1.3;_14.7182332884772 -24.1475597107931
2025-11-03T09:31:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7182332884772     dec_j2k = -24.1475597107931
2025-11-03T09:31:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967440694793402;171.162362694745;_
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967440694793402;171.162362694745;_
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56101)
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:14.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:14.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:14.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81336532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967440694793402, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7427666, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76253, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:30:15.138289', telescope_ra_j2k=14.7182332884772, telescope_dec_j2k=-24.1475597107931, observability=1)
2025-11-03T09:31:15.279 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:15.280 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:15.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:15.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:15.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:15.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:15.281 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:31:15.281 [INFO] [ThreadPoolExecutor-3407_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:31:15.282 [INFO] [ThreadPoolExecutor-3407_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:31:15.355 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:31:15.355 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5721862316131592s
2025-11-03T09:31:15.355 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5721862316131592
2025-11-03T09:31:15.355 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.471827983856201 seconds ago
2025-11-03T09:31:16.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:16
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.637237310409546s
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:16.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:16.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7432332;-24.256615;50.108576;89.993054;50.08601;90.12017;11.763;2460982.81338451;9.52119694;1.3;_
2025-11-03T09:31:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7432332;-24.256615;50.108576;89.993054;50.08601;90.12017;11.763;2460982.81338451;9.52119694;1.3;_
2025-11-03T09:31:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:16.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7432332, teldec = -24.256615
2025-11-03T09:31:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7432332 -24.256615
2025-11-03T09:31:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7432332 -24.256615
2025-11-03T09:31:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7432332 -24.256615
2025-11-03T09:31:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7432332;-24.256615;50.108576;89.993054;50.08601;90.12017;11.763;2460982.81338454;9.52119694;1.3;_14.7186994851406 -24.147570758451
2025-11-03T09:31:16.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7186994851406     dec_j2k = -24.147570758451
2025-11-03T09:31:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967447513823679;171.162368059163;_
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967447513823679;171.162368059163;_
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:16.431 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39625)
2025-11-03T09:31:16.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:16.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:16.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:16.431 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:16.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:16.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:16.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:16.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81338451, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967447513823679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7432332, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.763, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7186994851406, telescope_dec_j2k=-24.147570758451, observability=1)
2025-11-03T09:31:16.505 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:16
2025-11-03T09:31:16.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:16.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0663304328918457s
2025-11-03T09:31:16.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0663304328918457
2025-11-03T09:31:16.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:16
2025-11-03T09:31:16.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:16.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36331605911254883s
2025-11-03T09:31:16.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36331605911254883
2025-11-03T09:31:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:18
2025-11-03T09:31:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9213547706604004s
2025-11-03T09:31:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7437658;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76353;2460982.81340697;9.52172806;1.3;_
2025-11-03T09:31:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7437658;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76353;2460982.81340697;9.52172806;1.3;_
2025-11-03T09:31:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7437658, teldec = -24.256615
2025-11-03T09:31:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7437658 -24.256615
2025-11-03T09:31:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7437658 -24.256615
2025-11-03T09:31:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7437658 -24.256615
2025-11-03T09:31:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7437658;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76353;2460982.81340699;9.52172806;1.3;_14.7192316247956 -24.1475833708027
2025-11-03T09:31:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7192316247956     dec_j2k = -24.1475833708027
2025-11-03T09:31:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967444304868254;171.162357330327;_
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967444304868254;171.162357330327;_
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42989)
2025-11-03T09:31:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81340697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967444304868254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7437658, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7192316247956, telescope_dec_j2k=-24.1475833708027, observability=1)
2025-11-03T09:31:18.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:18
2025-11-03T09:31:18.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:18.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022520065307617188s
2025-11-03T09:31:18.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022520065307617188
2025-11-03T09:31:18.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:18
2025-11-03T09:31:18.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40024495124816895s
2025-11-03T09:31:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40024495124816895
2025-11-03T09:31:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:20
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982879638671875s
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7443262;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76409;2460982.81343013;9.52228694;1.3;_
2025-11-03T09:31:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7443262;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76409;2460982.81343013;9.52228694;1.3;_
2025-11-03T09:31:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7443262, teldec = -24.256615
2025-11-03T09:31:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7443262 -24.256615
2025-11-03T09:31:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7443262 -24.256615
2025-11-03T09:31:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7443262 -24.256615
2025-11-03T09:31:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7443262;-24.256615;50.108576;89.993054;50.08601;90.12017;11.76409;2460982.81343015;9.52228694;1.3;_14.7197915404714 -24.1475966437984
2025-11-03T09:31:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7197915404714     dec_j2k = -24.1475966437984
2025-11-03T09:31:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967442299271114;171.162351965909;_
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967442299271114;171.162351965909;_
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50587)
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:20.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:20.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:20.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:20.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:20.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81343013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967442299271114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108576, telescope_az=89.993054, telescope_ra=14.7443262, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76409, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7197915404714, telescope_dec_j2k=-24.1475966437984, observability=1)
2025-11-03T09:31:20.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:20
2025-11-03T09:31:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022558212280273438s
2025-11-03T09:31:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022558212280273438
2025-11-03T09:31:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:20
2025-11-03T09:31:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37855052947998047s
2025-11-03T09:31:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37855052947998047
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Status age = 1.5434515476226807s
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:21.925 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:21.926 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:21.926 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:21.926 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:21.926 [DEBUG] [Thread-88663 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:21.927 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:21.927 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:21.927 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:21.927 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:21.928 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 17;14.7447741;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76454;2460982.81344824;9.52273361;1.3;_
2025-11-03T09:31:21.928 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response 17;14.7447741;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76454;2460982.81344824;9.52273361;1.3;_
2025-11-03T09:31:21.928 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:21.928 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:21.928 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:21.929 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:21.929 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:21.929 [INFO] [Thread-88663 (handle)] [driver.py] [get_status()] Telra = 14.7447741, teldec = -24.256615
2025-11-03T09:31:21.929 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7447741 -24.256615
2025-11-03T09:31:21.929 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7447741 -24.256615
2025-11-03T09:31:21.929 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7447741 -24.256615
2025-11-03T09:31:21.930 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 17;14.7447741;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76454;2460982.81344826;9.52273361;1.3;_14.7202390534115 -24.1476072539578
2025-11-03T09:31:21.930 [INFO] [Thread-88663 (handle)] [driver.py] [get_status()] ra_j2k = 14.7202390534115     dec_j2k = -24.1476072539578
2025-11-03T09:31:21.930 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:21.930 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:21.930 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 140;0.0967446711584822;171.162351965909;_
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response 140;0.0967446711584822;171.162351965909;_
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:21.931 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:21.932 [DEBUG] [Thread-88663 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:21.933 [DEBUG] [Thread-88663 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:21.937 [DEBUG] [Thread-88663 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51265)
2025-11-03T09:31:21.938 [DEBUG] [Thread-88663 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:21.938 [DEBUG] [Thread-88663 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:21.938 [DEBUG] [Thread-88663 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:21.938 [DEBUG] [Thread-88663 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:21.938 [DEBUG] [Thread-88663 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:21.945 [DEBUG] [Thread-88663 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:21.945 [DEBUG] [Thread-88663 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:21.945 [DEBUG] [Thread-88663 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:21.946 [DEBUG] [Thread-88663 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:21.946 [INFO] [Thread-88663 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81344824, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967446711584822, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7447741, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76454, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7202390534115, telescope_dec_j2k=-24.1476072539578, observability=1)
2025-11-03T09:31:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:22
2025-11-03T09:31:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4146757125854492s
2025-11-03T09:31:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4146757125854492
2025-11-03T09:31:22.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:22
2025-11-03T09:31:22.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:22.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.437941312789917s
2025-11-03T09:31:22.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.437941312789917
2025-11-03T09:31:22.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:22
2025-11-03T09:31:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8116641044616699s
2025-11-03T09:31:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8116641044616699
2025-11-03T09:31:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:24
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4159998893737793s
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.745437;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7652;2460982.81347644;9.52339472;1.3;_
2025-11-03T09:31:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.745437;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7652;2460982.81347644;9.52339472;1.3;_
2025-11-03T09:31:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.745437, teldec = -24.256615
2025-11-03T09:31:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.745437 -24.256615
2025-11-03T09:31:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.745437 -24.256615
2025-11-03T09:31:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.745437 -24.256615
2025-11-03T09:31:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.745437;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7652;2460982.81347646;9.52339472;1.3;_14.7209013806153 -24.1476229599716
2025-11-03T09:31:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7209013806153     dec_j2k = -24.1476229599716
2025-11-03T09:31:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967445508226538;171.162341237072;_
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967445508226538;171.162341237072;_
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47377)
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:24.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:24.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81347644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967445508226538, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.745437, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7652, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7209013806153, telescope_dec_j2k=-24.1476229599716, observability=1)
2025-11-03T09:31:24.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:24
2025-11-03T09:31:24.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:24.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022554874420166016s
2025-11-03T09:31:24.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022554874420166016
2025-11-03T09:31:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:24
2025-11-03T09:31:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38737964630126953s
2025-11-03T09:31:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38737964630126953
2025-11-03T09:31:26.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:26
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0434515476226807s
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:26.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7460255;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76579;2460982.81350024;9.52398167;1.3;_
2025-11-03T09:31:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7460255;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76579;2460982.81350024;9.52398167;1.3;_
2025-11-03T09:31:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:26.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7460255, teldec = -24.256615
2025-11-03T09:31:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7460255 -24.256615
2025-11-03T09:31:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7460255 -24.256615
2025-11-03T09:31:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7460255 -24.256615
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7460255;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76579;2460982.81350028;9.52398167;1.3;_14.7214893721658 -24.1476369060231
2025-11-03T09:31:26.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7214893721658     dec_j2k = -24.1476369060231
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967452728376243;171.162346601491;_
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967452728376243;171.162346601491;_
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49573)
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:26.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:26.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:26.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:26.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81350024, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967452728376243, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7460255, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76579, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7214893721658, telescope_dec_j2k=-24.1476369060231, observability=1)
2025-11-03T09:31:26.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:26
2025-11-03T09:31:26.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:26.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025550127029418945s
2025-11-03T09:31:26.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025550127029418945
2025-11-03T09:31:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:26
2025-11-03T09:31:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32931995391845703s
2025-11-03T09:31:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32931995391845703
2025-11-03T09:31:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:28
2025-11-03T09:31:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3285951614379883s
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7466609;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76643;2460982.81352741;9.52461528;1.3;_
2025-11-03T09:31:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7466609;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76643;2460982.81352741;9.52461528;1.3;_
2025-11-03T09:31:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7466609, teldec = -24.256615
2025-11-03T09:31:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7466609 -24.256615
2025-11-03T09:31:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7466609 -24.256615
2025-11-03T09:31:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7466609 -24.256615
2025-11-03T09:31:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7466609;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76643;2460982.81352743;9.52461528;1.3;_14.7221242232587 -24.1476519664374
2025-11-03T09:31:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7221242232587     dec_j2k = -24.1476519664374
2025-11-03T09:31:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967450321659675;171.162362694745;_
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967450321659675;171.162362694745;_
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57911)
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:28.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:28.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:28.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81352741, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967450321659675, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7466609, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7221242232587, telescope_dec_j2k=-24.1476519664374, observability=1)
2025-11-03T09:31:30.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:30
2025-11-03T09:31:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9709031581878662s
2025-11-03T09:31:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:30.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7472214;-24.256609;50.108575;89.993043;50.08601;90.12016;11.76699;2460982.81355044;9.52517444;1.3;_
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7472214;-24.256609;50.108575;89.993043;50.08601;90.12016;11.76699;2460982.81355044;9.52517444;1.3;_
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:30.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7472214, teldec = -24.256609
2025-11-03T09:31:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7472214 -24.256609
2025-11-03T09:31:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7472214 -24.256609
2025-11-03T09:31:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7472214 -24.256609
2025-11-03T09:31:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7472214;-24.256609;50.108575;89.993043;50.08601;90.12016;11.76699;2460982.81355047;9.52517444;1.3;_14.72268423987 -24.1476592541465
2025-11-03T09:31:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.72268423987     dec_j2k = -24.1476592541465
2025-11-03T09:31:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967452327256815;171.162357330327;_
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967452327256815;171.162357330327;_
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48683)
2025-11-03T09:31:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:30.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81355044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967452327256815, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993043, telescope_ra=14.7472214, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76699, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.72268423987, telescope_dec_j2k=-24.1476592541465, observability=1)
2025-11-03T09:31:32.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:32
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5872206687927246s
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7476698;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76744;2460982.81356903;9.52562139;1.3;_
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7476698;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76744;2460982.81356903;9.52562139;1.3;_
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7476698, teldec = -24.256615
2025-11-03T09:31:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7476698 -24.256615
2025-11-03T09:31:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7476698 -24.256615
2025-11-03T09:31:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7476698 -24.256615
2025-11-03T09:31:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7476698;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76744;2460982.81356905;9.52562139;1.3;_14.7231322518277 -24.1476758859244
2025-11-03T09:31:32.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7231322518277     dec_j2k = -24.1476758859244
2025-11-03T09:31:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967449118301391;171.162351965909;_
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967449118301391;171.162351965909;_
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40009)
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:32.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:32.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:32.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81356903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967449118301391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7476698, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76744, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7231322518277, telescope_dec_j2k=-24.1476758859244, observability=1)
2025-11-03T09:31:32.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:32
2025-11-03T09:31:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:32.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.020865917205810547s
2025-11-03T09:31:32.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.020865917205810547
2025-11-03T09:31:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:32
2025-11-03T09:31:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3832130432128906s
2025-11-03T09:31:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3832130432128906
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 2.058486223220825s
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:34.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:34.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:34.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7482572;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76802;2460982.81359302;9.52620722;1.3;_
2025-11-03T09:31:34.437 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.7482572;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76802;2460982.81359302;9.52620722;1.3;_
2025-11-03T09:31:34.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:34.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:34.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:34.438 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:34.438 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:34.438 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.7482572, teldec = -24.256615
2025-11-03T09:31:34.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7482572 -24.256615
2025-11-03T09:31:34.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7482572 -24.256615
2025-11-03T09:31:34.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7482572 -24.256615
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7482572;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76802;2460982.81359304;9.52620722;1.3;_14.7237191445404 -24.1476898158351
2025-11-03T09:31:34.440 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.7237191445404     dec_j2k = -24.1476898158351
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967453129495671;171.162362694745;_
2025-11-03T09:31:34.440 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967453129495671;171.162362694745;_
2025-11-03T09:31:34.441 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:34.441 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:34.441 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:34.441 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:34.442 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44767)
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:34.447 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:34.455 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:34.455 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81359302, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967453129495671, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7482572, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7237191445404, telescope_dec_j2k=-24.1476898158351, observability=1)
2025-11-03T09:31:34.502 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:34
2025-11-03T09:31:34.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:34.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04720568656921387s
2025-11-03T09:31:34.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04720568656921387
2025-11-03T09:31:34.525 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:34
2025-11-03T09:31:34.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:34.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0702662467956543s
2025-11-03T09:31:34.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0702662467956543
2025-11-03T09:31:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:34
2025-11-03T09:31:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3062403202056885s
2025-11-03T09:31:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3062403202056885
2025-11-03T09:31:36.160 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.160 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.160 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:36.160 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:36.160 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:31:36.161 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:36.162 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:36.163 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:31:36.164 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:36.165 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:36.166 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.166 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:36.166 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:36.166 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Park
2025-11-03T09:31:36.166 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:31:36.167 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:31:36.167 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 29;14.748724;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76849;2460982.81361304;9.52667278;1.3;_Park Command Successful
2025-11-03T09:31:36.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:36
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9627528190612793s
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:36.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7488082;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76857;2460982.81361597;9.52675667;1.3;_
2025-11-03T09:31:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7488082;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76857;2460982.81361597;9.52675667;1.3;_
2025-11-03T09:31:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:36.421 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7488082, teldec = -24.256615
2025-11-03T09:31:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7488082 -24.256615
2025-11-03T09:31:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7488082 -24.256615
2025-11-03T09:31:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7488082 -24.256615
2025-11-03T09:31:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7488082;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76857;2460982.813616;9.52675667;1.3;_14.7242696687394 -24.1477028849109
2025-11-03T09:31:36.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7242696687394     dec_j2k = -24.1477028849109
2025-11-03T09:31:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967452327256815;171.162351965909;_
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967452327256815;171.162351965909;_
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33441)
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:36.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:36.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81361597, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967452327256815, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7488082, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76857, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7242696687394, telescope_dec_j2k=-24.1477028849109, observability=1)
2025-11-03T09:31:36.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:36
2025-11-03T09:31:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022132396697998047s
2025-11-03T09:31:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022132396697998047
2025-11-03T09:31:36.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:36
2025-11-03T09:31:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3192574977874756s
2025-11-03T09:31:36.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3192574977874756
2025-11-03T09:31:37.167 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:31:37.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:31:37.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:31:37.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:31:37.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:31:38.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:31:38.168 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:31:38.169 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:31:38.169 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:31:38.169 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:31:38.875 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:38
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.43827486038208s
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:38.876 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:38.877 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7494808;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76925;2460982.81364441;9.5274275;1.3;_
2025-11-03T09:31:38.878 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7494808;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76925;2460982.81364441;9.5274275;1.3;_
2025-11-03T09:31:38.878 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:38.878 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:38.878 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:38.879 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:38.879 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:38.879 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7494808, teldec = -24.256615
2025-11-03T09:31:38.879 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7494808 -24.256615
2025-11-03T09:31:38.879 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7494808 -24.256615
2025-11-03T09:31:38.879 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7494808 -24.256615
2025-11-03T09:31:38.880 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7494808;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76925;2460982.81364444;9.5274275;1.3;_14.7249416880005 -24.1477188413103
2025-11-03T09:31:38.880 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7249416880005     dec_j2k = -24.1477188413103
2025-11-03T09:31:38.880 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:38.880 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:38.880 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967453530615099;171.162357330327;_
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967453530615099;171.162357330327;_
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:38.881 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:38.882 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:38.883 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:38.883 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:38.883 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41213)
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:38.887 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:38.894 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:38.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:38.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81364441, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967453530615099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7494808, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76925, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7249416880005, telescope_dec_j2k=-24.1477188413103, observability=1)
2025-11-03T09:31:39.169 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:31:39.170 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:31:39.170 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:31:39.171 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:31:39.171 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Status age = 1.0866918563842773s
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:39.981 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:39.982 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 17;14.7497886;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76956;2460982.81365721;9.52773444;1.3;_
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response 17;14.7497886;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76956;2460982.81365721;9.52773444;1.3;_
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:39.983 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:39.984 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:39.984 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:39.984 [INFO] [Thread-88664 (handle)] [driver.py] [get_status()] Telra = 14.7497886, teldec = -24.256615
2025-11-03T09:31:39.984 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7497886 -24.256615
2025-11-03T09:31:39.984 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7497886 -24.256615
2025-11-03T09:31:39.985 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7497886 -24.256615
2025-11-03T09:31:39.985 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 17;14.7497886;-24.256615;50.108575;89.993054;50.08601;90.12017;11.76956;2460982.81365723;9.52773444;1.3;_14.725249222263 -24.147726144533
2025-11-03T09:31:39.986 [INFO] [Thread-88664 (handle)] [driver.py] [get_status()] ra_j2k = 14.725249222263     dec_j2k = -24.147726144533
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 140;0.096745754180938;171.162362694745;_
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response 140;0.096745754180938;171.162362694745;_
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:39.986 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:39.987 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:39.988 [DEBUG] [Thread-88664 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:39.988 [DEBUG] [Thread-88664 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:39.988 [DEBUG] [Thread-88664 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52459)
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:39.995 [DEBUG] [Thread-88664 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:40.002 [DEBUG] [Thread-88664 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:40.002 [INFO] [Thread-88664 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81365721, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096745754180938, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7497886, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.76956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.725249222263, telescope_dec_j2k=-24.147726144533, observability=1)
2025-11-03T09:31:40.171 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:31:40.171 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:31:40.171 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:40.172 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:31:40.173 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:31:40.174 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:40.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:40
2025-11-03T09:31:40.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7550849914550781s
2025-11-03T09:31:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7550849914550781
2025-11-03T09:31:41.174 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:41.174 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:41.175 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:41.175 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:41.175 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:31:41.176 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:31:41.177 [DEBUG] [ThreadPoolExecutor-3406_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:41.177 [INFO] [ThreadPoolExecutor-3406_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:31:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:42
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.759370803833008s
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7505635;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77033;2460982.8136894;9.52850722;1.3;_
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7505635;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77033;2460982.8136894;9.52850722;1.3;_
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7505635, teldec = -24.256615
2025-11-03T09:31:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7505635 -24.256615
2025-11-03T09:31:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7505635 -24.256615
2025-11-03T09:31:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7505635 -24.256615
2025-11-03T09:31:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7505635;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77033;2460982.81368942;9.52850722;1.3;_14.7260234533251 -24.1477445338902
2025-11-03T09:31:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7260234533251     dec_j2k = -24.1477445338902
2025-11-03T09:31:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967452728376243;171.162357330327;_
2025-11-03T09:31:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967452728376243;171.162357330327;_
2025-11-03T09:31:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58353)
2025-11-03T09:31:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:42.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:42.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8136894, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967452728376243, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7505635, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77033, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7260234533251, telescope_dec_j2k=-24.1477445338902, observability=1)
2025-11-03T09:31:44.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:44
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9763319492340088s
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:44.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7511242;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77089;2460982.8137125;9.52906639;1.3;_
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7511242;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77089;2460982.8137125;9.52906639;1.3;_
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:44.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7511242, teldec = -24.256615
2025-11-03T09:31:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7511242 -24.256615
2025-11-03T09:31:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7511242 -24.256615
2025-11-03T09:31:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7511242 -24.256615
2025-11-03T09:31:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7511242;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77089;2460982.81371252;9.52906639;1.3;_14.7265836693574 -24.1477578428429
2025-11-03T09:31:44.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7265836693574     dec_j2k = -24.1477578428429
2025-11-03T09:31:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967453129495671;171.162362694745;_
2025-11-03T09:31:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967453129495671;171.162362694745;_
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42497)
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:44.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:44.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8137125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967453129495671, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7511242, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77089, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7265836693574, telescope_dec_j2k=-24.1477578428429, observability=1)
2025-11-03T09:31:46.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:46
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6408588886260986s
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7515997;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77137;2460982.81373175;9.52954056;1.3;_
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7515997;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77137;2460982.81373175;9.52954056;1.3;_
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:46.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7515997, teldec = -24.256615
2025-11-03T09:31:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7515997 -24.256615
2025-11-03T09:31:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7515997 -24.256615
2025-11-03T09:31:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7515997 -24.256615
2025-11-03T09:31:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7515997;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77137;2460982.81373177;9.52954056;1.3;_14.7270587589698 -24.1477691313248
2025-11-03T09:31:46.426 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7270587589698     dec_j2k = -24.1477691313248
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967449519420819;171.162362694745;_
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967449519420819;171.162362694745;_
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:46.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:46.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:46.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54597)
2025-11-03T09:31:46.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:46.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:46.436 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:46.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:46.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:46.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81373175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967449519420819, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7515997, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7270587589698, telescope_dec_j2k=-24.1477691313248, observability=1)
2025-11-03T09:31:46.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:46
2025-11-03T09:31:46.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:46.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0216219425201416s
2025-11-03T09:31:46.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0216219425201416
2025-11-03T09:31:46.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:46
2025-11-03T09:31:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3255491256713867s
2025-11-03T09:31:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3255491256713867
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Status age = 1.7939250469207764s
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:48.237 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:48.238 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:48.239 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 17;14.7520946;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77186;2460982.81375277;9.53003417;1.3;_
2025-11-03T09:31:48.239 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response 17;14.7520946;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77186;2460982.81375277;9.53003417;1.3;_
2025-11-03T09:31:48.239 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:48.239 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:48.239 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:48.240 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:48.240 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:48.240 [INFO] [Thread-88665 (handle)] [driver.py] [get_status()] Telra = 14.7520946, teldec = -24.256615
2025-11-03T09:31:48.240 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7520946 -24.256615
2025-11-03T09:31:48.240 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7520946 -24.256615
2025-11-03T09:31:48.240 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7520946 -24.256615
2025-11-03T09:31:48.241 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 17;14.7520946;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77186;2460982.81375279;9.53003417;1.3;_14.7275532318777 -24.1477808821832
2025-11-03T09:31:48.241 [INFO] [Thread-88665 (handle)] [driver.py] [get_status()] ra_j2k = 14.7275532318777     dec_j2k = -24.1477808821832
2025-11-03T09:31:48.241 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:48.241 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:48.241 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 140;0.096745553621224;171.162362694745;_
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response 140;0.096745553621224;171.162362694745;_
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:48.242 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:48.243 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:48.244 [DEBUG] [Thread-88665 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:48.244 [DEBUG] [Thread-88665 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:48.244 [DEBUG] [Thread-88665 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40863)
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:48.247 [DEBUG] [Thread-88665 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:48.254 [DEBUG] [Thread-88665 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:48.254 [DEBUG] [Thread-88665 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:48.255 [DEBUG] [Thread-88665 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:48.255 [INFO] [Thread-88665 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81375277, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096745553621224, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7520946, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77186, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7275532318777, telescope_dec_j2k=-24.1477808821832, observability=1)
2025-11-03T09:31:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:48
2025-11-03T09:31:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5034589767456055s
2025-11-03T09:31:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5034589767456055
2025-11-03T09:31:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:50
2025-11-03T09:31:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5025100708007812s
2025-11-03T09:31:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7527954;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77256;2460982.81378194;9.53073306;1.3;_
2025-11-03T09:31:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7527954;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77256;2460982.81378194;9.53073306;1.3;_
2025-11-03T09:31:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:50.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7527954, teldec = -24.256615
2025-11-03T09:31:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7527954 -24.256615
2025-11-03T09:31:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7527954 -24.256615
2025-11-03T09:31:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7527954 -24.256615
2025-11-03T09:31:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7527954;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77256;2460982.81378197;9.53073306;1.3;_14.7282534271643 -24.1477975250798
2025-11-03T09:31:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7282534271643     dec_j2k = -24.1477975250798
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967451525017959;171.162357330327;_
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967451525017959;171.162357330327;_
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48453)
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:50.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:50.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81378194, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967451525017959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7527954, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77256, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7282534271643, telescope_dec_j2k=-24.1477975250798, observability=1)
2025-11-03T09:31:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:52
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981447458267212s
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7533553;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77312;2460982.81380509;9.53129139;1.3;_
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7533553;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77312;2460982.81380509;9.53129139;1.3;_
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7533553, teldec = -24.256615
2025-11-03T09:31:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7533553 -24.256615
2025-11-03T09:31:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7533553 -24.256615
2025-11-03T09:31:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7533553 -24.256615
2025-11-03T09:31:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7533553;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77312;2460982.81380512;9.53129139;1.3;_14.7288128440893 -24.1478108244917
2025-11-03T09:31:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7288128440893     dec_j2k = -24.1478108244917
2025-11-03T09:31:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967452728376243;171.162346601491;_
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967452728376243;171.162346601491;_
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:52.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60135)
2025-11-03T09:31:52.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:52.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:52.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:52.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81380509, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967452728376243, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7533553, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77312, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7288128440893, telescope_dec_j2k=-24.1478108244917, observability=1)
2025-11-03T09:31:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:54
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9863064289093018s
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7539063;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77367;2460982.81382828;9.53184083;1.3;_
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7539063;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77367;2460982.81382828;9.53184083;1.3;_
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7539063, teldec = -24.256615
2025-11-03T09:31:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7539063 -24.256615
2025-11-03T09:31:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7539063 -24.256615
2025-11-03T09:31:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7539063 -24.256615
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7539063;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77367;2460982.81382831;9.53184083;1.3;_14.7293633687427 -24.147823914814
2025-11-03T09:31:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7293633687427     dec_j2k = -24.147823914814
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967456739570524;171.162357330327;_
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967456739570524;171.162357330327;_
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49939)
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:54.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:54.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:54.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81382828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967456739570524, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7539063, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77367, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7293633687427, telescope_dec_j2k=-24.147823914814, observability=1)
2025-11-03T09:31:55.006 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:55
2025-11-03T09:31:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22868800163269043s
2025-11-03T09:31:55.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22868800163269043
2025-11-03T09:31:55.030 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:55
2025-11-03T09:31:55.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:55.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2524704933166504s
2025-11-03T09:31:55.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2524704933166504
2025-11-03T09:31:56.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:56
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6428618431091309s
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:56.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7543828;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77415;2460982.81384748;9.53231611;1.3;_
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7543828;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77415;2460982.81384748;9.53231611;1.3;_
2025-11-03T09:31:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:56.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7543828, teldec = -24.256615
2025-11-03T09:31:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7543828 -24.256615
2025-11-03T09:31:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7543828 -24.256615
2025-11-03T09:31:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7543828 -24.256615
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7543828;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77415;2460982.81384751;9.53231611;1.3;_14.7298394577067 -24.1478352370611
2025-11-03T09:31:56.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7298394577067     dec_j2k = -24.1478352370611
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967463157481373;171.162362694745;_
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967463157481373;171.162362694745;_
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:31:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43425)
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:56.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:56.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:56.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:56.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:56.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:56.438 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:56.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:56.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81384748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967463157481373, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7543828, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77415, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7298394577067, telescope_dec_j2k=-24.1478352370611, observability=1)
2025-11-03T09:31:56.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:56
2025-11-03T09:31:56.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:56.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02401280403137207s
2025-11-03T09:31:56.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02401280403137207
2025-11-03T09:31:56.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:56
2025-11-03T09:31:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.318709135055542s
2025-11-03T09:31:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.318709135055542
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5052471160888672s
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:31:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:31:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:31:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:31:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7548029;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77457;2460982.8138651;9.532735;1.3;_
2025-11-03T09:31:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.7548029;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77457;2460982.8138651;9.532735;1.3;_
2025-11-03T09:31:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:31:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:31:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:31:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:31:57.947 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.7548029, teldec = -24.256615
2025-11-03T09:31:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7548029 -24.256615
2025-11-03T09:31:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7548029 -24.256615
2025-11-03T09:31:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7548029 -24.256615
2025-11-03T09:31:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7548029;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77457;2460982.81386514;9.532735;1.3;_14.7302591953527 -24.1478452205958
2025-11-03T09:31:57.948 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.7302591953527     dec_j2k = -24.1478452205958
2025-11-03T09:31:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:31:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:31:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967462355242517;171.162362694745;_
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967462355242517;171.162362694745;_
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:31:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57175)
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:31:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:31:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:31:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:57.960 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:31:57.960 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:31:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:31:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:31:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:31:57.961 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:31:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:31:57.961 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8138651, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967462355242517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7548029, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77457, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7302591953527, telescope_dec_j2k=-24.1478452205958, observability=1)
2025-11-03T09:31:58.125 [DEBUG] [Thread-88666 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:58.125 [DEBUG] [Thread-88666 (handle)] [server.py] [get_status()] Status age = 0.16416025161743164s
2025-11-03T09:31:58.125 [DEBUG] [Thread-88666 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16416025161743164
2025-11-03T09:31:58.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:31:58
2025-11-03T09:31:58.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:31:58.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8272669315338135s
2025-11-03T09:31:58.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8272669315338135
2025-11-03T09:32:00.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:00
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7962515354156494s
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7555772;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77534;2460982.81389767;9.53350722;1.3;_
2025-11-03T09:32:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7555772;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77534;2460982.81389767;9.53350722;1.3;_
2025-11-03T09:32:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7555772, teldec = -24.256615
2025-11-03T09:32:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7555772 -24.256615
2025-11-03T09:32:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7555772 -24.256615
2025-11-03T09:32:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7555772 -24.256615
2025-11-03T09:32:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7555772;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77534;2460982.8138977;9.53350722;1.3;_14.7310328275611 -24.1478636250686
2025-11-03T09:32:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7310328275611     dec_j2k = -24.1478636250686
2025-11-03T09:32:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967465163078513;171.162368059163;_
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967465163078513;171.162368059163;_
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37037)
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:00.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:00.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81389767, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967465163078513, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7555772, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77534, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7310328275611, telescope_dec_j2k=-24.1478636250686, observability=1)
2025-11-03T09:32:01.631 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:01
2025-11-03T09:32:01.631 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:01.631 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8539819717407227s
2025-11-03T09:32:01.631 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8539819717407227
2025-11-03T09:32:01.653 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:01
2025-11-03T09:32:01.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:01.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8760206699371338s
2025-11-03T09:32:01.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8760206699371338
2025-11-03T09:32:02.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:02
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9886860847473145s
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7561379;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7759;2460982.81392093;9.53406639;1.3;_
2025-11-03T09:32:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7561379;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7759;2460982.81392093;9.53406639;1.3;_
2025-11-03T09:32:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7561379, teldec = -24.256615
2025-11-03T09:32:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7561379 -24.256615
2025-11-03T09:32:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7561379 -24.256615
2025-11-03T09:32:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7561379 -24.256615
2025-11-03T09:32:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7561379;-24.256615;50.108575;89.993054;50.08601;90.12017;11.7759;2460982.81392095;9.53406639;1.3;_14.7315930440486 -24.1478769552735
2025-11-03T09:32:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7315930440486     dec_j2k = -24.1478769552735
2025-11-03T09:32:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967458745167664;171.162357330327;_
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967458745167664;171.162357330327;_
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55153)
2025-11-03T09:32:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81392093, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967458745167664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7561379, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7759, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7315930440486, telescope_dec_j2k=-24.1478769552735, observability=1)
2025-11-03T09:32:03.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:03
2025-11-03T09:32:03.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:03.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6690890789031982s
2025-11-03T09:32:03.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6690890789031982
2025-11-03T09:32:03.474 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:03
2025-11-03T09:32:03.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:03.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.690363883972168s
2025-11-03T09:32:03.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.690363883972168
2025-11-03T09:32:04.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:04
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9738001823425293s
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:04.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7566978;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77646;2460982.81394397;9.53462472;1.3;_
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7566978;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77646;2460982.81394397;9.53462472;1.3;_
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:04.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7566978, teldec = -24.256615
2025-11-03T09:32:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7566978 -24.256615
2025-11-03T09:32:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7566978 -24.256615
2025-11-03T09:32:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7566978 -24.256615
2025-11-03T09:32:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7566978;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77646;2460982.81394399;9.53462472;1.3;_14.7321524612767 -24.1478902688293
2025-11-03T09:32:04.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7321524612767     dec_j2k = -24.1478902688293
2025-11-03T09:32:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967459948525948;171.162357330327;_
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967459948525948;171.162357330327;_
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:04.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50715)
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:04.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:04.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:04.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81394397, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967459948525948, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7566978, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77646, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7321524612767, telescope_dec_j2k=-24.1478902688293, observability=1)
2025-11-03T09:32:05.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:05
2025-11-03T09:32:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.587277889251709s
2025-11-03T09:32:05.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.587277889251709
2025-11-03T09:32:05.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:05
2025-11-03T09:32:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:05.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6118607521057129s
2025-11-03T09:32:05.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6118607521057129
2025-11-03T09:32:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:06
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9865939617156982s
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7572487;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77702;2460982.81396716;9.53517417;1.3;_
2025-11-03T09:32:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7572487;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77702;2460982.81396716;9.53517417;1.3;_
2025-11-03T09:32:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7572487, teldec = -24.256615
2025-11-03T09:32:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7572487 -24.256615
2025-11-03T09:32:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7572487 -24.256615
2025-11-03T09:32:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7572487 -24.256615
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7572487;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77702;2460982.8139672;9.53517417;1.3;_14.7327028863147 -24.1479033706905
2025-11-03T09:32:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7327028863147     dec_j2k = -24.1479033706905
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967458745167664;171.162362694745;_
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967458745167664;171.162362694745;_
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:06.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59581)
2025-11-03T09:32:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:06.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:06.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:06.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:06.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81396716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967458745167664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7572487, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77702, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7327028863147, telescope_dec_j2k=-24.1479033706905, observability=1)
2025-11-03T09:32:08.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:08
2025-11-03T09:32:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9740400314331055s
2025-11-03T09:32:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:08.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:08.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:08.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7578094;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77758;2460982.81399027;9.53573333;1.3;_
2025-11-03T09:32:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7578094;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77758;2460982.81399027;9.53573333;1.3;_
2025-11-03T09:32:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:08.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7578094, teldec = -24.256615
2025-11-03T09:32:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7578094 -24.256615
2025-11-03T09:32:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7578094 -24.256615
2025-11-03T09:32:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7578094 -24.256615
2025-11-03T09:32:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7578094;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77758;2460982.81399029;9.53573333;1.3;_14.733263102954 -24.1479167079755
2025-11-03T09:32:08.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.733263102954     dec_j2k = -24.1479167079755
2025-11-03T09:32:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967463558600801;171.162362694745;_
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967463558600801;171.162362694745;_
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58381)
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:08.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81399027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967463558600801, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7578094, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77758, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.733263102954, telescope_dec_j2k=-24.1479167079755, observability=1)
2025-11-03T09:32:10.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:10
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5857315063476562s
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7582579;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77802;2460982.81400885;9.53618056;1.3;_
2025-11-03T09:32:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7582579;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77802;2460982.81400885;9.53618056;1.3;_
2025-11-03T09:32:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7582579, teldec = -24.256615
2025-11-03T09:32:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7582579 -24.256615
2025-11-03T09:32:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7582579 -24.256615
2025-11-03T09:32:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7582579 -24.256615
2025-11-03T09:32:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7582579;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77802;2460982.81400888;9.53618056;1.3;_14.7337112163539 -24.1479273780857
2025-11-03T09:32:10.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7337112163539     dec_j2k = -24.1479273780857
2025-11-03T09:32:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967462756361945;171.162351965909;_
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967462756361945;171.162351965909;_
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54913)
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:10.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:10.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81400885, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967462756361945, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7582579, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7337112163539, telescope_dec_j2k=-24.1479273780857, observability=1)
2025-11-03T09:32:10.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:10
2025-11-03T09:32:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0222017765045166s
2025-11-03T09:32:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0222017765045166
2025-11-03T09:32:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:10
2025-11-03T09:32:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37520933151245117s
2025-11-03T09:32:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37520933151245117
2025-11-03T09:32:11.964 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:32:11
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.580414056777954s
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:11.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:11.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:11.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7587058;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77847;2460982.81402738;9.53662722;1.3;_
2025-11-03T09:32:11.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7587058;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77847;2460982.81402738;9.53662722;1.3;_
2025-11-03T09:32:11.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:11.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:11.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:11.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:11.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:11.967 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7587058, teldec = -24.256615
2025-11-03T09:32:11.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7587058 -24.256615
2025-11-03T09:32:11.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7587058 -24.256615
2025-11-03T09:32:11.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7587058 -24.256615
2025-11-03T09:32:11.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7587058;-24.256615;50.108575;89.993054;50.08601;90.12017;11.77847;2460982.81402741;9.53662722;1.3;_14.7341587303036 -24.1479380354374
2025-11-03T09:32:11.968 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7341587303036     dec_j2k = -24.1479380354374
2025-11-03T09:32:11.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:11.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:11.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967461151884232;171.162357330327;_
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967461151884232;171.162357330327;_
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:11.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:11.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:11.971 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:11.971 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:11.971 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58133)
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:11.978 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:11.985 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:11.986 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:11.986 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81402738, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967461151884232, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108575, telescope_az=89.993054, telescope_ra=14.7587058, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77847, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7341587303036, telescope_dec_j2k=-24.1479380354374, observability=1)
2025-11-03T09:32:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:12
2025-11-03T09:32:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.374833345413208s
2025-11-03T09:32:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.374833345413208
2025-11-03T09:32:12.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:12
2025-11-03T09:32:12.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:12.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40717244148254395s
2025-11-03T09:32:12.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40717244148254395
2025-11-03T09:32:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:12
2025-11-03T09:32:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7778332233428955s
2025-11-03T09:32:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7778332233428955
2025-11-03T09:32:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:14
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3740153312683105s
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7593687;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77914;2460982.81405512;9.53728833;1.3;_
2025-11-03T09:32:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7593687;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77914;2460982.81405512;9.53728833;1.3;_
2025-11-03T09:32:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:14.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7593687, teldec = -24.256615
2025-11-03T09:32:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7593687 -24.256615
2025-11-03T09:32:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7593687 -24.256615
2025-11-03T09:32:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7593687 -24.256615
2025-11-03T09:32:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7593687;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77914;2460982.81405514;9.53728833;1.3;_14.7348210590019 -24.1479538112885
2025-11-03T09:32:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7348210590019     dec_j2k = -24.1479538112885
2025-11-03T09:32:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967463959720229;171.162362694745;_
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967463959720229;171.162362694745;_
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34353)
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:14.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:14.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81405512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967463959720229, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7593687, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77914, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:31:15.279462', telescope_ra_j2k=14.7348210590019, telescope_dec_j2k=-24.1479538112885, observability=1)
2025-11-03T09:32:14.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:14
2025-11-03T09:32:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022504329681396484s
2025-11-03T09:32:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022504329681396484
2025-11-03T09:32:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:14
2025-11-03T09:32:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3856213092803955s
2025-11-03T09:32:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3856213092803955
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.0383198261260986s
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:15.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:15.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:15.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.7596771;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77944;2460982.81406733;9.53759583;1.3;_
2025-11-03T09:32:15.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.7596771;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77944;2460982.81406733;9.53759583;1.3;_
2025-11-03T09:32:15.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:15.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:15.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:15.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:15.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:15.419 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.7596771, teldec = -24.256615
2025-11-03T09:32:15.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.7596771 -24.256615
2025-11-03T09:32:15.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.7596771 -24.256615
2025-11-03T09:32:15.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7596771 -24.256615
2025-11-03T09:32:15.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.7596771;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77944;2460982.81406736;9.53759583;1.3;_14.7351291932403 -24.1479611517956
2025-11-03T09:32:15.420 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.7351291932403     dec_j2k = -24.1479611517956
2025-11-03T09:32:15.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:15.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:15.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:15.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:15.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:15.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:15.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:15.421 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967465564197941;171.162357330327;_
2025-11-03T09:32:15.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:15.421 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967465564197941;171.162357330327;_
2025-11-03T09:32:15.421 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:15.421 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:15.421 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:15.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:15.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:15.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:15.422 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:15.422 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:15.422 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:15.422 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:15.423 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:15.423 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:32:15.424 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:15.424 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:15.424 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:15.424 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43057)
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:15.428 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:15.435 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:15.435 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:15.435 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:15.435 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:15.435 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:15.436 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:15.436 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:15.436 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:15.436 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:32:15.436 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81406733, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967465564197941, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7596771, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77944, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7351291932403, telescope_dec_j2k=-24.1479611517956, observability=1)
2025-11-03T09:32:15.436 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4719772338867188 seconds ago
2025-11-03T09:32:16.180 [DEBUG] [Thread-88667 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:16.180 [DEBUG] [Thread-88667 (handle)] [server.py] [get_status()] Status age = 0.7444825172424316s
2025-11-03T09:32:16.180 [DEBUG] [Thread-88667 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7444825172424316
2025-11-03T09:32:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:16
2025-11-03T09:32:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9252159595489502s
2025-11-03T09:32:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9252159595489502
2025-11-03T09:32:16.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:16
2025-11-03T09:32:16.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:16.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9484798908233643s
2025-11-03T09:32:16.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9484798908233643
2025-11-03T09:32:16.425 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:16.425 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:16.425 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:16.425 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:16.425 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:32:16.426 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:16.427 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:16.428 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:16.428 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:16.428 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:16.428 [DEBUG] [ThreadPoolExecutor-3408_0] [payload.py] [to_registers()] [0]
2025-11-03T09:32:16.433 [DEBUG] [ThreadPoolExecutor-3408_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33163)
2025-11-03T09:32:16.434 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:16.434 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:16.434 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:32:16.434 [DEBUG] [ThreadPoolExecutor-3408_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:16.434 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:16.441 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:16.441 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:32:16.442 [DEBUG] [ThreadPoolExecutor-3408_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:32:16.442 [DEBUG] [ThreadPoolExecutor-3408_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:32:16.442 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:16.442 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:16.442 [DEBUG] [ThreadPoolExecutor-3408_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:16.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:16
2025-11-03T09:32:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3377947807312012s
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7600411;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77981;2460982.81408304;9.53795889;1.3;_
2025-11-03T09:32:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7600411;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77981;2460982.81408304;9.53795889;1.3;_
2025-11-03T09:32:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:16.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7600411, teldec = -24.256615
2025-11-03T09:32:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7600411 -24.256615
2025-11-03T09:32:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7600411 -24.256615
2025-11-03T09:32:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7600411 -24.256615
2025-11-03T09:32:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7600411;-24.256615;50.108574;89.993054;50.08601;90.12017;11.77981;2460982.81408308;9.53795889;1.3;_14.7354928795857 -24.1479698166123
2025-11-03T09:32:16.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7354928795857     dec_j2k = -24.1479698166123
2025-11-03T09:32:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967467970914509;171.162362694745;_
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967467970914509;171.162362694745;_
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47697)
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:16.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:16.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:16.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:16.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81408304, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967467970914509, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7600411, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.77981, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7354928795857, telescope_dec_j2k=-24.1479698166123, observability=1)
2025-11-03T09:32:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:18
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.570343255996704s
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7604887;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78026;2460982.81410141;9.53840528;1.3;_
2025-11-03T09:32:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7604887;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78026;2460982.81410141;9.53840528;1.3;_
2025-11-03T09:32:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7604887, teldec = -24.256615
2025-11-03T09:32:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7604887 -24.256615
2025-11-03T09:32:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7604887 -24.256615
2025-11-03T09:32:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7604887 -24.256615
2025-11-03T09:32:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7604887;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78026;2460982.81410144;9.53840528;1.3;_14.7359400939235 -24.1479804728516
2025-11-03T09:32:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7359400939235     dec_j2k = -24.1479804728516
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967465163078513;171.162362694745;_
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967465163078513;171.162362694745;_
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60473)
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:18.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:18.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81410141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967465163078513, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7604887, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78026, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7359400939235, telescope_dec_j2k=-24.1479804728516, observability=1)
2025-11-03T09:32:18.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:18
2025-11-03T09:32:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022691726684570312s
2025-11-03T09:32:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022691726684570312
2025-11-03T09:32:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:18
2025-11-03T09:32:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3898615837097168s
2025-11-03T09:32:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3898615837097168
2025-11-03T09:32:20.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:20
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.031848907470703s
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:20.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7610678;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78083;2460982.81412512;9.53898278;1.3;_
2025-11-03T09:32:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7610678;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78083;2460982.81412512;9.53898278;1.3;_
2025-11-03T09:32:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:20.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7610678, teldec = -24.256615
2025-11-03T09:32:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7610678 -24.256615
2025-11-03T09:32:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7610678 -24.256615
2025-11-03T09:32:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7610678 -24.256615
2025-11-03T09:32:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7610678;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78083;2460982.81412515;9.53898278;1.3;_14.7365186950061 -24.1479942620217
2025-11-03T09:32:20.413 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7365186950061     dec_j2k = -24.1479942620217
2025-11-03T09:32:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967468372033937;171.162357330327;_
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967468372033937;171.162357330327;_
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:20.422 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54485)
2025-11-03T09:32:20.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:20.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:20.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:20.423 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:20.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:20.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:20.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81412512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967468372033937, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7610678, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78083, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7365186950061, telescope_dec_j2k=-24.1479942620217, observability=1)
2025-11-03T09:32:20.452 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:20
2025-11-03T09:32:20.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:20.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022113323211669922s
2025-11-03T09:32:20.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022113323211669922
2025-11-03T09:32:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:20
2025-11-03T09:32:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3309922218322754s
2025-11-03T09:32:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3309922218322754
2025-11-03T09:32:22.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:22
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9309470653533936s
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7616004;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78137;2460982.81414772;9.53951389;1.3;_
2025-11-03T09:32:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7616004;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78137;2460982.81414772;9.53951389;1.3;_
2025-11-03T09:32:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:22.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7616004, teldec = -24.256615
2025-11-03T09:32:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7616004 -24.256615
2025-11-03T09:32:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7616004 -24.256615
2025-11-03T09:32:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7616004 -24.256615
2025-11-03T09:32:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7616004;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78137;2460982.81414774;9.53951389;1.3;_14.7370508361983 -24.148006946197
2025-11-03T09:32:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7370508361983     dec_j2k = -24.148006946197
2025-11-03T09:32:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967463558600801;171.162362694745;_
2025-11-03T09:32:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967463558600801;171.162362694745;_
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38925)
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:22.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:22.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:22.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81414772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967463558600801, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7616004, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7370508361983, telescope_dec_j2k=-24.148006946197, observability=1)
2025-11-03T09:32:22.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:22
2025-11-03T09:32:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021893739700317383s
2025-11-03T09:32:22.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021893739700317383
2025-11-03T09:32:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:22
2025-11-03T09:32:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.380307674407959s
2025-11-03T09:32:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.380307674407959
2025-11-03T09:32:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:24
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819815158843994s
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.76216;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78193;2460982.81417087;9.54007194;1.3;_
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.76216;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78193;2460982.81417087;9.54007194;1.3;_
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.76216, teldec = -24.256615
2025-11-03T09:32:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.76216 -24.256615
2025-11-03T09:32:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.76216 -24.256615
2025-11-03T09:32:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.76216 -24.256615
2025-11-03T09:32:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.76216;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78193;2460982.81417089;9.54007194;1.3;_14.7376099541811 -24.1480202756991
2025-11-03T09:32:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7376099541811     dec_j2k = -24.1480202756991
2025-11-03T09:32:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967473185467074;171.162357330327;_
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967473185467074;171.162357330327;_
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42111)
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81417087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967473185467074, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.76216, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7376099541811, telescope_dec_j2k=-24.1480202756991, observability=1)
2025-11-03T09:32:24.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:24
2025-11-03T09:32:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02196478843688965s
2025-11-03T09:32:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02196478843688965
2025-11-03T09:32:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:24
2025-11-03T09:32:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38089799880981445s
2025-11-03T09:32:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38089799880981445
2025-11-03T09:32:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:26
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980210542678833s
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7627112;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78248;2460982.81419402;9.54062167;1.3;_
2025-11-03T09:32:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7627112;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78248;2460982.81419402;9.54062167;1.3;_
2025-11-03T09:32:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7627112, teldec = -24.256615
2025-11-03T09:32:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7627112 -24.256615
2025-11-03T09:32:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7627112 -24.256615
2025-11-03T09:32:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7627112 -24.256615
2025-11-03T09:32:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7627112;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78248;2460982.81419404;9.54062167;1.3;_14.738160679449 -24.1480334074257
2025-11-03T09:32:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.738160679449     dec_j2k = -24.1480334074257
2025-11-03T09:32:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967470778750506;171.162357330327;_
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967470778750506;171.162357330327;_
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58027)
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:26.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:26.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81419402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967470778750506, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7627112, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.738160679449, telescope_dec_j2k=-24.1480334074257, observability=1)
2025-11-03T09:32:26.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:26
2025-11-03T09:32:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022964000701904297s
2025-11-03T09:32:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022964000701904297
2025-11-03T09:32:26.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:26
2025-11-03T09:32:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3765716552734375s
2025-11-03T09:32:26.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3765716552734375
2025-11-03T09:32:28.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:28
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0423195362091064s
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:28.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:28.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:28.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7633006;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78307;2460982.81421788;9.54120944;1.3;_
2025-11-03T09:32:28.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7633006;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78307;2460982.81421788;9.54120944;1.3;_
2025-11-03T09:32:28.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:28.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:28.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:28.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:28.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:28.426 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7633006, teldec = -24.256615
2025-11-03T09:32:28.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7633006 -24.256615
2025-11-03T09:32:28.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7633006 -24.256615
2025-11-03T09:32:28.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7633006 -24.256615
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7633006;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78307;2460982.8142179;9.54120944;1.3;_14.7387495718709 -24.1480474517607
2025-11-03T09:32:28.428 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7387495718709     dec_j2k = -24.1480474517607
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967473185467074;171.162357330327;_
2025-11-03T09:32:28.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967473185467074;171.162357330327;_
2025-11-03T09:32:28.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:28.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:28.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:28.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:28.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:28.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:28.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:28.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:28.436 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56269)
2025-11-03T09:32:28.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:28.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:28.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:28.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:28.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:28.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:28.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81421788, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967473185467074, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7633006, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78307, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7387495718709, telescope_dec_j2k=-24.1480474517607, observability=1)
2025-11-03T09:32:28.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:28
2025-11-03T09:32:28.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:28.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02221059799194336s
2025-11-03T09:32:28.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02221059799194336
2025-11-03T09:32:28.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:28
2025-11-03T09:32:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3133583068847656s
2025-11-03T09:32:28.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3133583068847656
2025-11-03T09:32:30.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:30
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.314500093460083s
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.763944;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78371;2460982.81424492;9.54185111;1.3;_
2025-11-03T09:32:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.763944;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78371;2460982.81424492;9.54185111;1.3;_
2025-11-03T09:32:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:30.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.763944, teldec = -24.256615
2025-11-03T09:32:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.763944 -24.256615
2025-11-03T09:32:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.763944 -24.256615
2025-11-03T09:32:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.763944 -24.256615
2025-11-03T09:32:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.763944;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78371;2460982.81424494;9.54185111;1.3;_14.7393924178538 -24.1480627858098
2025-11-03T09:32:30.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7393924178538     dec_j2k = -24.1480627858098
2025-11-03T09:32:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967471179869934;171.162357330327;_
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967471179869934;171.162357330327;_
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39517)
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81424492, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967471179869934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.763944, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78371, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7393924178538, telescope_dec_j2k=-24.1480627858098, observability=1)
2025-11-03T09:32:31.542 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:31
2025-11-03T09:32:31.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:31.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7657792568206787s
2025-11-03T09:32:31.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7657792568206787
2025-11-03T09:32:31.566 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:31
2025-11-03T09:32:31.567 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:31.567 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7902679443359375s
2025-11-03T09:32:31.567 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7902679443359375
2025-11-03T09:32:32.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:32
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981661319732666s
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:32.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7644952;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78426;2460982.81426806;9.54240083;1.3;_
2025-11-03T09:32:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7644952;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78426;2460982.81426806;9.54240083;1.3;_
2025-11-03T09:32:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:32.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7644952, teldec = -24.256615
2025-11-03T09:32:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7644952 -24.256615
2025-11-03T09:32:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7644952 -24.256615
2025-11-03T09:32:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7644952 -24.256615
2025-11-03T09:32:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7644952;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78426;2460982.81426808;9.54240083;1.3;_14.7399431432815 -24.1480759249544
2025-11-03T09:32:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7399431432815     dec_j2k = -24.1480759249544
2025-11-03T09:32:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967469174272794;171.162351965909;_
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967469174272794;171.162351965909;_
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57733)
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:32.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81426806, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967469174272794, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7644952, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78426, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7399431432815, telescope_dec_j2k=-24.1480759249544, observability=1)
2025-11-03T09:32:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:33
2025-11-03T09:32:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5860345363616943s
2025-11-03T09:32:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5860345363616943
2025-11-03T09:32:33.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:33
2025-11-03T09:32:33.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:33.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6107058525085449s
2025-11-03T09:32:33.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6107058525085449
2025-11-03T09:32:33.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:33.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.7697834968566895s
2025-11-03T09:32:33.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7697834968566895
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Status age = 1.4737694263458252s
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:34.249 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:34.250 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:34.251 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 17;14.7649155;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78468;2460982.81428531;9.54282;1.3;_
2025-11-03T09:32:34.251 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response 17;14.7649155;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78468;2460982.81428531;9.54282;1.3;_
2025-11-03T09:32:34.251 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:34.251 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:34.251 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:34.252 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:34.252 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:34.252 [INFO] [Thread-88668 (handle)] [driver.py] [get_status()] Telra = 14.7649155, teldec = -24.256615
2025-11-03T09:32:34.253 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7649155 -24.256615
2025-11-03T09:32:34.253 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7649155 -24.256615
2025-11-03T09:32:34.253 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7649155 -24.256615
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 17;14.7649155;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78468;2460982.81428534;9.54282;1.3;_14.7403630814446 -24.1480859453303
2025-11-03T09:32:34.254 [INFO] [Thread-88668 (handle)] [driver.py] [get_status()] ra_j2k = 14.7403630814446     dec_j2k = -24.1480859453303
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 140;0.096747198210879;171.162351965909;_
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response 140;0.096747198210879;171.162351965909;_
2025-11-03T09:32:34.254 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:34.255 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:34.255 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:34.255 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:34.256 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:34.257 [DEBUG] [Thread-88668 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:34.257 [DEBUG] [Thread-88668 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:34.257 [DEBUG] [Thread-88668 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50597)
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:34.263 [DEBUG] [Thread-88668 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:34.270 [DEBUG] [Thread-88668 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:34.271 [INFO] [Thread-88668 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81428531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096747198210879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7649155, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7403630814446, telescope_dec_j2k=-24.1480859453303, observability=1)
2025-11-03T09:32:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:34
2025-11-03T09:32:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4894077777862549s
2025-11-03T09:32:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4894077777862549
2025-11-03T09:32:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:35
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0900442600250244s
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:35.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:35.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7652233;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78499;2460982.81429818;9.54312694;1.3;_
2025-11-03T09:32:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7652233;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78499;2460982.81429818;9.54312694;1.3;_
2025-11-03T09:32:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:35.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:35.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7652233, teldec = -24.256615
2025-11-03T09:32:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7652233 -24.256615
2025-11-03T09:32:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7652233 -24.256615
2025-11-03T09:32:35.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7652233 -24.256615
2025-11-03T09:32:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7652233;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78499;2460982.81429821;9.54312694;1.3;_14.7406706164774 -24.1480932844377
2025-11-03T09:32:35.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7406706164774     dec_j2k = -24.1480932844377
2025-11-03T09:32:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:35.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096747599330307;171.162357330327;_
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096747599330307;171.162357330327;_
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:35.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:35.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:35.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45101)
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:35.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:35.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:35.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81429818, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096747599330307, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7652233, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78499, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7406706164774, telescope_dec_j2k=-24.1480932844377, observability=1)
2025-11-03T09:32:35.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:35
2025-11-03T09:32:35.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:35.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022331714630126953s
2025-11-03T09:32:35.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022331714630126953
2025-11-03T09:32:36.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:36
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3802094459533691s
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7656152;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78538;2460982.81431436;9.54351778;1.3;_
2025-11-03T09:32:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7656152;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78538;2460982.81431436;9.54351778;1.3;_
2025-11-03T09:32:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7656152, teldec = -24.256615
2025-11-03T09:32:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7656152 -24.256615
2025-11-03T09:32:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7656152 -24.256615
2025-11-03T09:32:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7656152 -24.256615
2025-11-03T09:32:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7656152;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78538;2460982.81431439;9.54351778;1.3;_14.7410621791357 -24.1481026298387
2025-11-03T09:32:36.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7410621791357     dec_j2k = -24.1481026298387
2025-11-03T09:32:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967471580989362;171.162351965909;_
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967471580989362;171.162351965909;_
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51149)
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:36.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:36.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81431436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967471580989362, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7656152, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78538, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7410621791357, telescope_dec_j2k=-24.1481026298387, observability=1)
2025-11-03T09:32:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:37
2025-11-03T09:32:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5821611881256104s
2025-11-03T09:32:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5821611881256104
2025-11-03T09:32:37.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:37
2025-11-03T09:32:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6031639575958252s
2025-11-03T09:32:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6031639575958252
2025-11-03T09:32:38.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:38
2025-11-03T09:32:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792423248291016s
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7661662;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78593;2460982.81433752;9.54406722;1.3;_
2025-11-03T09:32:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7661662;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78593;2460982.81433752;9.54406722;1.3;_
2025-11-03T09:32:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:38.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7661662, teldec = -24.256615
2025-11-03T09:32:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7661662 -24.256615
2025-11-03T09:32:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7661662 -24.256615
2025-11-03T09:32:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7661662 -24.256615
2025-11-03T09:32:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7661662;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78593;2460982.81433755;9.54406722;1.3;_14.7416127048853 -24.1481157711592
2025-11-03T09:32:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7416127048853     dec_j2k = -24.1481157711592
2025-11-03T09:32:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967476394422499;171.162357330327;_
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967476394422499;171.162357330327;_
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52481)
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:38.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:38.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:38.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81433752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967476394422499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7661662, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78593, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7416127048853, telescope_dec_j2k=-24.1481157711592, observability=1)
2025-11-03T09:32:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:39
2025-11-03T09:32:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5832719802856445s
2025-11-03T09:32:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5832719802856445
2025-11-03T09:32:39.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:39
2025-11-03T09:32:39.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:39.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6062202453613281s
2025-11-03T09:32:39.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6062202453613281
2025-11-03T09:32:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:40
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804496765136719s
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:40.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7667269;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78649;2460982.81436064;9.54462639;1.3;_
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7667269;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78649;2460982.81436064;9.54462639;1.3;_
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:40.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:40.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:40.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7667269, teldec = -24.256615
2025-11-03T09:32:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7667269 -24.256615
2025-11-03T09:32:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7667269 -24.256615
2025-11-03T09:32:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7667269 -24.256615
2025-11-03T09:32:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7667269;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78649;2460982.81436066;9.54462639;1.3;_14.7421729223367 -24.1481291461739
2025-11-03T09:32:40.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7421729223367     dec_j2k = -24.1481291461739
2025-11-03T09:32:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967475592183642;171.162346601491;_
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967475592183642;171.162346601491;_
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60267)
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:40.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81436064, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967475592183642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7667269, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78649, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7421729223367, telescope_dec_j2k=-24.1481291461739, observability=1)
2025-11-03T09:32:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:41
2025-11-03T09:32:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582913875579834s
2025-11-03T09:32:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582913875579834
2025-11-03T09:32:41.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:41
2025-11-03T09:32:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6047327518463135s
2025-11-03T09:32:41.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6047327518463135
2025-11-03T09:32:41.442 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:41.442 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:41.442 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:41.442 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:41.442 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:41.443 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:32:41.444 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:32:41.445 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:42
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832870960235596s
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7672865;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78705;2460982.81438383;9.54518444;1.3;_
2025-11-03T09:32:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7672865;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78705;2460982.81438383;9.54518444;1.3;_
2025-11-03T09:32:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7672865, teldec = -24.256615
2025-11-03T09:32:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7672865 -24.256615
2025-11-03T09:32:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7672865 -24.256615
2025-11-03T09:32:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7672865 -24.256615
2025-11-03T09:32:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7672865;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78705;2460982.81438385;9.54518444;1.3;_14.7427320407858 -24.1481424973119
2025-11-03T09:32:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7427320407858     dec_j2k = -24.1481424973119
2025-11-03T09:32:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967475191064214;171.162357330327;_
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967475191064214;171.162357330327;_
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46267)
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:42.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:42.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:42.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81438383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967475191064214, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7672865, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78705, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7427320407858, telescope_dec_j2k=-24.1481424973119, observability=1)
2025-11-03T09:32:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:43
2025-11-03T09:32:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5790045261383057s
2025-11-03T09:32:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5790045261383057
2025-11-03T09:32:43.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:43
2025-11-03T09:32:43.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:43.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.601038932800293s
2025-11-03T09:32:43.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.601038932800293
2025-11-03T09:32:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:44
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978874921798706s
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7678371;-24.256615;50.108574;89.993054;50.08601;90.12017;11.7876;2460982.81440697;9.54573361;1.3;_
2025-11-03T09:32:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7678371;-24.256615;50.108574;89.993054;50.08601;90.12017;11.7876;2460982.81440697;9.54573361;1.3;_
2025-11-03T09:32:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7678371, teldec = -24.256615
2025-11-03T09:32:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7678371 -24.256615
2025-11-03T09:32:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7678371 -24.256615
2025-11-03T09:32:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7678371 -24.256615
2025-11-03T09:32:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7678371;-24.256615;50.108574;89.993054;50.08601;90.12017;11.7876;2460982.81440699;9.54573361;1.3;_14.7432821670293 -24.1481556360284
2025-11-03T09:32:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7432821670293     dec_j2k = -24.1481556360284
2025-11-03T09:32:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096747398770593;171.162368059163;_
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096747398770593;171.162368059163;_
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46903)
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:44.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:44.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:44.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81440697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096747398770593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7678371, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7432821670293, telescope_dec_j2k=-24.1481556360284, observability=1)
2025-11-03T09:32:45.888 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:45
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1111536026000977s
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:45.888 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7681452;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78791;2460982.81442001;9.54604083;1.3;_
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7681452;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78791;2460982.81442001;9.54604083;1.3;_
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:45.889 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:45.890 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:45.890 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:45.890 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7681452, teldec = -24.256615
2025-11-03T09:32:45.891 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7681452 -24.256615
2025-11-03T09:32:45.891 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7681452 -24.256615
2025-11-03T09:32:45.891 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7681452 -24.256615
2025-11-03T09:32:45.891 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7681452;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78791;2460982.81442003;9.54604083;1.3;_14.7435900019503 -24.148162989075
2025-11-03T09:32:45.892 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7435900019503     dec_j2k = -24.148162989075
2025-11-03T09:32:45.892 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:45.892 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:45.892 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967477597780783;171.162362694745;_
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967477597780783;171.162362694745;_
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:45.893 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:45.894 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:45.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:45.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:45.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54363)
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:45.900 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:45.907 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:45.907 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81442001, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967477597780783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7681452, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78791, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7435900019503, telescope_dec_j2k=-24.148162989075, observability=1)
2025-11-03T09:32:45.930 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:45
2025-11-03T09:32:45.930 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:45.930 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022813081741333008s
2025-11-03T09:32:45.930 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022813081741333008
2025-11-03T09:32:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:46
2025-11-03T09:32:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8560914993286133s
2025-11-03T09:32:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8560914993286133
2025-11-03T09:32:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:47
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4535012245178223s
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:47.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7685658;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78833;2460982.81443706;9.54646028;1.3;_
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7685658;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78833;2460982.81443706;9.54646028;1.3;_
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:47.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:47.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7685658, teldec = -24.256615
2025-11-03T09:32:47.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7685658 -24.256615
2025-11-03T09:32:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7685658 -24.256615
2025-11-03T09:32:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7685658 -24.256615
2025-11-03T09:32:47.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7685658;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78833;2460982.81443708;9.54646028;1.3;_14.744010240105 -24.1481730281766
2025-11-03T09:32:47.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.744010240105     dec_j2k = -24.1481730281766
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096747599330307;171.162362694745;_
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096747599330307;171.162362694745;_
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:47.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:47.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:47.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32959)
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:47.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:47.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:47.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:47.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81443706, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096747599330307, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7685658, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.744010240105, telescope_dec_j2k=-24.1481730281766, observability=1)
2025-11-03T09:32:47.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:47
2025-11-03T09:32:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:47.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022912025451660156s
2025-11-03T09:32:47.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022912025451660156
2025-11-03T09:32:48.301 [DEBUG] [Thread-88669 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:48.301 [DEBUG] [Thread-88669 (handle)] [server.py] [get_status()] Status age = 0.9228134155273438s
2025-11-03T09:32:48.302 [DEBUG] [Thread-88669 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9228134155273438
2025-11-03T09:32:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:48
2025-11-03T09:32:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3798255920410156s
2025-11-03T09:32:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7689577;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78872;2460982.81445324;9.54685111;1.3;_
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7689577;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78872;2460982.81445324;9.54685111;1.3;_
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7689577, teldec = -24.256615
2025-11-03T09:32:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7689577 -24.256615
2025-11-03T09:32:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7689577 -24.256615
2025-11-03T09:32:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7689577 -24.256615
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7689577;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78872;2460982.81445328;9.54685111;1.3;_14.7444018029764 -24.1481823834512
2025-11-03T09:32:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7444018029764     dec_j2k = -24.1481823834512
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967477196661355;171.162362694745;_
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967477196661355;171.162362694745;_
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36143)
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:48.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:48.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81445324, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967477196661355, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7689577, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78872, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7444018029764, telescope_dec_j2k=-24.1481823834512, observability=1)
2025-11-03T09:32:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:49
2025-11-03T09:32:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5856702327728271s
2025-11-03T09:32:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5856702327728271
2025-11-03T09:32:49.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:49
2025-11-03T09:32:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6078271865844727s
2025-11-03T09:32:49.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6078271865844727
2025-11-03T09:32:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:50
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821560382843018s
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7695081;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78927;2460982.81447638;9.5474;1.3;_
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7695081;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78927;2460982.81447638;9.5474;1.3;_
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:50.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7695081, teldec = -24.256615
2025-11-03T09:32:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7695081 -24.256615
2025-11-03T09:32:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7695081 -24.256615
2025-11-03T09:32:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7695081 -24.256615
2025-11-03T09:32:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7695081;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78927;2460982.8144764;9.5474;1.3;_14.7449517295417 -24.1481955243261
2025-11-03T09:32:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7449517295417     dec_j2k = -24.1481955243261
2025-11-03T09:32:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967480004497351;171.162362694745;_
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967480004497351;171.162362694745;_
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53603)
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:50.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81447638, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967480004497351, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7695081, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78927, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7449517295417, telescope_dec_j2k=-24.1481955243261, observability=1)
2025-11-03T09:32:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:51
2025-11-03T09:32:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845785140991211s
2025-11-03T09:32:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845785140991211
2025-11-03T09:32:51.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:51
2025-11-03T09:32:51.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:51.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6069581508636475s
2025-11-03T09:32:51.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6069581508636475
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Status age = 1.612227201461792s
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:52.389 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:52.390 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:52.390 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 17;14.7699568;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78972;2460982.81449525;9.5478475;1.3;_
2025-11-03T09:32:52.390 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response 17;14.7699568;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78972;2460982.81449525;9.5478475;1.3;_
2025-11-03T09:32:52.390 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:52.390 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:52.391 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:52.391 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:52.391 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:52.392 [INFO] [Thread-88670 (handle)] [driver.py] [get_status()] Telra = 14.7699568, teldec = -24.256615
2025-11-03T09:32:52.392 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7699568 -24.256615
2025-11-03T09:32:52.392 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7699568 -24.256615
2025-11-03T09:32:52.392 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7699568 -24.256615
2025-11-03T09:32:52.393 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 17;14.7699568;-24.256615;50.108574;89.993054;50.08601;90.12017;11.78972;2460982.81449529;9.5478475;1.3;_14.7454000436223 -24.1482062387882
2025-11-03T09:32:52.393 [INFO] [Thread-88670 (handle)] [driver.py] [get_status()] ra_j2k = 14.7454000436223     dec_j2k = -24.1482062387882
2025-11-03T09:32:52.393 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:52.393 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:52.393 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:52.393 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 140;0.0967480806736207;171.162357330327;_
2025-11-03T09:32:52.394 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response 140;0.0967480806736207;171.162357330327;_
2025-11-03T09:32:52.394 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:52.394 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:52.394 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:52.394 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:52.395 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:52.396 [DEBUG] [Thread-88670 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:52.396 [DEBUG] [Thread-88670 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:52.396 [DEBUG] [Thread-88670 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:52.402 [DEBUG] [Thread-88670 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45805)
2025-11-03T09:32:52.402 [DEBUG] [Thread-88670 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:52.402 [DEBUG] [Thread-88670 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:52.403 [DEBUG] [Thread-88670 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:52.403 [DEBUG] [Thread-88670 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:52.403 [DEBUG] [Thread-88670 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:52.410 [DEBUG] [Thread-88670 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:52.410 [INFO] [Thread-88670 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81449525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967480806736207, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7699568, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.78972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7454000436223, telescope_dec_j2k=-24.1482062387882, observability=1)
2025-11-03T09:32:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:52
2025-11-03T09:32:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34949517250061035s
2025-11-03T09:32:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34949517250061035
2025-11-03T09:32:53.999 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:53
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.589069128036499s
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:53.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:54.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:54.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7704047;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79017;2460982.8145139;9.54829417;1.3;_
2025-11-03T09:32:54.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7704047;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79017;2460982.8145139;9.54829417;1.3;_
2025-11-03T09:32:54.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:54.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:54.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:54.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:54.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:54.002 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7704047, teldec = -24.256615
2025-11-03T09:32:54.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7704047 -24.256615
2025-11-03T09:32:54.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7704047 -24.256615
2025-11-03T09:32:54.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7704047 -24.256615
2025-11-03T09:32:54.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7704047;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79017;2460982.81451392;9.54829417;1.3;_14.7458475584237 -24.1482169356598
2025-11-03T09:32:54.003 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7458475584237     dec_j2k = -24.1482169356598
2025-11-03T09:32:54.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967479603377923;171.162368059163;_
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967479603377923;171.162368059163;_
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:54.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:54.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:54.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:54.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:54.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47829)
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:54.010 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:54.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:54.017 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8145139, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967479603377923, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7704047, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7458475584237, telescope_dec_j2k=-24.1482169356598, observability=1)
2025-11-03T09:32:54.044 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:54
2025-11-03T09:32:54.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:54.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026293039321899414s
2025-11-03T09:32:54.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026293039321899414
2025-11-03T09:32:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:54
2025-11-03T09:32:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7416744232177734s
2025-11-03T09:32:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7416744232177734
2025-11-03T09:32:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:55
2025-11-03T09:32:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3439223766326904s
2025-11-03T09:32:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:55.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:55.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:55.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:55.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:55.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7707966;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79056;2460982.81452968;9.548685;1.3;_
2025-11-03T09:32:55.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7707966;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79056;2460982.81452968;9.548685;1.3;_
2025-11-03T09:32:55.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:55.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:55.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:55.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:55.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:55.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7707966, teldec = -24.256615
2025-11-03T09:32:55.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7707966 -24.256615
2025-11-03T09:32:55.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7707966 -24.256615
2025-11-03T09:32:55.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7707966 -24.256615
2025-11-03T09:32:55.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7707966;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79056;2460982.8145297;9.548685;1.3;_14.7462391214125 -24.1482262963634
2025-11-03T09:32:55.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7462391214125     dec_j2k = -24.1482262963634
2025-11-03T09:32:55.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:55.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:55.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:55.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967482010094491;171.162357330327;_
2025-11-03T09:32:55.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967482010094491;171.162357330327;_
2025-11-03T09:32:55.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:55.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:55.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:55.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:55.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59143)
2025-11-03T09:32:55.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:55.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:55.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:55.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:55.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:55.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:55.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81452968, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967482010094491, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7707966, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7462391214125, telescope_dec_j2k=-24.1482262963634, observability=1)
2025-11-03T09:32:55.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:55
2025-11-03T09:32:55.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:55.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022394895553588867s
2025-11-03T09:32:55.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022394895553588867
2025-11-03T09:32:56.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:56
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3797848224639893s
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7711883;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79095;2460982.81454584;9.54907556;1.3;_
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7711883;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79095;2460982.81454584;9.54907556;1.3;_
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7711883, teldec = -24.256615
2025-11-03T09:32:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7711883 -24.256615
2025-11-03T09:32:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7711883 -24.256615
2025-11-03T09:32:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7711883 -24.256615
2025-11-03T09:32:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7711883;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79095;2460982.81454587;9.54907556;1.3;_14.7466304845983 -24.1482356534458
2025-11-03T09:32:56.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7466304845983     dec_j2k = -24.1482356534458
2025-11-03T09:32:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967485219049916;171.162362694745;_
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967485219049916;171.162362694745;_
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:32:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36855)
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:56.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81454584, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967485219049916, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7711883, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79095, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7466304845983, telescope_dec_j2k=-24.1482356534458, observability=1)
2025-11-03T09:32:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:57
2025-11-03T09:32:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582064151763916s
2025-11-03T09:32:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582064151763916
2025-11-03T09:32:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:57
2025-11-03T09:32:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6036255359649658s
2025-11-03T09:32:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6036255359649658
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1648781299591064s
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:32:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:32:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.771515;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79128;2460982.81455956;9.54940139;1.3;_
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.771515;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79128;2460982.81455956;9.54940139;1.3;_
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:32:57.946 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.771515, teldec = -24.256615
2025-11-03T09:32:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.771515 -24.256615
2025-11-03T09:32:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.771515 -24.256615
2025-11-03T09:32:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.771515 -24.256615
2025-11-03T09:32:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.771515;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79128;2460982.81455957;9.54940139;1.3;_14.7469569036952 -24.1482434586665
2025-11-03T09:32:57.948 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.7469569036952     dec_j2k = -24.1482434586665
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967479202258495;171.162351965909;_
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967479202258495;171.162351965909;_
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:32:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:32:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:32:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:32:57.953 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58375)
2025-11-03T09:32:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:32:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:32:57.953 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:32:57.953 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:32:57.954 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:32:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:32:57.960 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:57.960 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:32:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:32:57.961 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81455956, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967479202258495, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.771515, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79128, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7469569036952, telescope_dec_j2k=-24.1482434586665, observability=1)
2025-11-03T09:32:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:32:58
2025-11-03T09:32:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:32:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7980644702911377s
2025-11-03T09:32:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7980644702911377
2025-11-03T09:33:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:00
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7990145683288574s
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7722999;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79207;2460982.81459215;9.55018417;1.3;_
2025-11-03T09:33:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7722999;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79207;2460982.81459215;9.55018417;1.3;_
2025-11-03T09:33:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7722999, teldec = -24.256615
2025-11-03T09:33:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7722999 -24.256615
2025-11-03T09:33:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7722999 -24.256615
2025-11-03T09:33:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7722999 -24.256615
2025-11-03T09:33:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7722999;-24.256615;50.108574;89.993054;50.08601;90.12017;11.79207;2460982.81459218;9.55018417;1.3;_14.747741128894 -24.148262214072
2025-11-03T09:33:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.747741128894     dec_j2k = -24.148262214072
2025-11-03T09:33:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967481608975063;171.162357330327;_
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967481608975063;171.162357330327;_
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44125)
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:00.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:00.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:00.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:00.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:00.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81459215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967481608975063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108574, telescope_az=89.993054, telescope_ra=14.7722999, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79207, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.747741128894, telescope_dec_j2k=-24.148262214072, observability=1)
2025-11-03T09:33:01.287 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:01
2025-11-03T09:33:01.287 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:01.287 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5066163539886475s
2025-11-03T09:33:01.287 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5066163539886475
2025-11-03T09:33:01.308 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:01
2025-11-03T09:33:01.308 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:01.309 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5277857780456543s
2025-11-03T09:33:01.309 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5277857780456543
2025-11-03T09:33:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:02
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5799236297607422s
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7727475;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79251;2460982.81461068;9.55063056;1.3;_
2025-11-03T09:33:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7727475;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79251;2460982.81461068;9.55063056;1.3;_
2025-11-03T09:33:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7727475, teldec = -24.256615
2025-11-03T09:33:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7727475 -24.256615
2025-11-03T09:33:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7727475 -24.256615
2025-11-03T09:33:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7727475 -24.256615
2025-11-03T09:33:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7727475;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79251;2460982.81461072;9.55063056;1.3;_14.7481883441243 -24.1482729116763
2025-11-03T09:33:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7481883441243     dec_j2k = -24.1482729116763
2025-11-03T09:33:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967482411213919;171.162362694745;_
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967482411213919;171.162362694745;_
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55677)
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:02.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:02.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:02.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81461068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967482411213919, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7727475, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79251, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7481883441243, telescope_dec_j2k=-24.1482729116763, observability=1)
2025-11-03T09:33:02.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:02
2025-11-03T09:33:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023841142654418945s
2025-11-03T09:33:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023841142654418945
2025-11-03T09:33:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:02
2025-11-03T09:33:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37813234329223633s
2025-11-03T09:33:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37813234329223633
2025-11-03T09:33:04.505 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:04
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1239795684814453s
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:04.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:04.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:04.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7733553;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79312;2460982.8146355;9.55123667;1.3;_
2025-11-03T09:33:04.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7733553;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79312;2460982.8146355;9.55123667;1.3;_
2025-11-03T09:33:04.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:04.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:04.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:04.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:04.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:04.508 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7733553, teldec = -24.256615
2025-11-03T09:33:04.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7733553 -24.256615
2025-11-03T09:33:04.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7733553 -24.256615
2025-11-03T09:33:04.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7733553 -24.256615
2025-11-03T09:33:04.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7733553;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79312;2460982.81463552;9.55123667;1.3;_14.7487956216944 -24.1482874404624
2025-11-03T09:33:04.509 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7487956216944     dec_j2k = -24.1482874404624
2025-11-03T09:33:04.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:04.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:04.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967485219049916;171.162351965909;_
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967485219049916;171.162351965909;_
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:04.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:04.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:04.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:04.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:04.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58911)
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:04.520 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:04.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:04.528 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8146355, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967485219049916, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7733553, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79312, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7487956216944, telescope_dec_j2k=-24.1482874404624, observability=1)
2025-11-03T09:33:04.550 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:04
2025-11-03T09:33:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022667646408081055s
2025-11-03T09:33:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022667646408081055
2025-11-03T09:33:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:04
2025-11-03T09:33:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23468995094299316s
2025-11-03T09:33:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23468995094299316
2025-11-03T09:33:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:06
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8333544731140137s
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7738603;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79363;2460982.81465698;9.55174028;1.3;_
2025-11-03T09:33:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7738603;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79363;2460982.81465698;9.55174028;1.3;_
2025-11-03T09:33:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7738603, teldec = -24.256615
2025-11-03T09:33:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7738603 -24.256615
2025-11-03T09:33:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7738603 -24.256615
2025-11-03T09:33:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7738603 -24.256615
2025-11-03T09:33:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7738603;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79363;2460982.814657;9.55174028;1.3;_14.7493001876713 -24.1482995140433
2025-11-03T09:33:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7493001876713     dec_j2k = -24.1482995140433
2025-11-03T09:33:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967488026885912;171.162346601491;_
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967488026885912;171.162346601491;_
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58595)
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:06.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:06.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:06.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:06.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81465698, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967488026885912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7738603, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79363, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7493001876713, telescope_dec_j2k=-24.1482995140433, observability=1)
2025-11-03T09:33:06.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:06
2025-11-03T09:33:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02278304100036621s
2025-11-03T09:33:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02278304100036621
2025-11-03T09:33:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:06
2025-11-03T09:33:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3836991786956787s
2025-11-03T09:33:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3836991786956787
2025-11-03T09:33:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:08
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3812172412872314s
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7745324;-24.256615;50.108573;89.993054;50.08601;90.12017;11.7943;2460982.81468473;9.55241056;1.3;_
2025-11-03T09:33:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7745324;-24.256615;50.108573;89.993054;50.08601;90.12017;11.7943;2460982.81468473;9.55241056;1.3;_
2025-11-03T09:33:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:08.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7745324, teldec = -24.256615
2025-11-03T09:33:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7745324 -24.256615
2025-11-03T09:33:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7745324 -24.256615
2025-11-03T09:33:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7745324 -24.256615
2025-11-03T09:33:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7745324;-24.256615;50.108573;89.993054;50.08601;90.12017;11.7943;2460982.81468476;9.55241056;1.3;_14.7499717100983 -24.1483155856418
2025-11-03T09:33:08.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7499717100983     dec_j2k = -24.1483155856418
2025-11-03T09:33:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967493241438477;171.162351965909;_
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967493241438477;171.162351965909;_
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51263)
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:08.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:08.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:08.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81468473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967493241438477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7745324, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.7943, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7499717100983, telescope_dec_j2k=-24.1483155856418, observability=1)
2025-11-03T09:33:10.144 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:10
2025-11-03T09:33:10.144 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:10.144 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3641395568847656s
2025-11-03T09:33:10.144 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:10.144 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:10.145 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:10.145 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:10.145 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:10.145 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:10.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:10.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.774916;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79468;2460982.81470078;9.55279306;1.3;_
2025-11-03T09:33:10.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.774916;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79468;2460982.81470078;9.55279306;1.3;_
2025-11-03T09:33:10.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:10.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:10.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:10.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:10.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:10.148 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.774916, teldec = -24.256615
2025-11-03T09:33:10.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.774916 -24.256615
2025-11-03T09:33:10.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.774916 -24.256615
2025-11-03T09:33:10.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.774916 -24.256615
2025-11-03T09:33:10.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.774916;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79468;2460982.8147008;9.55279306;1.3;_14.7503549804825 -24.1483247600047
2025-11-03T09:33:10.149 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7503549804825     dec_j2k = -24.1483247600047
2025-11-03T09:33:10.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:10.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:10.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:10.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967486021288772;171.162351965909;_
2025-11-03T09:33:10.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967486021288772;171.162351965909;_
2025-11-03T09:33:10.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:10.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:10.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:10.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:10.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:10.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:10.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:10.155 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45737)
2025-11-03T09:33:10.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:10.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:10.156 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:10.156 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:10.156 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:10.163 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:10.163 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81470078, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967486021288772, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.774916, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7503549804825, telescope_dec_j2k=-24.1483247600047, observability=1)
2025-11-03T09:33:10.190 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:10
2025-11-03T09:33:10.190 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:10.190 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02739572525024414s
2025-11-03T09:33:10.190 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02739572525024414
2025-11-03T09:33:10.460 [DEBUG] [Thread-88671 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:10.460 [DEBUG] [Thread-88671 (handle)] [server.py] [get_status()] Status age = 0.2973611354827881s
2025-11-03T09:33:10.460 [DEBUG] [Thread-88671 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2973611354827881
2025-11-03T09:33:10.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:10
2025-11-03T09:33:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.593651533126831s
2025-11-03T09:33:10.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.593651533126831
2025-11-03T09:33:12.047 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:33:12
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8841183185577393s
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:12.047 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:12.048 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:12.049 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7754488;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79522;2460982.81472279;9.55332444;1.3;_
2025-11-03T09:33:12.049 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7754488;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79522;2460982.81472279;9.55332444;1.3;_
2025-11-03T09:33:12.049 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:12.049 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:12.049 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:12.050 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:12.050 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:12.050 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7754488, teldec = -24.256615
2025-11-03T09:33:12.050 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7754488 -24.256615
2025-11-03T09:33:12.050 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7754488 -24.256615
2025-11-03T09:33:12.050 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7754488 -24.256615
2025-11-03T09:33:12.051 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7754488;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79522;2460982.81472281;9.55332444;1.3;_14.7508873227035 -24.1483375045439
2025-11-03T09:33:12.051 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7508873227035     dec_j2k = -24.1483375045439
2025-11-03T09:33:12.051 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:12.051 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:12.051 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:12.052 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967482812333347;171.162351965909;_
2025-11-03T09:33:12.052 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967482812333347;171.162351965909;_
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:12.053 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:12.054 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:12.054 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:12.054 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43229)
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:12.059 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:12.067 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:12.067 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81472279, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967482812333347, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7754488, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79522, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7508873227035, telescope_dec_j2k=-24.1483375045439, observability=1)
2025-11-03T09:33:12.274 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:12
2025-11-03T09:33:12.274 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:12.274 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.206773042678833s
2025-11-03T09:33:12.274 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.206773042678833
2025-11-03T09:33:12.295 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:12
2025-11-03T09:33:12.295 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:12.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22845172882080078s
2025-11-03T09:33:12.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22845172882080078
2025-11-03T09:33:12.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:12
2025-11-03T09:33:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6912684440612793s
2025-11-03T09:33:12.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6912684440612793
2025-11-03T09:33:13.663 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:13
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5960688591003418s
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:13.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:13.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:13.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7758961;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79566;2460982.81474149;9.55377056;1.3;_
2025-11-03T09:33:13.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7758961;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79566;2460982.81474149;9.55377056;1.3;_
2025-11-03T09:33:13.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:13.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:13.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:13.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:13.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:13.666 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7758961, teldec = -24.256615
2025-11-03T09:33:13.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7758961 -24.256615
2025-11-03T09:33:13.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7758961 -24.256615
2025-11-03T09:33:13.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7758961 -24.256615
2025-11-03T09:33:13.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7758961;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79566;2460982.81474152;9.55377056;1.3;_14.7513342384214 -24.1483482055782
2025-11-03T09:33:13.667 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7513342384214     dec_j2k = -24.1483482055782
2025-11-03T09:33:13.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:13.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:13.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096749043360248;171.162362694745;_
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096749043360248;171.162362694745;_
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:13.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:13.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:13.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:13.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:13.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:13.675 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35755)
2025-11-03T09:33:13.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:13.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:13.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:13.676 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:13.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:13.683 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:13.683 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81474149, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096749043360248, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7758961, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79566, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7513342384214, telescope_dec_j2k=-24.1483482055782, observability=1)
2025-11-03T09:33:13.705 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:13
2025-11-03T09:33:13.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:13.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021671295166015625s
2025-11-03T09:33:13.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021671295166015625
2025-11-03T09:33:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:14
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.078481674194336s
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7762039;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79597;2460982.81475421;9.5540775;1.3;_
2025-11-03T09:33:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7762039;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79597;2460982.81475421;9.5540775;1.3;_
2025-11-03T09:33:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7762039, teldec = -24.256615
2025-11-03T09:33:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7762039 -24.256615
2025-11-03T09:33:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7762039 -24.256615
2025-11-03T09:33:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7762039 -24.256615
2025-11-03T09:33:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7762039;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79597;2460982.81475424;9.5540775;1.3;_14.7516417740048 -24.1483555701421
2025-11-03T09:33:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7516417740048     dec_j2k = -24.1483555701421
2025-11-03T09:33:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967490834721909;171.162357330327;_
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967490834721909;171.162357330327;_
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39231)
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:14.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:14.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:14.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:14.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:14.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81475421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967490834721909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7762039, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79597, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:32:15.420385', telescope_ra_j2k=14.7516417740048, telescope_dec_j2k=-24.1483555701421, observability=1)
2025-11-03T09:33:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:15
2025-11-03T09:33:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5791432857513428s
2025-11-03T09:33:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5791432857513428
2025-11-03T09:33:15.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:15
2025-11-03T09:33:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6016058921813965s
2025-11-03T09:33:15.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6016058921813965
2025-11-03T09:33:15.496 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:33:15.496 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.712871789932251s
2025-11-03T09:33:15.496 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.712871789932251
2025-11-03T09:33:15.496 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.448854446411133 seconds ago
2025-11-03T09:33:15.572 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:15.572 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:15.572 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:15.572 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:15.572 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:15.573 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:15.573 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:15.574 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:15.574 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:15.574 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:15.574 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:15.574 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:33:15.575 [INFO] [ThreadPoolExecutor-3409_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:33:15.575 [INFO] [ThreadPoolExecutor-3409_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:33:16.817 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:16
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0341439247131348s
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.776783;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79655;2460982.814778;9.554655;1.3;_
2025-11-03T09:33:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.776783;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79655;2460982.814778;9.554655;1.3;_
2025-11-03T09:33:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:16.821 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.776783, teldec = -24.256615
2025-11-03T09:33:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.776783 -24.256615
2025-11-03T09:33:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.776783 -24.256615
2025-11-03T09:33:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.776783 -24.256615
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.776783;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79655;2460982.81477803;9.554655;1.3;_14.752220376569 -24.1483694278859
2025-11-03T09:33:16.822 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.752220376569     dec_j2k = -24.1483694278859
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096748842800534;171.162362694745;_
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096748842800534;171.162362694745;_
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57871)
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:16.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:16.838 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:16.839 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:16.839 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.814778, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096748842800534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.776783, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.752220376569, telescope_dec_j2k=-24.1483694278859, observability=1)
2025-11-03T09:33:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:17
2025-11-03T09:33:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5230615139007568s
2025-11-03T09:33:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5230615139007568
2025-11-03T09:33:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:17
2025-11-03T09:33:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5446209907531738s
2025-11-03T09:33:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5446209907531738
2025-11-03T09:33:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:18
2025-11-03T09:33:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.926851511001587s
2025-11-03T09:33:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7773156;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79708;2460982.81480054;9.55518611;1.3;_
2025-11-03T09:33:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7773156;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79708;2460982.81480054;9.55518611;1.3;_
2025-11-03T09:33:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7773156, teldec = -24.256615
2025-11-03T09:33:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7773156 -24.256615
2025-11-03T09:33:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7773156 -24.256615
2025-11-03T09:33:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7773156 -24.256615
2025-11-03T09:33:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7773156;-24.256615;50.108573;89.993054;50.08601;90.12017;11.79708;2460982.81480057;9.55518611;1.3;_14.7527525191241 -24.1483821751211
2025-11-03T09:33:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7527525191241     dec_j2k = -24.1483821751211
2025-11-03T09:33:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967496851513329;171.162357330327;_
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967496851513329;171.162357330327;_
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44915)
2025-11-03T09:33:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:18.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:18.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:18.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81480054, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967496851513329, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7773156, telescope_dec=-24.256615, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79708, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7527525191241, telescope_dec_j2k=-24.1483821751211, observability=1)
2025-11-03T09:33:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:19
2025-11-03T09:33:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5737042427062988s
2025-11-03T09:33:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5737042427062988
2025-11-03T09:33:19.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:19
2025-11-03T09:33:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5963199138641357s
2025-11-03T09:33:19.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5963199138641357
2025-11-03T09:33:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:20
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974107265472412s
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7778754;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79764;2460982.81482365;9.55574444;1.3;_
2025-11-03T09:33:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7778754;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79764;2460982.81482365;9.55574444;1.3;_
2025-11-03T09:33:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7778754, teldec = -24.256614
2025-11-03T09:33:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7778754 -24.256614
2025-11-03T09:33:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7778754 -24.256614
2025-11-03T09:33:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7778754 -24.256614
2025-11-03T09:33:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7778754;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79764;2460982.81482367;9.55574444;1.3;_14.7533118384953 -24.1483945756702
2025-11-03T09:33:20.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7533118384953     dec_j2k = -24.1483945756702
2025-11-03T09:33:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967489631363624;171.162357330327;_
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967489631363624;171.162357330327;_
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52681)
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:20.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:20.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81482365, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967489631363624, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7778754, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79764, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7533118384953, telescope_dec_j2k=-24.1483945756702, observability=1)
2025-11-03T09:33:21.458 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:21
2025-11-03T09:33:21.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:21.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6793608665466309s
2025-11-03T09:33:21.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6793608665466309
2025-11-03T09:33:21.480 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:21
2025-11-03T09:33:21.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:21.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7014541625976562s
2025-11-03T09:33:21.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7014541625976562
2025-11-03T09:33:22.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:22
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787564277648926s
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7784261;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79819;2460982.81484676;9.55629361;1.3;_
2025-11-03T09:33:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7784261;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79819;2460982.81484676;9.55629361;1.3;_
2025-11-03T09:33:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:22.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7784261, teldec = -24.256614
2025-11-03T09:33:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7784261 -24.256614
2025-11-03T09:33:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7784261 -24.256614
2025-11-03T09:33:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7784261 -24.256614
2025-11-03T09:33:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7784261;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79819;2460982.81484678;9.55629361;1.3;_14.7538620656036 -24.148407760672
2025-11-03T09:33:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7538620656036     dec_j2k = -24.148407760672
2025-11-03T09:33:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967492038080193;171.162362694745;_
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967492038080193;171.162362694745;_
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53169)
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:22.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81484676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967492038080193, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7784261, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79819, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7538620656036, telescope_dec_j2k=-24.148407760672, observability=1)
2025-11-03T09:33:23.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:23
2025-11-03T09:33:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5854160785675049s
2025-11-03T09:33:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5854160785675049
2025-11-03T09:33:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:23
2025-11-03T09:33:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6071372032165527s
2025-11-03T09:33:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6071372032165527
2025-11-03T09:33:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:24
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822306632995605s
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7789868;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79875;2460982.81486992;9.55685278;1.3;_
2025-11-03T09:33:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7789868;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79875;2460982.81486992;9.55685278;1.3;_
2025-11-03T09:33:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7789868, teldec = -24.256614
2025-11-03T09:33:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7789868 -24.256614
2025-11-03T09:33:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7789868 -24.256614
2025-11-03T09:33:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7789868 -24.256614
2025-11-03T09:33:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7789868;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79875;2460982.81486995;9.55685278;1.3;_14.7544222841757 -24.1484211874391
2025-11-03T09:33:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7544222841757     dec_j2k = -24.1484211874391
2025-11-03T09:33:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967492439199621;171.162362694745;_
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967492439199621;171.162362694745;_
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51271)
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:24.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:24.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:24.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81486992, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967492439199621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7789868, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79875, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7544222841757, telescope_dec_j2k=-24.1484211874391, observability=1)
2025-11-03T09:33:25.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:25
2025-11-03T09:33:25.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:25.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5911195278167725s
2025-11-03T09:33:25.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5911195278167725
2025-11-03T09:33:25.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:25
2025-11-03T09:33:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6156919002532959s
2025-11-03T09:33:25.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6156919002532959
2025-11-03T09:33:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:26
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9884862899780273s
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.779547;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79931;2460982.81489315;9.55741139;1.3;_
2025-11-03T09:33:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.779547;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79931;2460982.81489315;9.55741139;1.3;_
2025-11-03T09:33:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:26.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.779547, teldec = -24.256614
2025-11-03T09:33:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.779547 -24.256614
2025-11-03T09:33:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.779547 -24.256614
2025-11-03T09:33:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.779547 -24.256614
2025-11-03T09:33:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.779547;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79931;2460982.81489318;9.55741139;1.3;_14.7549820032285 -24.1484346045935
2025-11-03T09:33:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7549820032285     dec_j2k = -24.1484346045935
2025-11-03T09:33:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967493642557905;171.162351965909;_
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967493642557905;171.162351965909;_
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39083)
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:26.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81489315, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967493642557905, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.779547, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79931, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7549820032285, telescope_dec_j2k=-24.1484346045935, observability=1)
2025-11-03T09:33:27.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:27
2025-11-03T09:33:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5794131755828857s
2025-11-03T09:33:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5794131755828857
2025-11-03T09:33:27.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:27
2025-11-03T09:33:27.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:27.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6029796600341797s
2025-11-03T09:33:27.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6029796600341797
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Status age = 1.7424201965332031s
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:28.526 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:28.527 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:28.527 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 17;14.7800414;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79981;2460982.81491352;9.55790444;1.3;_
2025-11-03T09:33:28.528 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response 17;14.7800414;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79981;2460982.81491352;9.55790444;1.3;_
2025-11-03T09:33:28.529 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:28.529 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:28.529 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:28.530 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:28.530 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:28.530 [INFO] [Thread-88672 (handle)] [driver.py] [get_status()] Telra = 14.7800414, teldec = -24.256614
2025-11-03T09:33:28.530 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7800414 -24.256614
2025-11-03T09:33:28.530 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7800414 -24.256614
2025-11-03T09:33:28.530 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7800414 -24.256614
2025-11-03T09:33:28.531 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 17;14.7800414;-24.256614;50.108573;89.993054;50.08601;90.12017;11.79981;2460982.81491355;9.55790444;1.3;_14.755475978815 -24.1484464477548
2025-11-03T09:33:28.531 [INFO] [Thread-88672 (handle)] [driver.py] [get_status()] ra_j2k = 14.755475978815     dec_j2k = -24.1484464477548
2025-11-03T09:33:28.531 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:28.531 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:28.531 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 140;0.0967493642557905;171.162357330327;_
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response 140;0.0967493642557905;171.162357330327;_
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:28.532 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:28.533 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:28.534 [DEBUG] [Thread-88672 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:28.534 [DEBUG] [Thread-88672 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:28.534 [DEBUG] [Thread-88672 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35437)
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:28.537 [DEBUG] [Thread-88672 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:28.544 [DEBUG] [Thread-88672 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:28.545 [INFO] [Thread-88672 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81491352, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967493642557905, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7800414, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.79981, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.755475978815, telescope_dec_j2k=-24.1484464477548, observability=1)
2025-11-03T09:33:28.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:28
2025-11-03T09:33:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2198789119720459s
2025-11-03T09:33:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2198789119720459
2025-11-03T09:33:29.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:29
2025-11-03T09:33:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8169608116149902s
2025-11-03T09:33:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8169608116149902
2025-11-03T09:33:29.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:29
2025-11-03T09:33:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8388597965240479s
2025-11-03T09:33:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8388597965240479
2025-11-03T09:33:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:30
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.217428207397461s
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.780658;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80042;2460982.8149394;9.55851944;1.3;_
2025-11-03T09:33:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.780658;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80042;2460982.8149394;9.55851944;1.3;_
2025-11-03T09:33:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.780658, teldec = -24.256614
2025-11-03T09:33:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.780658 -24.256614
2025-11-03T09:33:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.780658 -24.256614
2025-11-03T09:33:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.780658 -24.256614
2025-11-03T09:33:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.780658;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80042;2460982.81493942;9.55851944;1.3;_14.7560920495559 -24.1484612207444
2025-11-03T09:33:30.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7560920495559     dec_j2k = -24.1484612207444
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967496049274473;171.162362694745;_
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967496049274473;171.162362694745;_
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34559)
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8149394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967496049274473, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.780658, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80042, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7560920495559, telescope_dec_j2k=-24.1484612207444, observability=1)
2025-11-03T09:33:32.634 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:32.634 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.8531196117401123s
2025-11-03T09:33:32.634 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:32.635 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:32.635 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:32.635 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:32.635 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:32.635 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7811901;-24.256608;50.108573;89.993043;50.08601;90.12016;11.80096;2460982.81496106;9.55905028;1.3;_
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.7811901;-24.256608;50.108573;89.993043;50.08601;90.12016;11.80096;2460982.81496106;9.55905028;1.3;_
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:32.636 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:32.637 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:32.637 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:32.637 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.7811901, teldec = -24.256608
2025-11-03T09:33:32.638 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7811901 -24.256608
2025-11-03T09:33:32.638 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7811901 -24.256608
2025-11-03T09:33:32.638 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7811901 -24.256608
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.7811901;-24.256608;50.108573;89.993043;50.08601;90.12016;11.80096;2460982.81496109;9.55905028;1.3;_14.7566236936455 -24.1484679715744
2025-11-03T09:33:32.639 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.7566236936455     dec_j2k = -24.1484679715744
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967494444796761;171.162351965909;_
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967494444796761;171.162351965909;_
2025-11-03T09:33:32.639 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:32.640 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:32.641 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:32.641 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:32.644 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42561)
2025-11-03T09:33:32.644 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:32.644 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:32.644 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:32.645 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:32.645 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:32.652 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:32.653 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81496106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967494444796761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993043, telescope_ra=14.7811901, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80096, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7566236936455, telescope_dec_j2k=-24.1484679715744, observability=1)
2025-11-03T09:33:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:32
2025-11-03T09:33:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1137535572052002s
2025-11-03T09:33:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1137535572052002
2025-11-03T09:33:33.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:33
2025-11-03T09:33:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7112843990325928s
2025-11-03T09:33:33.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7112843990325928
2025-11-03T09:33:33.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:33
2025-11-03T09:33:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7328298091888428s
2025-11-03T09:33:33.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7328298091888428
2025-11-03T09:33:34.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:34
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1193020343780518s
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7817686;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80154;2460982.8149858;9.55962694;1.3;_
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7817686;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80154;2460982.8149858;9.55962694;1.3;_
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:34.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7817686, teldec = -24.256614
2025-11-03T09:33:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7817686 -24.256614
2025-11-03T09:33:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7817686 -24.256614
2025-11-03T09:33:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7817686 -24.256614
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7817686;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80154;2460982.81498582;9.55962694;1.3;_14.7572016964283 -24.1484878365839
2025-11-03T09:33:34.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7572016964283     dec_j2k = -24.1484878365839
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967494845916189;171.162351965909;_
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967494845916189;171.162351965909;_
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:34.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38687)
2025-11-03T09:33:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:34.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:34.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:34.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8149858, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967494845916189, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7817686, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80154, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7572016964283, telescope_dec_j2k=-24.1484878365839, observability=1)
2025-11-03T09:33:35.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:35
2025-11-03T09:33:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5694379806518555s
2025-11-03T09:33:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5694379806518555
2025-11-03T09:33:35.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:35
2025-11-03T09:33:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5937762260437012s
2025-11-03T09:33:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5937762260437012
2025-11-03T09:33:36.445 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.445 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.445 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:36.445 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:33:36.446 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:36.447 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:36.448 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:33:36.449 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:36.450 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:36.451 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.451 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:36.451 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:36.451 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Park
2025-11-03T09:33:36.451 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:33:36.452 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:33:36.452 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 29;14.7822452;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80201;2460982.81500523;9.56010222;1.3;_Park Command Successful
2025-11-03T09:33:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:36
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.968698263168335s
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.782329;-24.256614;50.108573;89.993054;50.08601;90.12017;11.8021;2460982.81500883;9.56018583;1.3;_
2025-11-03T09:33:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.782329;-24.256614;50.108573;89.993054;50.08601;90.12017;11.8021;2460982.81500883;9.56018583;1.3;_
2025-11-03T09:33:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.782329, teldec = -24.256614
2025-11-03T09:33:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.782329 -24.256614
2025-11-03T09:33:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.782329 -24.256614
2025-11-03T09:33:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.782329 -24.256614
2025-11-03T09:33:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.782329;-24.256614;50.108573;89.993054;50.08601;90.12017;11.8021;2460982.81500885;9.56018583;1.3;_14.7577616155642 -24.1485012702447
2025-11-03T09:33:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7577616155642     dec_j2k = -24.1485012702447
2025-11-03T09:33:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967492439199621;171.162362694745;_
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967492439199621;171.162362694745;_
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49507)
2025-11-03T09:33:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:36.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:36.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81500883, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967492439199621, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.782329, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8021, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7577616155642, telescope_dec_j2k=-24.1485012702447, observability=1)
2025-11-03T09:33:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:37
2025-11-03T09:33:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5815749168395996s
2025-11-03T09:33:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5815749168395996
2025-11-03T09:33:37.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:37
2025-11-03T09:33:37.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:37.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.603193998336792s
2025-11-03T09:33:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.603193998336792
2025-11-03T09:33:37.452 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:33:37.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:33:37.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:33:37.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:33:37.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:33:38.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:33:38.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:33:38.453 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:33:38.454 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:33:38.454 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:33:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:38
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806339740753174s
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7828894;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80266;2460982.81503197;9.56074472;1.3;_
2025-11-03T09:33:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7828894;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80266;2460982.81503197;9.56074472;1.3;_
2025-11-03T09:33:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:38.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7828894, teldec = -24.256614
2025-11-03T09:33:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7828894 -24.256614
2025-11-03T09:33:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7828894 -24.256614
2025-11-03T09:33:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7828894 -24.256614
2025-11-03T09:33:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7828894;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80266;2460982.81503199;9.56074472;1.3;_14.7583215347516 -24.1485147062648
2025-11-03T09:33:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7583215347516     dec_j2k = -24.1485147062648
2025-11-03T09:33:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967493241438477;171.162357330327;_
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967493241438477;171.162357330327;_
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50637)
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:38.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:38.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:38.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81503197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967493241438477, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7828894, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80266, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7583215347516, telescope_dec_j2k=-24.1485147062648, observability=1)
2025-11-03T09:33:39.454 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:33:39.454 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:33:39.454 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:33:39.455 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:33:39.455 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:33:40.455 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:33:40.455 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:33:40.455 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:40.456 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:33:40.457 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:33:40.458 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:40
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800441265106201s
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7834487;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80322;2460982.81505512;9.5613025;1.3;_
2025-11-03T09:33:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7834487;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80322;2460982.81505512;9.5613025;1.3;_
2025-11-03T09:33:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7834487, teldec = -24.256614
2025-11-03T09:33:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7834487 -24.256614
2025-11-03T09:33:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7834487 -24.256614
2025-11-03T09:33:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7834487 -24.256614
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7834487;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80322;2460982.81505515;9.5613025;1.3;_14.7588803549339 -24.1485281182636
2025-11-03T09:33:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7588803549339     dec_j2k = -24.1485281182636
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967496450393901;171.162362694745;_
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967496450393901;171.162362694745;_
2025-11-03T09:33:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35435)
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:40.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:40.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:40.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81505512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967496450393901, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7834487, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80322, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7588803549339, telescope_dec_j2k=-24.1485281182636, observability=1)
2025-11-03T09:33:41.458 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:41.458 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:41.458 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:41.458 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:41.458 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:41.459 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:41.459 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:41.459 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:33:41.460 [DEBUG] [ThreadPoolExecutor-3408_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:41.461 [INFO] [ThreadPoolExecutor-3408_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:33:42.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:42
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.585465669631958s
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7838877;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80365;2460982.81507368;9.56174028;1.3;_
2025-11-03T09:33:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7838877;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80365;2460982.81507368;9.56174028;1.3;_
2025-11-03T09:33:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:42.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7838877, teldec = -24.256614
2025-11-03T09:33:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7838877 -24.256614
2025-11-03T09:33:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7838877 -24.256614
2025-11-03T09:33:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7838877 -24.256614
2025-11-03T09:33:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7838877;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80365;2460982.8150737;9.56174028;1.3;_14.7593189783562 -24.1485386471176
2025-11-03T09:33:42.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7593189783562     dec_j2k = -24.1485386471176
2025-11-03T09:33:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967497653752185;171.162368059163;_
2025-11-03T09:33:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967497653752185;171.162368059163;_
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47719)
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:42.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:42.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:42.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:42.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81507368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967497653752185, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7838877, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7593189783562, telescope_dec_j2k=-24.1485386471176, observability=1)
2025-11-03T09:33:42.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:42
2025-11-03T09:33:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022951126098632812s
2025-11-03T09:33:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022951126098632812
2025-11-03T09:33:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:42
2025-11-03T09:33:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37719011306762695s
2025-11-03T09:33:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37719011306762695
2025-11-03T09:33:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:44
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3850090503692627s
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7845604;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80433;2460982.81510149;9.56241111;1.3;_
2025-11-03T09:33:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7845604;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80433;2460982.81510149;9.56241111;1.3;_
2025-11-03T09:33:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7845604, teldec = -24.256614
2025-11-03T09:33:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7845604 -24.256614
2025-11-03T09:33:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7845604 -24.256614
2025-11-03T09:33:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7845604 -24.256614
2025-11-03T09:33:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7845604;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80433;2460982.81510152;9.56241111;1.3;_14.75999110137 -24.1485547837754
2025-11-03T09:33:44.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.75999110137     dec_j2k = -24.1485547837754
2025-11-03T09:33:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967506077260175;171.162346601491;_
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967506077260175;171.162346601491;_
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41787)
2025-11-03T09:33:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:44.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81510149, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967506077260175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7845604, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80433, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.75999110137, telescope_dec_j2k=-24.1485547837754, observability=1)
2025-11-03T09:33:46.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:46
2025-11-03T09:33:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6372339725494385s
2025-11-03T09:33:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:46.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.785008;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80477;2460982.81512062;9.5628575;1.3;_
2025-11-03T09:33:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.785008;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80477;2460982.81512062;9.5628575;1.3;_
2025-11-03T09:33:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:46.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.785008, teldec = -24.256614
2025-11-03T09:33:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.785008 -24.256614
2025-11-03T09:33:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.785008 -24.256614
2025-11-03T09:33:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.785008 -24.256614
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.785008;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80477;2460982.81512066;9.5628575;1.3;_14.760438317497 -24.1485655226406
2025-11-03T09:33:46.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.760438317497     dec_j2k = -24.1485655226406
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967496851513329;171.162357330327;_
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967496851513329;171.162357330327;_
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52613)
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:46.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:46.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:46.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81512062, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967496851513329, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.785008, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.760438317497, telescope_dec_j2k=-24.1485655226406, observability=1)
2025-11-03T09:33:46.460 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:46
2025-11-03T09:33:46.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:46.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02286815643310547s
2025-11-03T09:33:46.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02286815643310547
2025-11-03T09:33:46.627 [DEBUG] [Thread-88673 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:46.627 [DEBUG] [Thread-88673 (handle)] [server.py] [get_status()] Status age = 0.18976926803588867s
2025-11-03T09:33:46.627 [DEBUG] [Thread-88673 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18976926803588867
2025-11-03T09:33:46.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:46
2025-11-03T09:33:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3312373161315918s
2025-11-03T09:33:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3312373161315918
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Status age = 1.9059007167816162s
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:48.343 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:48.344 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:48.345 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.81514288;9.56340667;1.3;_
2025-11-03T09:33:48.345 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.81514288;9.56340667;1.3;_
2025-11-03T09:33:48.345 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:48.345 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:48.345 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:48.346 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:48.346 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:48.346 [INFO] [Thread-88674 (handle)] [driver.py] [get_status()] Telra = 14.7855587, teldec = -24.256614
2025-11-03T09:33:48.346 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.346 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.346 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.347 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.8151429;9.56340667;1.3;_14.7609885452478 -24.1485787371553
2025-11-03T09:33:48.347 [INFO] [Thread-88674 (handle)] [driver.py] [get_status()] ra_j2k = 14.7609885452478     dec_j2k = -24.1485787371553
2025-11-03T09:33:48.347 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:48.347 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:48.347 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 140;0.096750286830475;171.162351965909;_
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response 140;0.096750286830475;171.162351965909;_
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:48.348 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:48.349 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:48.350 [DEBUG] [Thread-88674 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.350 [DEBUG] [Thread-88674 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.350 [DEBUG] [Thread-88674 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46067)
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:48.353 [DEBUG] [Thread-88674 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:48.361 [DEBUG] [Thread-88674 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:48.361 [DEBUG] [Thread-88674 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:48.361 [DEBUG] [Thread-88674 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:48
2025-11-03T09:33:48.361 [DEBUG] [Thread-88674 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:48.361 [DEBUG] [Thread-88674 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9244420528411865s
2025-11-03T09:33:48.362 [DEBUG] [Thread-88674 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:48.362 [DEBUG] [Thread-88674 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:48.362 [DEBUG] [Thread-88674 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:48.362 [DEBUG] [Thread-88674 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:48.362 [INFO] [Thread-88674 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81514288, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096750286830475, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7855587, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80533, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7609885452478, telescope_dec_j2k=-24.1485787371553, observability=1)
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.81514309;9.56340667;1.3;_
2025-11-03T09:33:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.81514309;9.56340667;1.3;_
2025-11-03T09:33:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7855587, teldec = -24.256614
2025-11-03T09:33:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7855587 -24.256614
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7855587;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80533;2460982.81514312;9.56340667;1.3;_14.7609885452478 -24.1485787371553
2025-11-03T09:33:48.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7609885452478     dec_j2k = -24.1485787371553
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096750286830475;171.162351965909;_
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096750286830475;171.162351965909;_
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50215)
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:48.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:48.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:48.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81514309, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096750286830475, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7855587, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80533, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7609885452478, telescope_dec_j2k=-24.1485787371553, observability=1)
2025-11-03T09:33:48.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:48
2025-11-03T09:33:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021369218826293945s
2025-11-03T09:33:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021369218826293945
2025-11-03T09:33:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:48
2025-11-03T09:33:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3835897445678711s
2025-11-03T09:33:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3835897445678711
2025-11-03T09:33:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:50
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852027893066406s
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7861194;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80589;2460982.81516624;9.56396583;1.3;_
2025-11-03T09:33:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7861194;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80589;2460982.81516624;9.56396583;1.3;_
2025-11-03T09:33:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7861194, teldec = -24.256614
2025-11-03T09:33:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7861194 -24.256614
2025-11-03T09:33:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7861194 -24.256614
2025-11-03T09:33:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7861194 -24.256614
2025-11-03T09:33:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7861194;-24.256614;50.108573;89.993054;50.08601;90.12017;11.80589;2460982.81516626;9.56396583;1.3;_14.7615487644742 -24.1485921939677
2025-11-03T09:33:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7615487644742     dec_j2k = -24.1485921939677
2025-11-03T09:33:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096750487390189;171.162346601491;_
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096750487390189;171.162346601491;_
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39707)
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:50.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:50.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81516624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096750487390189, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108573, telescope_az=89.993054, telescope_ra=14.7861194, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80589, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7615487644742, telescope_dec_j2k=-24.1485921939677, observability=1)
2025-11-03T09:33:50.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:50
2025-11-03T09:33:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023099899291992188s
2025-11-03T09:33:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023099899291992188
2025-11-03T09:33:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:50
2025-11-03T09:33:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37888503074645996s
2025-11-03T09:33:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37888503074645996
2025-11-03T09:33:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:52
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3785784244537354s
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7867909;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80656;2460982.81519398;9.56463556;1.3;_
2025-11-03T09:33:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7867909;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80656;2460982.81519398;9.56463556;1.3;_
2025-11-03T09:33:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:52.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7867909, teldec = -24.256614
2025-11-03T09:33:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7867909 -24.256614
2025-11-03T09:33:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7867909 -24.256614
2025-11-03T09:33:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7867909 -24.256614
2025-11-03T09:33:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7867909;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80656;2460982.815194;9.56463556;1.3;_14.7622196887627 -24.148608313088
2025-11-03T09:33:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7622196887627     dec_j2k = -24.148608313088
2025-11-03T09:33:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967502467185322;171.162362694745;_
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967502467185322;171.162362694745;_
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49529)
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:52.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:52.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81519398, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967502467185322, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7867909, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80656, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7622196887627, telescope_dec_j2k=-24.148608313088, observability=1)
2025-11-03T09:33:53.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:53
2025-11-03T09:33:53.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:53.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5972058773040771s
2025-11-03T09:33:53.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5972058773040771
2025-11-03T09:33:53.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:53
2025-11-03T09:33:53.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:53.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6183898448944092s
2025-11-03T09:33:53.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6183898448944092
2025-11-03T09:33:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:54
2025-11-03T09:33:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9890708923339844s
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7873413;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80711;2460982.81521719;9.56518444;1.3;_
2025-11-03T09:33:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7873413;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80711;2460982.81521719;9.56518444;1.3;_
2025-11-03T09:33:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7873413, teldec = -24.256614
2025-11-03T09:33:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7873413 -24.256614
2025-11-03T09:33:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7873413 -24.256614
2025-11-03T09:33:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7873413 -24.256614
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7873413;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80711;2460982.81521722;9.56518444;1.3;_14.7627696169315 -24.1486215277694
2025-11-03T09:33:54.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7627696169315     dec_j2k = -24.1486215277694
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967500060468754;171.162346601491;_
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967500060468754;171.162346601491;_
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51297)
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:54.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81521719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967500060468754, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7873413, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80711, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7627696169315, telescope_dec_j2k=-24.1486215277694, observability=1)
2025-11-03T09:33:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:55
2025-11-03T09:33:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830981731414795s
2025-11-03T09:33:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830981731414795
2025-11-03T09:33:55.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:55
2025-11-03T09:33:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6050534248352051s
2025-11-03T09:33:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6050534248352051
2025-11-03T09:33:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:56
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980398416519165s
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.787902;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80767;2460982.81524028;9.56574361;1.3;_
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.787902;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80767;2460982.81524028;9.56574361;1.3;_
2025-11-03T09:33:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.787902, teldec = -24.256614
2025-11-03T09:33:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.787902 -24.256614
2025-11-03T09:33:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.787902 -24.256614
2025-11-03T09:33:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.787902 -24.256614
2025-11-03T09:33:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.787902;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80767;2460982.81524031;9.56574361;1.3;_14.7633298363217 -24.1486349920835
2025-11-03T09:33:56.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7633298363217     dec_j2k = -24.1486349920835
2025-11-03T09:33:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967512094051595;171.162357330327;_
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967512094051595;171.162357330327;_
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56093)
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:56.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:56.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:56.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81524028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967512094051595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.787902, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80767, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7633298363217, telescope_dec_j2k=-24.1486349920835, observability=1)
2025-11-03T09:33:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:57
2025-11-03T09:33:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.581477165222168s
2025-11-03T09:33:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.581477165222168
2025-11-03T09:33:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:57
2025-11-03T09:33:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.60263991355896s
2025-11-03T09:33:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.60263991355896
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3298988342285156s
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:58.111 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:58.112 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7882664;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80803;2460982.81525594;9.56610694;1.3;_
2025-11-03T09:33:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.7882664;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80803;2460982.81525594;9.56610694;1.3;_
2025-11-03T09:33:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:58.113 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:58.114 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.7882664, teldec = -24.256614
2025-11-03T09:33:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7882664 -24.256614
2025-11-03T09:33:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7882664 -24.256614
2025-11-03T09:33:58.114 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7882664 -24.256614
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.7882664;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80803;2460982.81525596;9.56610694;1.3;_14.7636939240001 -24.1486437438317
2025-11-03T09:33:58.115 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.7636939240001     dec_j2k = -24.1486437438317
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967506478379603;171.162351965909;_
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967506478379603;171.162351965909;_
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:58.115 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:58.116 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:58.117 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:58.118 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:58.118 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39757)
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:58.119 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:58.126 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:58.127 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:58.127 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81525594, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967506478379603, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7882664, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80803, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7636939240001, telescope_dec_j2k=-24.1486437438317, observability=1)
2025-11-03T09:33:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:58
2025-11-03T09:33:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6320741176605225s
2025-11-03T09:33:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6320741176605225
2025-11-03T09:33:59.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:59
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.235656976699829s
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:33:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:33:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:33:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7886299;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8084;2460982.81527042;9.56646944;1.3;_
2025-11-03T09:33:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7886299;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8084;2460982.81527042;9.56646944;1.3;_
2025-11-03T09:33:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:33:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:33:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:33:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:33:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7886299, teldec = -24.256614
2025-11-03T09:33:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7886299 -24.256614
2025-11-03T09:33:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7886299 -24.256614
2025-11-03T09:33:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7886299 -24.256614
2025-11-03T09:33:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7886299;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8084;2460982.81527044;9.56646944;1.3;_14.7640571124715 -24.1486524749573
2025-11-03T09:33:59.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7640571124715     dec_j2k = -24.1486524749573
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967506478379603;171.162362694745;_
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967506478379603;171.162362694745;_
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:33:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:33:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:33:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40329)
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:33:59.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:33:59.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:33:59.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81527042, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967506478379603, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7886299, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8084, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7640571124715, telescope_dec_j2k=-24.1486524749573, observability=1)
2025-11-03T09:33:59.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:33:59
2025-11-03T09:33:59.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:33:59.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021958351135253906s
2025-11-03T09:33:59.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021958351135253906
2025-11-03T09:34:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:00
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3778448104858398s
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7890128;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80878;2460982.8152866;9.56685139;1.3;_
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7890128;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80878;2460982.8152866;9.56685139;1.3;_
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7890128, teldec = -24.256614
2025-11-03T09:34:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7890128 -24.256614
2025-11-03T09:34:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7890128 -24.256614
2025-11-03T09:34:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7890128 -24.256614
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7890128;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80878;2460982.81528662;9.56685139;1.3;_14.7644396843402 -24.1486616731353
2025-11-03T09:34:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7644396843402     dec_j2k = -24.1486616731353
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096750487390189;171.162346601491;_
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096750487390189;171.162346601491;_
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50843)
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:00.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:00.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8152866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096750487390189, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7890128, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80878, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7644396843402, telescope_dec_j2k=-24.1486616731353, observability=1)
2025-11-03T09:34:01.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:01
2025-11-03T09:34:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5807638168334961s
2025-11-03T09:34:01.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5807638168334961
2025-11-03T09:34:01.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:01
2025-11-03T09:34:01.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:01.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6022300720214844s
2025-11-03T09:34:01.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6022300720214844
2025-11-03T09:34:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:02
2025-11-03T09:34:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790232181549072s
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:02.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7895733;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80934;2460982.81530975;9.56741028;1.3;_
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7895733;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80934;2460982.81530975;9.56741028;1.3;_
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:02.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7895733, teldec = -24.256614
2025-11-03T09:34:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7895733 -24.256614
2025-11-03T09:34:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7895733 -24.256614
2025-11-03T09:34:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7895733 -24.256614
2025-11-03T09:34:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7895733;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80934;2460982.81530977;9.56741028;1.3;_14.7649997040554 -24.1486751396752
2025-11-03T09:34:02.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7649997040554     dec_j2k = -24.1486751396752
2025-11-03T09:34:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096750487390189;171.162362694745;_
2025-11-03T09:34:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096750487390189;171.162362694745;_
2025-11-03T09:34:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53637)
2025-11-03T09:34:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:02.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:02.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81530975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096750487390189, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7895733, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80934, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7649997040554, telescope_dec_j2k=-24.1486751396752, observability=1)
2025-11-03T09:34:03.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:03
2025-11-03T09:34:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5822210311889648s
2025-11-03T09:34:03.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5822210311889648
2025-11-03T09:34:03.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:03
2025-11-03T09:34:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037845611572266s
2025-11-03T09:34:03.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037845611572266
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Status age = 1.9211933612823486s
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:04.703 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:04.704 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:04.705 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 17;14.7901058;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80987;2460982.81533223;9.56794139;1.3;_
2025-11-03T09:34:04.705 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response 17;14.7901058;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80987;2460982.81533223;9.56794139;1.3;_
2025-11-03T09:34:04.705 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:04.705 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:04.705 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:04.706 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:04.706 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:04.706 [INFO] [Thread-88675 (handle)] [driver.py] [get_status()] Telra = 14.7901058, teldec = -24.256614
2025-11-03T09:34:04.706 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7901058 -24.256614
2025-11-03T09:34:04.706 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7901058 -24.256614
2025-11-03T09:34:04.707 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7901058 -24.256614
2025-11-03T09:34:04.707 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 17;14.7901058;-24.256614;50.108572;89.993054;50.08601;90.12017;11.80987;2460982.81533226;9.56794139;1.3;_14.7655317478112 -24.1486879356717
2025-11-03T09:34:04.708 [INFO] [Thread-88675 (handle)] [driver.py] [get_status()] ra_j2k = 14.7655317478112     dec_j2k = -24.1486879356717
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 140;0.0967506879499031;171.162351965909;_
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response 140;0.0967506879499031;171.162351965909;_
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:04.708 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:04.709 [DEBUG] [Thread-88675 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54661)
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:04.712 [DEBUG] [Thread-88675 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:04.719 [DEBUG] [Thread-88675 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:04.719 [DEBUG] [Thread-88675 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:04.720 [DEBUG] [Thread-88675 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:04.720 [INFO] [Thread-88675 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81533223, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967506879499031, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7901058, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.80987, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7655317478112, telescope_dec_j2k=-24.1486879356717, observability=1)
2025-11-03T09:34:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:04
2025-11-03T09:34:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04261946678161621s
2025-11-03T09:34:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04261946678161621
2025-11-03T09:34:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:05
2025-11-03T09:34:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6411612033843994s
2025-11-03T09:34:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6411612033843994
2025-11-03T09:34:05.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:05
2025-11-03T09:34:05.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:05.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6637279987335205s
2025-11-03T09:34:05.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6637279987335205
2025-11-03T09:34:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:06
2025-11-03T09:34:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0414199829101562s
2025-11-03T09:34:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7906936;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81046;2460982.81535606;9.5685275;1.3;_
2025-11-03T09:34:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7906936;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81046;2460982.81535606;9.5685275;1.3;_
2025-11-03T09:34:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7906936, teldec = -24.256614
2025-11-03T09:34:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7906936 -24.256614
2025-11-03T09:34:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7906936 -24.256614
2025-11-03T09:34:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7906936 -24.256614
2025-11-03T09:34:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7906936;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81046;2460982.81535609;9.5685275;1.3;_14.7661190442401 -24.1487020629987
2025-11-03T09:34:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7661190442401     dec_j2k = -24.1487020629987
2025-11-03T09:34:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967509286215599;171.162368059163;_
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967509286215599;171.162368059163;_
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43737)
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:06.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:06.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:06.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81535606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967509286215599, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7906936, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81046, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7661190442401, telescope_dec_j2k=-24.1487020629987, observability=1)
2025-11-03T09:34:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:07
2025-11-03T09:34:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5774915218353271s
2025-11-03T09:34:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5774915218353271
2025-11-03T09:34:07.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:07
2025-11-03T09:34:07.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:07.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5990245342254639s
2025-11-03T09:34:07.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5990245342254639
2025-11-03T09:34:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:08
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776501655578613s
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7912451;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81101;2460982.81537919;9.5690775;1.3;_
2025-11-03T09:34:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7912451;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81101;2460982.81537919;9.5690775;1.3;_
2025-11-03T09:34:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:08.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7912451, teldec = -24.256614
2025-11-03T09:34:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7912451 -24.256614
2025-11-03T09:34:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7912451 -24.256614
2025-11-03T09:34:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7912451 -24.256614
2025-11-03T09:34:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7912451;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81101;2460982.81537922;9.5690775;1.3;_14.766670071819 -24.1487153202386
2025-11-03T09:34:08.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.766670071819     dec_j2k = -24.1487153202386
2025-11-03T09:34:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967507280618459;171.162357330327;_
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967507280618459;171.162357330327;_
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47193)
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81537919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967507280618459, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7912451, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.766670071819, telescope_dec_j2k=-24.1487153202386, observability=1)
2025-11-03T09:34:10.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:10
2025-11-03T09:34:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981827974319458s
2025-11-03T09:34:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7918055;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81157;2460982.81540232;9.56963639;1.3;_
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7918055;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81157;2460982.81540232;9.56963639;1.3;_
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:10.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7918055, teldec = -24.256614
2025-11-03T09:34:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7918055 -24.256614
2025-11-03T09:34:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7918055 -24.256614
2025-11-03T09:34:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7918055 -24.256614
2025-11-03T09:34:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7918055;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81157;2460982.81540234;9.56963639;1.3;_14.7672299918252 -24.1487287937574
2025-11-03T09:34:10.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7672299918252     dec_j2k = -24.1487287937574
2025-11-03T09:34:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967505275021319;171.162362694745;_
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967505275021319;171.162362694745;_
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:10.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43895)
2025-11-03T09:34:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:10.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:10.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:10.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:10.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81540232, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967505275021319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7918055, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81157, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7672299918252, telescope_dec_j2k=-24.1487287937574, observability=1)
2025-11-03T09:34:12.128 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:34:12
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.3548462390899658s
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:12.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:12.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7921693;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81194;2460982.81541816;9.56999917;1.3;_
2025-11-03T09:34:12.130 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.7921693;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81194;2460982.81541816;9.56999917;1.3;_
2025-11-03T09:34:12.130 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:12.130 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:12.130 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:12.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:12.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:12.131 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.7921693, teldec = -24.256614
2025-11-03T09:34:12.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7921693 -24.256614
2025-11-03T09:34:12.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7921693 -24.256614
2025-11-03T09:34:12.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7921693 -24.256614
2025-11-03T09:34:12.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.7921693;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81194;2460982.81541819;9.56999917;1.3;_14.7675934802508 -24.1487375417453
2025-11-03T09:34:12.132 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7675934802508     dec_j2k = -24.1487375417453
2025-11-03T09:34:12.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:12.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:12.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967509286215599;171.162362694745;_
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967509286215599;171.162362694745;_
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:12.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:12.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:12.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:12.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:12.135 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57689)
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:12.137 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:12.144 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:12.145 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:12.145 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:12.145 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81541816, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967509286215599, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7921693, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81194, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7675934802508, telescope_dec_j2k=-24.1487375417453, observability=1)
2025-11-03T09:34:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:12
2025-11-03T09:34:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6181449890136719s
2025-11-03T09:34:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6181449890136719
2025-11-03T09:34:13.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:13
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2201287746429443s
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7925325;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8123;2460982.81543248;9.57036139;1.3;_
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7925325;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8123;2460982.81543248;9.57036139;1.3;_
2025-11-03T09:34:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:13.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7925325, teldec = -24.256614
2025-11-03T09:34:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7925325 -24.256614
2025-11-03T09:34:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7925325 -24.256614
2025-11-03T09:34:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7925325 -24.256614
2025-11-03T09:34:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7925325;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8123;2460982.81543251;9.57036139;1.3;_14.7679563692119 -24.1487462762952
2025-11-03T09:34:13.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7679563692119     dec_j2k = -24.1487462762952
2025-11-03T09:34:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967511291812739;171.162357330327;_
2025-11-03T09:34:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967511291812739;171.162357330327;_
2025-11-03T09:34:13.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:13.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:13.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:13.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:13.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:13.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36751)
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:13.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81543248, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967511291812739, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7925325, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8123, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.7679563692119, telescope_dec_j2k=-24.1487462762952, observability=1)
2025-11-03T09:34:13.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:13
2025-11-03T09:34:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021306753158569336s
2025-11-03T09:34:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021306753158569336
2025-11-03T09:34:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:14
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3760311603546143s
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:14.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.792916;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81268;2460982.81544862;9.57074389;1.3;_
2025-11-03T09:34:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.792916;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81268;2460982.81544862;9.57074389;1.3;_
2025-11-03T09:34:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.792916, teldec = -24.256614
2025-11-03T09:34:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.792916 -24.256614
2025-11-03T09:34:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.792916 -24.256614
2025-11-03T09:34:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.792916 -24.256614
2025-11-03T09:34:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.792916;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81268;2460982.81544866;9.57074389;1.3;_14.768339540812 -24.1487555001105
2025-11-03T09:34:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.768339540812     dec_j2k = -24.1487555001105
2025-11-03T09:34:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967514901887592;171.162351965909;_
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967514901887592;171.162351965909;_
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34203)
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:14.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81544862, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967514901887592, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.792916, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81268, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:33:15.571988', telescope_ra_j2k=14.768339540812, telescope_dec_j2k=-24.1487555001105, observability=1)
2025-11-03T09:34:15.556 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:34:15.556 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7804570198059082s
2025-11-03T09:34:15.556 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7804570198059082
2025-11-03T09:34:15.556 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.428048610687256 seconds ago
2025-11-03T09:34:15.714 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:15.714 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:15.714 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:15.715 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:15.715 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:15.716 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:15.716 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:15.716 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:15.716 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:34:15.716 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:34:15.717 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:34:15.718 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:16.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:16
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6463432312011719s
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:16.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7933645;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81313;2460982.81546786;9.57119111;1.3;_
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7933645;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81313;2460982.81546786;9.57119111;1.3;_
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:16.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:16.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:16.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7933645, teldec = -24.256614
2025-11-03T09:34:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7933645 -24.256614
2025-11-03T09:34:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7933645 -24.256614
2025-11-03T09:34:16.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7933645 -24.256614
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7933645;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81313;2460982.81546789;9.57119111;1.3;_14.7687876567817 -24.1487662886828
2025-11-03T09:34:16.426 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7687876567817     dec_j2k = -24.1487662886828
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096751530300702;171.162357330327;_
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096751530300702;171.162357330327;_
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:16.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:16.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:16.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:16.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:16.431 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55217)
2025-11-03T09:34:16.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:16.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:16.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:16.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:16.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:16.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:16.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81546786, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096751530300702, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7933645, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81313, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7687876567817, telescope_dec_j2k=-24.1487662886828, observability=1)
2025-11-03T09:34:16.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:16
2025-11-03T09:34:16.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:16.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022516250610351562s
2025-11-03T09:34:16.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022516250610351562
2025-11-03T09:34:16.718 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:16.719 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:16.720 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:16.721 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:16.721 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:16.722 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:16.722 [DEBUG] [ThreadPoolExecutor-3410_0] [payload.py] [to_registers()] [0]
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36931)
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:16.728 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:16.735 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:16.735 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:34:16.735 [DEBUG] [ThreadPoolExecutor-3410_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:34:16.735 [DEBUG] [ThreadPoolExecutor-3410_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:34:16.736 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:16.736 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:16.736 [DEBUG] [ThreadPoolExecutor-3410_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:16.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:16
2025-11-03T09:34:16.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:16.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35442280769348145s
2025-11-03T09:34:16.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35442280769348145
2025-11-03T09:34:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:18
2025-11-03T09:34:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.323970079421997s
2025-11-03T09:34:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7940363;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8138;2460982.81549498;9.57186111;1.3;_
2025-11-03T09:34:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7940363;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8138;2460982.81549498;9.57186111;1.3;_
2025-11-03T09:34:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7940363, teldec = -24.256614
2025-11-03T09:34:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7940363 -24.256614
2025-11-03T09:34:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7940363 -24.256614
2025-11-03T09:34:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7940363 -24.256614
2025-11-03T09:34:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7940363;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8138;2460982.815495;9.57186111;1.3;_14.7694588816114 -24.1487824515093
2025-11-03T09:34:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7694588816114     dec_j2k = -24.1487824515093
2025-11-03T09:34:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967517709723588;171.162357330327;_
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967517709723588;171.162357330327;_
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52185)
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:18.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81549498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967517709723588, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7940363, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8138, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7694588816114, telescope_dec_j2k=-24.1487824515093, observability=1)
2025-11-03T09:34:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:20
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98343825340271s
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.794587;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81435;2460982.81551812;9.57241028;1.3;_
2025-11-03T09:34:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.794587;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81435;2460982.81551812;9.57241028;1.3;_
2025-11-03T09:34:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.794587, teldec = -24.256614
2025-11-03T09:34:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.794587 -24.256614
2025-11-03T09:34:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.794587 -24.256614
2025-11-03T09:34:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.794587 -24.256614
2025-11-03T09:34:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.794587;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81435;2460982.81551816;9.57241028;1.3;_14.7700091101779 -24.148795703315
2025-11-03T09:34:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7700091101779     dec_j2k = -24.148795703315
2025-11-03T09:34:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967514099648736;171.162368059163;_
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967514099648736;171.162368059163;_
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52035)
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:20.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:20.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:20.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81551812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967514099648736, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.794587, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81435, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7700091101779, telescope_dec_j2k=-24.148795703315, observability=1)
2025-11-03T09:34:21.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:21
2025-11-03T09:34:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6813328266143799s
2025-11-03T09:34:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6813328266143799
2025-11-03T09:34:21.492 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:21
2025-11-03T09:34:21.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:21.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7052054405212402s
2025-11-03T09:34:21.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7052054405212402
2025-11-03T09:34:22.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:22
2025-11-03T09:34:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795169830322266s
2025-11-03T09:34:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.8155413;9.57296917;1.3;_
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.8155413;9.57296917;1.3;_
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7951474, teldec = -24.256614
2025-11-03T09:34:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.81554132;9.57296917;1.3;_14.7705690304916 -24.14880919087
2025-11-03T09:34:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7705690304916     dec_j2k = -24.14880919087
2025-11-03T09:34:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967515704126448;171.162362694745;_
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967515704126448;171.162362694745;_
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Status age = 1.9899473190307617s
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:22.777 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:22.778 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36479)
2025-11-03T09:34:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:22.779 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.81554142;9.57296917;1.3;_
2025-11-03T09:34:22.779 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.81554142;9.57296917;1.3;_
2025-11-03T09:34:22.779 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:22.779 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:22.779 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:22.780 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:22.780 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:22.780 [INFO] [Thread-88676 (handle)] [driver.py] [get_status()] Telra = 14.7951474, teldec = -24.256614
2025-11-03T09:34:22.780 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.780 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.780 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7951474 -24.256614
2025-11-03T09:34:22.781 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 17;14.7951474;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81491;2460982.81554145;9.57296917;1.3;_14.7705690304916 -24.14880919087
2025-11-03T09:34:22.781 [INFO] [Thread-88676 (handle)] [driver.py] [get_status()] ra_j2k = 14.7705690304916     dec_j2k = -24.14880919087
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 140;0.0967515704126448;171.162362694745;_
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response 140;0.0967515704126448;171.162362694745;_
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:22.782 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:22.783 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:22.784 [DEBUG] [Thread-88676 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.784 [DEBUG] [Thread-88676 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:22.784 [DEBUG] [Thread-88676 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59221)
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:22.786 [DEBUG] [Thread-88676 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:22.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:22.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8155413, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967515704126448, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7951474, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81491, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7705690304916, telescope_dec_j2k=-24.14880919087, observability=1)
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:22.795 [DEBUG] [Thread-88676 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:22.795 [INFO] [Thread-88676 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81554142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967515704126448, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7951474, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81491, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7705690304916, telescope_dec_j2k=-24.14880919087, observability=1)
2025-11-03T09:34:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:23
2025-11-03T09:34:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5659604072570801s
2025-11-03T09:34:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5659604072570801
2025-11-03T09:34:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:23
2025-11-03T09:34:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.588407039642334s
2025-11-03T09:34:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.588407039642334
2025-11-03T09:34:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:24
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9624524116516113s
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:24.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:24.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7957075;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81547;2460982.81556435;9.57352778;1.3;_
2025-11-03T09:34:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7957075;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81547;2460982.81556435;9.57352778;1.3;_
2025-11-03T09:34:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:24.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7957075, teldec = -24.256614
2025-11-03T09:34:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7957075 -24.256614
2025-11-03T09:34:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7957075 -24.256614
2025-11-03T09:34:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7957075 -24.256614
2025-11-03T09:34:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7957075;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81547;2460982.81556438;9.57352778;1.3;_14.7711286511137 -24.1488226735555
2025-11-03T09:34:24.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7711286511137     dec_j2k = -24.1488226735555
2025-11-03T09:34:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09675193142013;171.162351965909;_
2025-11-03T09:34:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09675193142013;171.162351965909;_
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44861)
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:24.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:24.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:24.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81556435, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09675193142013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7957075, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81547, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7711286511137, telescope_dec_j2k=-24.1488226735555, observability=1)
2025-11-03T09:34:26.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:26
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6457550525665283s
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:26.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:26.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7961549;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81592;2460982.8155836;9.57397389;1.3;_
2025-11-03T09:34:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7961549;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81592;2460982.8155836;9.57397389;1.3;_
2025-11-03T09:34:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:26.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:26.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7961549, teldec = -24.256614
2025-11-03T09:34:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7961549 -24.256614
2025-11-03T09:34:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7961549 -24.256614
2025-11-03T09:34:26.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7961549 -24.256614
2025-11-03T09:34:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7961549;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81592;2460982.81558362;9.57397389;1.3;_14.7715756682305 -24.1488334450233
2025-11-03T09:34:26.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7715756682305     dec_j2k = -24.1488334450233
2025-11-03T09:34:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:26.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096751730860416;171.162373423581;_
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096751730860416;171.162373423581;_
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:26.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:26.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:26.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45083)
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:26.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:26.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:26.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8155836, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096751730860416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7961549, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81592, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7715756682305, telescope_dec_j2k=-24.1488334450233, observability=1)
2025-11-03T09:34:26.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:26
2025-11-03T09:34:26.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:26.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023602724075317383s
2025-11-03T09:34:26.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023602724075317383
2025-11-03T09:34:26.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:26
2025-11-03T09:34:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3179965019226074s
2025-11-03T09:34:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3179965019226074
2025-11-03T09:34:28.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:28
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9220600128173828s
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:28.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7967069;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81647;2460982.8156061;9.57452444;1.3;_
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7967069;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81647;2460982.8156061;9.57452444;1.3;_
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:28.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7967069, teldec = -24.256614
2025-11-03T09:34:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7967069 -24.256614
2025-11-03T09:34:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7967069 -24.256614
2025-11-03T09:34:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7967069 -24.256614
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7967069;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81647;2460982.81560613;9.57452444;1.3;_14.7721271958763 -24.1488467368751
2025-11-03T09:34:28.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7721271958763     dec_j2k = -24.1488467368751
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967518511962444;171.162362694745;_
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967518511962444;171.162362694745;_
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45865)
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:28.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:28.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8156061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967518511962444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7967069, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81647, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7721271958763, telescope_dec_j2k=-24.1488467368751, observability=1)
2025-11-03T09:34:28.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:28
2025-11-03T09:34:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022175073623657227s
2025-11-03T09:34:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022175073623657227
2025-11-03T09:34:28.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:28
2025-11-03T09:34:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3784794807434082s
2025-11-03T09:34:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3784794807434082
2025-11-03T09:34:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:30
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.386538028717041s
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7973802;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81715;2460982.8156339;9.57519583;1.3;_
2025-11-03T09:34:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7973802;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81715;2460982.8156339;9.57519583;1.3;_
2025-11-03T09:34:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7973802, teldec = -24.256614
2025-11-03T09:34:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7973802 -24.256614
2025-11-03T09:34:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7973802 -24.256614
2025-11-03T09:34:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7973802 -24.256614
2025-11-03T09:34:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7973802;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81715;2460982.81563392;9.57519583;1.3;_14.7727999197918 -24.1488629526524
2025-11-03T09:34:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7727999197918     dec_j2k = -24.1488629526524
2025-11-03T09:34:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967518110843016;171.162346601491;_
2025-11-03T09:34:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967518110843016;171.162346601491;_
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53869)
2025-11-03T09:34:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:30.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:30.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:30.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8156339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967518110843016, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7973802, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81715, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7727999197918, telescope_dec_j2k=-24.1488629526524, observability=1)
2025-11-03T09:34:31.602 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:31
2025-11-03T09:34:31.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:31.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8120114803314209s
2025-11-03T09:34:31.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8120114803314209
2025-11-03T09:34:31.625 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:31
2025-11-03T09:34:31.625 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:31.626 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8351249694824219s
2025-11-03T09:34:31.626 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8351249694824219
2025-11-03T09:34:31.740 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:31.740 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.9494223594665527s
2025-11-03T09:34:31.740 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9494223594665527
2025-11-03T09:34:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:32
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9725100994110107s
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.797932;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8177;2460982.815657;9.57574611;1.3;_
2025-11-03T09:34:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.797932;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8177;2460982.815657;9.57574611;1.3;_
2025-11-03T09:34:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.797932, teldec = -24.256614
2025-11-03T09:34:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.797932 -24.256614
2025-11-03T09:34:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.797932 -24.256614
2025-11-03T09:34:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.797932 -24.256614
2025-11-03T09:34:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.797932;-24.256614;50.108572;89.993054;50.08601;90.12017;11.8177;2460982.81565703;9.57574611;1.3;_14.77335124772 -24.148876244751
2025-11-03T09:34:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.77335124772     dec_j2k = -24.148876244751
2025-11-03T09:34:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967520918679013;171.162368059163;_
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967520918679013;171.162368059163;_
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60785)
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:32.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:32.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:32.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:32.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:32.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.815657, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967520918679013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.797932, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8177, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.77335124772, telescope_dec_j2k=-24.148876244751, observability=1)
2025-11-03T09:34:34.507 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:34
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7230045795440674s
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:34.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:34.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:34.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7984097;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81818;2460982.81567719;9.5762225;1.3;_
2025-11-03T09:34:34.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7984097;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81818;2460982.81567719;9.5762225;1.3;_
2025-11-03T09:34:34.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:34.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:34.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:34.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:34.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:34.510 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7984097, teldec = -24.256614
2025-11-03T09:34:34.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7984097 -24.256614
2025-11-03T09:34:34.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7984097 -24.256614
2025-11-03T09:34:34.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7984097 -24.256614
2025-11-03T09:34:34.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7984097;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81818;2460982.81567721;9.5762225;1.3;_14.7738285390821 -24.1488877537242
2025-11-03T09:34:34.511 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7738285390821     dec_j2k = -24.1488877537242
2025-11-03T09:34:34.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:34.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:34.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967524127634437;171.162357330327;_
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967524127634437;171.162357330327;_
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:34.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:34.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:34.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:34.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:34.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58435)
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:34.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:34.525 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:34.525 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81567719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967524127634437, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7984097, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81818, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7738285390821, telescope_dec_j2k=-24.1488877537242, observability=1)
2025-11-03T09:34:34.548 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:34
2025-11-03T09:34:34.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:34.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022613525390625s
2025-11-03T09:34:34.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022613525390625
2025-11-03T09:34:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:34
2025-11-03T09:34:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2365429401397705s
2025-11-03T09:34:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2365429401397705
2025-11-03T09:34:36.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:36
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8936445713043213s
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:36.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7989419;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81871;2460982.81569932;9.57675333;1.3;_
2025-11-03T09:34:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7989419;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81871;2460982.81569932;9.57675333;1.3;_
2025-11-03T09:34:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:36.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7989419, teldec = -24.256614
2025-11-03T09:34:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7989419 -24.256614
2025-11-03T09:34:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7989419 -24.256614
2025-11-03T09:34:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7989419 -24.256614
2025-11-03T09:34:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7989419;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81871;2460982.81569934;9.57675333;1.3;_14.7743602838676 -24.1489005777488
2025-11-03T09:34:36.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7743602838676     dec_j2k = -24.1489005777488
2025-11-03T09:34:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:34:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:36.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49141)
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:36.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:36.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:36.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:36.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:36.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81569932, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096752974330643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7989419, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81871, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7743602838676, telescope_dec_j2k=-24.1489005777488, observability=1)
2025-11-03T09:34:36.460 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:36
2025-11-03T09:34:36.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:36.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023689985275268555s
2025-11-03T09:34:36.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023689985275268555
2025-11-03T09:34:36.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:36
2025-11-03T09:34:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3268578052520752s
2025-11-03T09:34:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3268578052520752
2025-11-03T09:34:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:38
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.327047348022461s
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7996065;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81937;2460982.81572646;9.57741611;1.3;_
2025-11-03T09:34:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.7996065;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81937;2460982.81572646;9.57741611;1.3;_
2025-11-03T09:34:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:38.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.7996065, teldec = -24.256614
2025-11-03T09:34:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.7996065 -24.256614
2025-11-03T09:34:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.7996065 -24.256614
2025-11-03T09:34:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.7996065 -24.256614
2025-11-03T09:34:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.7996065;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81937;2460982.81572648;9.57741611;1.3;_14.7750243154708 -24.1489165950938
2025-11-03T09:34:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7750243154708     dec_j2k = -24.1489165950938
2025-11-03T09:34:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967524528753865;171.162362694745;_
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967524528753865;171.162362694745;_
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55917)
2025-11-03T09:34:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:38.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:38.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:38.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81572646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967524528753865, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.7996065, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81937, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7750243154708, telescope_dec_j2k=-24.1489165950938, observability=1)
2025-11-03T09:34:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:40
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976008653640747s
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8001394;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81991;2460982.8157496;9.5779475;1.3;_
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8001394;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81991;2460982.8157496;9.5779475;1.3;_
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8001394, teldec = -24.256614
2025-11-03T09:34:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8001394 -24.256614
2025-11-03T09:34:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8001394 -24.256614
2025-11-03T09:34:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8001394 -24.256614
2025-11-03T09:34:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8001675;-24.256614;50.108572;89.993054;50.08601;90.12017;11.81993;2460982.81574962;9.57797556;1.3;_14.7755567597626 -24.1489294407608
2025-11-03T09:34:40.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7755567597626     dec_j2k = -24.1489294407608
2025-11-03T09:34:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967522924276153;171.162351965909;_
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967522924276153;171.162351965909;_
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42553)
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:40.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:40.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8157496, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967522924276153, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.8001394, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.81991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7755567597626, telescope_dec_j2k=-24.1489294407608, observability=1)
2025-11-03T09:34:40.868 [DEBUG] [Thread-88677 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:40.868 [DEBUG] [Thread-88677 (handle)] [server.py] [get_status()] Status age = 0.08932900428771973s
2025-11-03T09:34:40.868 [DEBUG] [Thread-88677 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08932900428771973
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:41.736 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:41.737 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:34:41.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:42.238 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:42
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4594223499298096s
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:42.238 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:42.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8005792;-24.256614;50.108572;89.993054;50.08601;90.12017;11.82035;2460982.81576666;9.57838611;1.3;_
2025-11-03T09:34:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8005792;-24.256614;50.108572;89.993054;50.08601;90.12017;11.82035;2460982.81576666;9.57838611;1.3;_
2025-11-03T09:34:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:42.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:42.241 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8005792, teldec = -24.256614
2025-11-03T09:34:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8005792 -24.256614
2025-11-03T09:34:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8005792 -24.256614
2025-11-03T09:34:42.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8005792 -24.256614
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8005792;-24.256614;50.108572;89.993054;50.08601;90.12017;11.82035;2460982.81576669;9.57838611;1.3;_14.7759961837038 -24.1489400438333
2025-11-03T09:34:42.242 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7759961837038     dec_j2k = -24.1489400438333
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967526935470433;171.162362694745;_
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967526935470433;171.162362694745;_
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:42.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:42.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:42.244 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:42.244 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:42.244 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42467)
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:42.248 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:42.256 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:42.256 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81576666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967526935470433, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108572, telescope_az=89.993054, telescope_ra=14.8005792, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82035, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7759961837038, telescope_dec_j2k=-24.1489400438333, observability=1)
2025-11-03T09:34:42.278 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:42
2025-11-03T09:34:42.278 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:42.278 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022307157516479492s
2025-11-03T09:34:42.278 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022307157516479492
2025-11-03T09:34:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:42
2025-11-03T09:34:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5025205612182617s
2025-11-03T09:34:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5025205612182617
2025-11-03T09:34:44.295 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:44
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.038949489593506s
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:44.295 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:44.296 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:44.297 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8011402;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82091;2460982.81579047;9.57894556;1.3;_
2025-11-03T09:34:44.297 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8011402;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82091;2460982.81579047;9.57894556;1.3;_
2025-11-03T09:34:44.297 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:44.297 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:44.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:44.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:44.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:44.298 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8011402, teldec = -24.256614
2025-11-03T09:34:44.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8011402 -24.256614
2025-11-03T09:34:44.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8011402 -24.256614
2025-11-03T09:34:44.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8011402 -24.256614
2025-11-03T09:34:44.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8011402;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82091;2460982.81579051;9.57894556;1.3;_14.7765567040571 -24.1489535709991
2025-11-03T09:34:44.300 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7765567040571     dec_j2k = -24.1489535709991
2025-11-03T09:34:44.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:44.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:44.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967523726515009;171.162357330327;_
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967523726515009;171.162357330327;_
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:44.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:44.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:44.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:44.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:44.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59169)
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:44.306 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:44.313 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:44.314 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:44.314 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81579047, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967523726515009, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8011402, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82091, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7765567040571, telescope_dec_j2k=-24.1489535709991, observability=1)
2025-11-03T09:34:44.335 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:44
2025-11-03T09:34:44.335 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:44.335 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021617650985717773s
2025-11-03T09:34:44.335 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021617650985717773
2025-11-03T09:34:44.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:44
2025-11-03T09:34:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4498448371887207s
2025-11-03T09:34:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4498448371887207
2025-11-03T09:34:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:45
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0465929508209229s
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:45.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:45.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:45.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8014204;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82119;2460982.8158028;9.579225;1.3;_
2025-11-03T09:34:45.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8014204;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82119;2460982.8158028;9.579225;1.3;_
2025-11-03T09:34:45.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:45.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:45.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:45.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:45.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:45.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8014204, teldec = -24.256614
2025-11-03T09:34:45.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8014204 -24.256614
2025-11-03T09:34:45.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8014204 -24.256614
2025-11-03T09:34:45.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8014204 -24.256614
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8014204;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82119;2460982.81580282;9.579225;1.3;_14.7768366645096 -24.1489603282299
2025-11-03T09:34:45.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7768366645096     dec_j2k = -24.1489603282299
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967526935470433;171.162351965909;_
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967526935470433;171.162351965909;_
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:45.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:45.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:45.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:45.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:45.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40919)
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:45.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:45.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:45.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:45.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8158028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967526935470433, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8014204, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82119, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7768366645096, telescope_dec_j2k=-24.1489603282299, observability=1)
2025-11-03T09:34:46.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:46
2025-11-03T09:34:46.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:46.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800522327423096s
2025-11-03T09:34:46.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800522327423096
2025-11-03T09:34:46.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:46
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.413050651550293s
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:46.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:46.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8018318;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8216;2460982.81581936;9.57963528;1.3;_
2025-11-03T09:34:46.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8018318;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8216;2460982.81581936;9.57963528;1.3;_
2025-11-03T09:34:46.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:46.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:46.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:46.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:46.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:46.794 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8018318, teldec = -24.256614
2025-11-03T09:34:46.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8018318 -24.256614
2025-11-03T09:34:46.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8018318 -24.256614
2025-11-03T09:34:46.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8018318 -24.256614
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8018318;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8216;2460982.81581939;9.57963528;1.3;_14.7772477128206 -24.1489702505104
2025-11-03T09:34:46.796 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7772477128206     dec_j2k = -24.1489702505104
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967523726515009;171.162351965909;_
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967523726515009;171.162351965909;_
2025-11-03T09:34:46.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:46.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:46.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:46.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:46.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38659)
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:46.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:46.808 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81581936, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967523726515009, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8018318, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8216, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7772477128206, telescope_dec_j2k=-24.1489702505104, observability=1)
2025-11-03T09:34:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:47
2025-11-03T09:34:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5507698059082031s
2025-11-03T09:34:47.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5507698059082031
2025-11-03T09:34:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:48
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5519163608551025s
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8022814;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82205;2460982.81583752;9.58008361;1.3;_
2025-11-03T09:34:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8022814;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82205;2460982.81583752;9.58008361;1.3;_
2025-11-03T09:34:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8022814, teldec = -24.256614
2025-11-03T09:34:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8022814 -24.256614
2025-11-03T09:34:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8022814 -24.256614
2025-11-03T09:34:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8022814 -24.256614
2025-11-03T09:34:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8022814;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82205;2460982.81583755;9.58008361;1.3;_14.7776969285078 -24.1489810955589
2025-11-03T09:34:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7776969285078     dec_j2k = -24.1489810955589
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967524528753865;171.162346601491;_
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967524528753865;171.162346601491;_
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34545)
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:48.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:48.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:48.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:48.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:48.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81583752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967524528753865, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8022814, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7776969285078, telescope_dec_j2k=-24.1489810955589, observability=1)
2025-11-03T09:34:48.401 [DEBUG] [Thread-88678 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:48.402 [DEBUG] [Thread-88678 (handle)] [server.py] [get_status()] Status age = 0.02376079559326172s
2025-11-03T09:34:48.402 [DEBUG] [Thread-88678 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02376079559326172
2025-11-03T09:34:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:48
2025-11-03T09:34:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3796110153198242s
2025-11-03T09:34:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3796110153198242
2025-11-03T09:34:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:49
2025-11-03T09:34:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835753440856934s
2025-11-03T09:34:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835753440856934
2025-11-03T09:34:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:50
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834623336791992s
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8028137;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82258;2460982.81586068;9.58061444;1.3;_
2025-11-03T09:34:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8028137;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82258;2460982.81586068;9.58061444;1.3;_
2025-11-03T09:34:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8028137, teldec = -24.256614
2025-11-03T09:34:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8028137 -24.256614
2025-11-03T09:34:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8028137 -24.256614
2025-11-03T09:34:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8028137 -24.256614
2025-11-03T09:34:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8028137;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82258;2460982.81586071;9.58061444;1.3;_14.7782287735472 -24.1489939374142
2025-11-03T09:34:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7782287735472     dec_j2k = -24.1489939374142
2025-11-03T09:34:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967534155620138;171.162368059163;_
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967534155620138;171.162368059163;_
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37087)
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:50.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:50.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81586068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967534155620138, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8028137, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82258, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7782287735472, telescope_dec_j2k=-24.1489939374142, observability=1)
2025-11-03T09:34:50.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:50
2025-11-03T09:34:50.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:50.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3738133907318115s
2025-11-03T09:34:50.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3738133907318115
2025-11-03T09:34:51.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:51
2025-11-03T09:34:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9799699783325195s
2025-11-03T09:34:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9799699783325195
2025-11-03T09:34:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:52
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776184558868408s
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8033944;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82316;2460982.81588381;9.58119361;1.3;_
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8033944;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82316;2460982.81588381;9.58119361;1.3;_
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:52.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8033944, teldec = -24.256614
2025-11-03T09:34:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8033944 -24.256614
2025-11-03T09:34:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8033944 -24.256614
2025-11-03T09:34:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8033944 -24.256614
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8033944;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82316;2460982.81588383;9.58119361;1.3;_14.7788089772719 -24.1490079493472
2025-11-03T09:34:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7788089772719     dec_j2k = -24.1490079493472
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967524528753865;171.162351965909;_
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967524528753865;171.162351965909;_
2025-11-03T09:34:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53307)
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:52.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:52.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81588381, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967524528753865, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8033944, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7788089772719, telescope_dec_j2k=-24.1490079493472, observability=1)
2025-11-03T09:34:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:52
2025-11-03T09:34:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38576173782348633s
2025-11-03T09:34:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38576173782348633
2025-11-03T09:34:53.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:53
2025-11-03T09:34:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9868590831756592s
2025-11-03T09:34:53.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9868590831756592
2025-11-03T09:34:54.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:54
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824719429016113s
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.803927;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82369;2460982.81590698;9.58172472;1.3;_
2025-11-03T09:34:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.803927;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82369;2460982.81590698;9.58172472;1.3;_
2025-11-03T09:34:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.803927, teldec = -24.256614
2025-11-03T09:34:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.803927 -24.256614
2025-11-03T09:34:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.803927 -24.256614
2025-11-03T09:34:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.803927 -24.256614
2025-11-03T09:34:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8039551;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82372;2460982.815907;9.58175278;1.3;_14.7793411221526 -24.1490208028738
2025-11-03T09:34:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7793411221526     dec_j2k = -24.1490208028738
2025-11-03T09:34:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967530144425858;171.162357330327;_
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967530144425858;171.162357330327;_
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33237)
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:54.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:54.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:54.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81590698, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967530144425858, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.803927, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7793411221526, telescope_dec_j2k=-24.1490208028738, observability=1)
2025-11-03T09:34:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:54
2025-11-03T09:34:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38015222549438477s
2025-11-03T09:34:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38015222549438477
2025-11-03T09:34:55.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:55
2025-11-03T09:34:55.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:55.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9863340854644775s
2025-11-03T09:34:55.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9863340854644775
2025-11-03T09:34:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:56
2025-11-03T09:34:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836015701293945s
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8045069;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82427;2460982.81593014;9.58230306;1.3;_
2025-11-03T09:34:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8045069;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82427;2460982.81593014;9.58230306;1.3;_
2025-11-03T09:34:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8045069, teldec = -24.256614
2025-11-03T09:34:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8045069 -24.256614
2025-11-03T09:34:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8045069 -24.256614
2025-11-03T09:34:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8045069 -24.256614
2025-11-03T09:34:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8045069;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82427;2460982.81593016;9.58230306;1.3;_14.7799205266674 -24.149034800329
2025-11-03T09:34:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7799205266674     dec_j2k = -24.149034800329
2025-11-03T09:34:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967532150022998;171.162351965909;_
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967532150022998;171.162351965909;_
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48357)
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:56.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81593014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967532150022998, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8045069, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82427, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7799205266674, telescope_dec_j2k=-24.149034800329, observability=1)
2025-11-03T09:34:56.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:56
2025-11-03T09:34:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3788435459136963s
2025-11-03T09:34:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3788435459136963
2025-11-03T09:34:57.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:57
2025-11-03T09:34:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.978485107421875s
2025-11-03T09:34:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.978485107421875
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5923643112182617s
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8049562;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82472;2460982.8159488;9.58275111;1.3;_
2025-11-03T09:34:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.8049562;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82472;2460982.8159488;9.58275111;1.3;_
2025-11-03T09:34:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:57.977 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.8049562, teldec = -24.256614
2025-11-03T09:34:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8049562 -24.256614
2025-11-03T09:34:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8049562 -24.256614
2025-11-03T09:34:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8049562 -24.256614
2025-11-03T09:34:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8049562;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82472;2460982.81594882;9.58275111;1.3;_14.7803694428092 -24.1490456471285
2025-11-03T09:34:57.978 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.7803694428092     dec_j2k = -24.1490456471285
2025-11-03T09:34:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967529342187002;171.162362694745;_
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967529342187002;171.162362694745;_
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:34:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34207)
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:57.994 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:57.995 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:57.995 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8159488, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967529342187002, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8049562, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82472, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7803694428092, telescope_dec_j2k=-24.1490456471285, observability=1)
2025-11-03T09:34:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:58
2025-11-03T09:34:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3660881519317627s
2025-11-03T09:34:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3660881519317627
2025-11-03T09:34:58.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:58
2025-11-03T09:34:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7630002498626709s
2025-11-03T09:34:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7630002498626709
2025-11-03T09:34:58.932 [DEBUG] [Thread-88679 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:58.932 [DEBUG] [Thread-88679 (handle)] [server.py] [get_status()] Status age = 0.9376709461212158s
2025-11-03T09:34:58.932 [DEBUG] [Thread-88679 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9376709461212158
2025-11-03T09:34:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:34:59
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.366473913192749s
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:34:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:34:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:34:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:34:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:34:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:34:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:34:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:34:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:34:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8053205;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82509;2460982.81596485;9.58311444;1.3;_
2025-11-03T09:34:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8053205;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82509;2460982.81596485;9.58311444;1.3;_
2025-11-03T09:34:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:34:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:34:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:34:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:34:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8053205, teldec = -24.256614
2025-11-03T09:34:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8053205 -24.256614
2025-11-03T09:34:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8053205 -24.256614
2025-11-03T09:34:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8053205 -24.256614
2025-11-03T09:34:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8053484;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82511;2460982.81596488;9.58314222;1.3;_14.780733431595 -24.1490544430039
2025-11-03T09:34:59.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.780733431595     dec_j2k = -24.1490544430039
2025-11-03T09:34:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:34:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:34:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:34:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:34:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:34:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60303)
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:34:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:34:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:34:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:59.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:34:59.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:34:59.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81596485, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096752974330643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8053205, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82509, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.780733431595, telescope_dec_j2k=-24.1490544430039, observability=1)
2025-11-03T09:35:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:00
2025-11-03T09:35:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.979762077331543s
2025-11-03T09:35:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.979762077331543
2025-11-03T09:35:00.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:00
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.375335454940796s
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:00.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:00.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8057316;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8255;2460982.815981;9.58352444;1.3;_
2025-11-03T09:35:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8057316;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8255;2460982.815981;9.58352444;1.3;_
2025-11-03T09:35:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:00.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8057316, teldec = -24.256614
2025-11-03T09:35:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8057316 -24.256614
2025-11-03T09:35:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8057316 -24.256614
2025-11-03T09:35:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8057316 -24.256614
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8057316;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8255;2460982.81598102;9.58352444;1.3;_14.7811441804267 -24.1490643700376
2025-11-03T09:35:00.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7811441804267     dec_j2k = -24.1490643700376
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967531347784142;171.162362694745;_
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967531347784142;171.162362694745;_
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55219)
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:00.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:00.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:00.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.815981, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967531347784142, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8057316, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8255, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7811441804267, telescope_dec_j2k=-24.1490643700376, observability=1)
2025-11-03T09:35:01.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:01
2025-11-03T09:35:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5875186920166016s
2025-11-03T09:35:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5875186920166016
2025-11-03T09:35:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:02
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5878021717071533s
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8061812;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82595;2460982.81599957;9.58397278;1.3;_
2025-11-03T09:35:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8061812;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82595;2460982.81599957;9.58397278;1.3;_
2025-11-03T09:35:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8061812, teldec = -24.256614
2025-11-03T09:35:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8061812 -24.256614
2025-11-03T09:35:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8061812 -24.256614
2025-11-03T09:35:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8061812 -24.256614
2025-11-03T09:35:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8061812;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82595;2460982.81599961;9.58397278;1.3;_14.781593396403 -24.1490752281959
2025-11-03T09:35:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.781593396403     dec_j2k = -24.1490752281959
2025-11-03T09:35:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967530144425858;171.162362694745;_
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967530144425858;171.162362694745;_
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54447)
2025-11-03T09:35:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:02.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:02.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:02.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:02.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:02.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:02.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81599957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967530144425858, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8061812, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.781593396403, telescope_dec_j2k=-24.1490752281959, observability=1)
2025-11-03T09:35:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:02
2025-11-03T09:35:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3730788230895996s
2025-11-03T09:35:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3730788230895996
2025-11-03T09:35:03.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:03
2025-11-03T09:35:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9770505428314209s
2025-11-03T09:35:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9770505428314209
2025-11-03T09:35:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:04
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9761834144592285s
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.806714;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82648;2460982.81602271;9.58450417;1.3;_
2025-11-03T09:35:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.806714;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82648;2460982.81602271;9.58450417;1.3;_
2025-11-03T09:35:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.806714, teldec = -24.256614
2025-11-03T09:35:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.806714 -24.256614
2025-11-03T09:35:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.806714 -24.256614
2025-11-03T09:35:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.806714 -24.256614
2025-11-03T09:35:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.806714;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82651;2460982.81602273;9.58453222;1.3;_14.7821257413577 -24.1490880976489
2025-11-03T09:35:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7821257413577     dec_j2k = -24.1490880976489
2025-11-03T09:35:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967534556739567;171.162351965909;_
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967534556739567;171.162351965909;_
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:04.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60827)
2025-11-03T09:35:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:04.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:04.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:04.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81602271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967534556739567, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.806714, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82648, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7821257413577, telescope_dec_j2k=-24.1490880976489, observability=1)
2025-11-03T09:35:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:04
2025-11-03T09:35:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37774085998535156s
2025-11-03T09:35:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37774085998535156
2025-11-03T09:35:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:05
2025-11-03T09:35:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800310134887695s
2025-11-03T09:35:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800310134887695
2025-11-03T09:35:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:06
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796688556671143s
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8072948;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82706;2460982.81604587;9.58508333;1.3;_
2025-11-03T09:35:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8072948;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82706;2460982.81604587;9.58508333;1.3;_
2025-11-03T09:35:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8072948, teldec = -24.256614
2025-11-03T09:35:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8072948 -24.256614
2025-11-03T09:35:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8072948 -24.256614
2025-11-03T09:35:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8072948 -24.256614
2025-11-03T09:35:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8072948;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82706;2460982.81604589;9.58508333;1.3;_14.7827060453706 -24.1491021289287
2025-11-03T09:35:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7827060453706     dec_j2k = -24.1491021289287
2025-11-03T09:35:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096752974330643;171.162357330327;_
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43495)
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:06.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:06.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81604587, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096752974330643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8072948, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82706, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7827060453706, telescope_dec_j2k=-24.1491021289287, observability=1)
2025-11-03T09:35:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:06
2025-11-03T09:35:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3773071765899658s
2025-11-03T09:35:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3773071765899658
2025-11-03T09:35:07.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:07
2025-11-03T09:35:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9784450531005859s
2025-11-03T09:35:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9784450531005859
2025-11-03T09:35:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:08
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976783037185669s
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8078555;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82762;2460982.81606898;9.5856425;1.3;_
2025-11-03T09:35:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8078555;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82762;2460982.81606898;9.5856425;1.3;_
2025-11-03T09:35:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:08.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8078555, teldec = -24.256614
2025-11-03T09:35:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8078555 -24.256614
2025-11-03T09:35:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8078555 -24.256614
2025-11-03T09:35:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8078555 -24.256614
2025-11-03T09:35:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8078555;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82762;2460982.81606902;9.5856425;1.3;_14.7832662666012 -24.1491156770128
2025-11-03T09:35:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7832662666012     dec_j2k = -24.1491156770128
2025-11-03T09:35:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967534957858995;171.162351965909;_
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967534957858995;171.162351965909;_
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43255)
2025-11-03T09:35:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:08.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:08.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81606898, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967534957858995, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8078555, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82762, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7832662666012, telescope_dec_j2k=-24.1491156770128, observability=1)
2025-11-03T09:35:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:08
2025-11-03T09:35:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38837480545043945s
2025-11-03T09:35:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38837480545043945
2025-11-03T09:35:09.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:09
2025-11-03T09:35:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9827673435211182s
2025-11-03T09:35:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9827673435211182
2025-11-03T09:35:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:10
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827299118041992s
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8084062;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82817;2460982.81609216;9.58619167;1.3;_
2025-11-03T09:35:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8084062;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82817;2460982.81609216;9.58619167;1.3;_
2025-11-03T09:35:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8084062, teldec = -24.256614
2025-11-03T09:35:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8084062 -24.256614
2025-11-03T09:35:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8084062 -24.256614
2025-11-03T09:35:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8084062 -24.256614
2025-11-03T09:35:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8084062;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82817;2460982.81609219;9.58619167;1.3;_14.7838164964211 -24.1491289857551
2025-11-03T09:35:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7838164964211     dec_j2k = -24.1491289857551
2025-11-03T09:35:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967533353381282;171.162357330327;_
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967533353381282;171.162357330327;_
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:10.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45309)
2025-11-03T09:35:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:10.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:10.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81609216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967533353381282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8084062, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82817, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7838164964211, telescope_dec_j2k=-24.1491289857551, observability=1)
2025-11-03T09:35:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:10
2025-11-03T09:35:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3766322135925293s
2025-11-03T09:35:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3766322135925293
2025-11-03T09:35:11.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:11
2025-11-03T09:35:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9766149520874023s
2025-11-03T09:35:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9766149520874023
2025-11-03T09:35:12.206 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:35:12
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8219187259674072s
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:12.206 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:12.207 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:12.208 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.8089106;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82868;2460982.81611352;9.58669472;1.3;_
2025-11-03T09:35:12.208 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.8089106;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82868;2460982.81611352;9.58669472;1.3;_
2025-11-03T09:35:12.208 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:12.208 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:12.208 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:12.209 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:12.209 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:12.209 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.8089106, teldec = -24.256614
2025-11-03T09:35:12.209 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8089106 -24.256614
2025-11-03T09:35:12.209 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8089106 -24.256614
2025-11-03T09:35:12.209 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8089106 -24.256614
2025-11-03T09:35:12.210 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.8089106;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82868;2460982.81611354;9.58669472;1.3;_14.7843204658153 -24.1491411775551
2025-11-03T09:35:12.210 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.7843204658153     dec_j2k = -24.1491411775551
2025-11-03T09:35:12.210 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:12.210 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:12.210 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967537364575563;171.162357330327;_
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967537364575563;171.162357330327;_
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:12.211 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:12.212 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:12.212 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:12.212 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:12.212 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:12.213 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:12.213 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:12.213 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:12.213 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:12.214 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49955)
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:12.217 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:12.225 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:12.225 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81611352, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967537364575563, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8089106, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82868, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7843204658153, telescope_dec_j2k=-24.1491411775551, observability=1)
2025-11-03T09:35:12.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:12
2025-11-03T09:35:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1374671459197998s
2025-11-03T09:35:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1374671459197998
2025-11-03T09:35:12.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:12
2025-11-03T09:35:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5339868068695068s
2025-11-03T09:35:12.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5339868068695068
2025-11-03T09:35:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:13
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1346237659454346s
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8092471;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82901;2460982.81612688;9.58703028;1.3;_
2025-11-03T09:35:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8092471;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82901;2460982.81612688;9.58703028;1.3;_
2025-11-03T09:35:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:13.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8092471, teldec = -24.256614
2025-11-03T09:35:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8092471 -24.256614
2025-11-03T09:35:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8092471 -24.256614
2025-11-03T09:35:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8092471 -24.256614
2025-11-03T09:35:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8092471;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82901;2460982.8161269;9.58703028;1.3;_14.7846566785689 -24.1491493121183
2025-11-03T09:35:13.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7846566785689     dec_j2k = -24.1491493121183
2025-11-03T09:35:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967536562336707;171.162351965909;_
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967536562336707;171.162351965909;_
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51361)
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:13.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:13.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:13.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81612688, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967536562336707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8092471, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82901, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7846566785689, telescope_dec_j2k=-24.1491493121183, observability=1)
2025-11-03T09:35:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:14
2025-11-03T09:35:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834239482879639s
2025-11-03T09:35:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834239482879639
2025-11-03T09:35:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:14
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3831086158752441s
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8096111;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82938;2460982.81614308;9.58739333;1.3;_
2025-11-03T09:35:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8096111;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82938;2460982.81614308;9.58739333;1.3;_
2025-11-03T09:35:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8096111, teldec = -24.256614
2025-11-03T09:35:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8096111 -24.256614
2025-11-03T09:35:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8096111 -24.256614
2025-11-03T09:35:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8096111 -24.256614
2025-11-03T09:35:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8096111;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82938;2460982.8161431;9.58739333;1.3;_14.7850203678687 -24.1491581124197
2025-11-03T09:35:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7850203678687     dec_j2k = -24.1491581124197
2025-11-03T09:35:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967541776889271;171.162351965909;_
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967541776889271;171.162351965909;_
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:14.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35485)
2025-11-03T09:35:14.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:14.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:14.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:14.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:14.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:14.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:14.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81614308, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967541776889271, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8096111, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:34:15.714416', telescope_ra_j2k=14.7850203678687, telescope_dec_j2k=-24.1491581124197, observability=1)
2025-11-03T09:35:15.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:15
2025-11-03T09:35:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5844364166259766s
2025-11-03T09:35:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5844364166259766
2025-11-03T09:35:15.616 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:35:15.616 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8389883041381836s
2025-11-03T09:35:15.616 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8389883041381836
2025-11-03T09:35:15.616 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.41023588180542 seconds ago
2025-11-03T09:35:15.856 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:15.856 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:15.856 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:15.857 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:15.857 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:15.858 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:15.858 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:15.858 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:15.858 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:35:15.858 [INFO] [ThreadPoolExecutor-3411_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:35:15.858 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T09:35:16.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:16
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.582148790359497s
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8100774;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82984;2460982.81616157;9.58785833;1.3;_
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8100774;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82984;2460982.81616157;9.58785833;1.3;_
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:16.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8100774, teldec = -24.256614
2025-11-03T09:35:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8100774 -24.256614
2025-11-03T09:35:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8100774 -24.256614
2025-11-03T09:35:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8100774 -24.256614
2025-11-03T09:35:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8100774;-24.256614;50.108571;89.993054;50.08601;90.12017;11.82984;2460982.8161616;9.58785833;1.3;_14.7854862698802 -24.1491693874382
2025-11-03T09:35:16.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7854862698802     dec_j2k = -24.1491693874382
2025-11-03T09:35:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967537765694991;171.162351965909;_
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967537765694991;171.162351965909;_
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58643)
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:16.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:16.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81616157, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967537765694991, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8100774, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.82984, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7854862698802, telescope_dec_j2k=-24.1491693874382, observability=1)
2025-11-03T09:35:16.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:16
2025-11-03T09:35:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39074206352233887s
2025-11-03T09:35:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39074206352233887
2025-11-03T09:35:17.006 [DEBUG] [Thread-88680 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:17.006 [DEBUG] [Thread-88680 (handle)] [server.py] [get_status()] Status age = 0.6311116218566895s
2025-11-03T09:35:17.006 [DEBUG] [Thread-88680 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6311116218566895
2025-11-03T09:35:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:17
2025-11-03T09:35:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9855973720550537s
2025-11-03T09:35:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9855973720550537
2025-11-03T09:35:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:18
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9859619140625s
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8106381;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8304;2460982.81618476;9.5884175;1.3;_
2025-11-03T09:35:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8106381;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8304;2460982.81618476;9.5884175;1.3;_
2025-11-03T09:35:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8106381, teldec = -24.256614
2025-11-03T09:35:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8106381 -24.256614
2025-11-03T09:35:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8106381 -24.256614
2025-11-03T09:35:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8106381 -24.256614
2025-11-03T09:35:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8106381;-24.256614;50.108571;89.993054;50.08601;90.12017;11.8304;2460982.81618478;9.5884175;1.3;_14.7860464913684 -24.1491829471752
2025-11-03T09:35:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7860464913684     dec_j2k = -24.1491829471752
2025-11-03T09:35:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967543381366984;171.162351965909;_
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967543381366984;171.162351965909;_
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52247)
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:18.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:18.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81618476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967543381366984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8106381, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8304, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7860464913684, telescope_dec_j2k=-24.1491829471752, observability=1)
2025-11-03T09:35:18.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:18
2025-11-03T09:35:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3817293643951416s
2025-11-03T09:35:18.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3817293643951416
2025-11-03T09:35:19.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:19
2025-11-03T09:35:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835097789764404s
2025-11-03T09:35:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835097789764404
2025-11-03T09:35:20.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:20
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986790657043457s
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8111985;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83096;2460982.81620796;9.58897639;1.3;_
2025-11-03T09:35:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8111985;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83096;2460982.81620796;9.58897639;1.3;_
2025-11-03T09:35:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:20.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8111985, teldec = -24.256614
2025-11-03T09:35:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8111985 -24.256614
2025-11-03T09:35:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8111985 -24.256614
2025-11-03T09:35:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8111985 -24.256614
2025-11-03T09:35:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8111985;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83096;2460982.81620799;9.58897639;1.3;_14.7866064131647 -24.1491965020024
2025-11-03T09:35:20.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7866064131647     dec_j2k = -24.1491965020024
2025-11-03T09:35:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967533353381282;171.162351965909;_
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967533353381282;171.162351965909;_
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:20.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:20.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:20.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:20.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49419)
2025-11-03T09:35:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:20.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:20.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:20.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81620796, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967533353381282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8111985, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83096, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7866064131647, telescope_dec_j2k=-24.1491965020024, observability=1)
2025-11-03T09:35:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:20
2025-11-03T09:35:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3745565414428711s
2025-11-03T09:35:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3745565414428711
2025-11-03T09:35:21.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:21
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.035163402557373s
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:21.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:21.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:21.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8114782;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83124;2460982.81622016;9.58925528;1.3;_
2025-11-03T09:35:21.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8114782;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83124;2460982.81622016;9.58925528;1.3;_
2025-11-03T09:35:21.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:21.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:21.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:21.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:21.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:21.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8114782, teldec = -24.256614
2025-11-03T09:35:21.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8114782 -24.256614
2025-11-03T09:35:21.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8114782 -24.256614
2025-11-03T09:35:21.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8114782 -24.256614
2025-11-03T09:35:21.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8114782;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83124;2460982.81622019;9.58925528;1.3;_14.7868858745089 -24.1492032681992
2025-11-03T09:35:21.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7868858745089     dec_j2k = -24.1492032681992
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967540172411559;171.162357330327;_
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967540172411559;171.162357330327;_
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44745)
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:21.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:21.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:21.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81622016, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967540172411559, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8114782, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7868858745089, telescope_dec_j2k=-24.1492032681992, observability=1)
2025-11-03T09:35:22.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:22
2025-11-03T09:35:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9240942001342773s
2025-11-03T09:35:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9240942001342773
2025-11-03T09:35:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:22
2025-11-03T09:35:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3259665966033936s
2025-11-03T09:35:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8118609;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83163;2460982.81623567;9.58963694;1.3;_
2025-11-03T09:35:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8118609;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83163;2460982.81623567;9.58963694;1.3;_
2025-11-03T09:35:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8118609, teldec = -24.256614
2025-11-03T09:35:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8118609 -24.256614
2025-11-03T09:35:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8118609 -24.256614
2025-11-03T09:35:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8118609 -24.256614
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8118609;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83163;2460982.81623571;9.58963694;1.3;_14.7872682479886 -24.1492125270057
2025-11-03T09:35:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7872682479886     dec_j2k = -24.1492125270057
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967540172411559;171.162351965909;_
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967540172411559;171.162351965909;_
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:22.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47999)
2025-11-03T09:35:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:22.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81623567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967540172411559, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8118609, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83163, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7872682479886, telescope_dec_j2k=-24.1492125270057, observability=1)
2025-11-03T09:35:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:23
2025-11-03T09:35:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5841045379638672s
2025-11-03T09:35:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5841045379638672
2025-11-03T09:35:24.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:24
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5818202495574951s
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8123093;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83208;2460982.81625418;9.59008417;1.3;_
2025-11-03T09:35:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8123093;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83208;2460982.81625418;9.59008417;1.3;_
2025-11-03T09:35:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:24.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8123093, teldec = -24.256614
2025-11-03T09:35:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8123093 -24.256614
2025-11-03T09:35:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8123093 -24.256614
2025-11-03T09:35:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8123093 -24.256614
2025-11-03T09:35:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8123093;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83208;2460982.8162542;9.59008417;1.3;_14.7877162654438 -24.1492233767079
2025-11-03T09:35:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7877162654438     dec_j2k = -24.1492233767079
2025-11-03T09:35:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967536562336707;171.162368059163;_
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967536562336707;171.162368059163;_
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57217)
2025-11-03T09:35:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:24.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:24.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:24.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81625418, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967536562336707, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8123093, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83208, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7877162654438, telescope_dec_j2k=-24.1492233767079, observability=1)
2025-11-03T09:35:24.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:24
2025-11-03T09:35:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38039445877075195s
2025-11-03T09:35:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38039445877075195
2025-11-03T09:35:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:25
2025-11-03T09:35:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9821550846099854s
2025-11-03T09:35:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9821550846099854
2025-11-03T09:35:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:26
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839584827423096s
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8128416;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83261;2460982.81627734;9.590615;1.3;_
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8128416;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83261;2460982.81627734;9.590615;1.3;_
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8128416, teldec = -24.256614
2025-11-03T09:35:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8128416 -24.256614
2025-11-03T09:35:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8128416 -24.256614
2025-11-03T09:35:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8128416 -24.256614
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8128416;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83261;2460982.81627737;9.590615;1.3;_14.7882481113644 -24.1492362584429
2025-11-03T09:35:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7882481113644     dec_j2k = -24.1492362584429
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967546991441836;171.162357330327;_
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967546991441836;171.162357330327;_
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56013)
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:26.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:26.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:26.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81627734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967546991441836, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8128416, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83261, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7882481113644, telescope_dec_j2k=-24.1492362584429, observability=1)
2025-11-03T09:35:26.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:26
2025-11-03T09:35:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3810114860534668s
2025-11-03T09:35:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3810114860534668
2025-11-03T09:35:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:27
2025-11-03T09:35:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980950117111206s
2025-11-03T09:35:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980950117111206
2025-11-03T09:35:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:28
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801459312438965s
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8134012;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83317;2460982.8163005;9.59117306;1.3;_
2025-11-03T09:35:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8134012;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83317;2460982.8163005;9.59117306;1.3;_
2025-11-03T09:35:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8134012, teldec = -24.256614
2025-11-03T09:35:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8134012 -24.256614
2025-11-03T09:35:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8134012 -24.256614
2025-11-03T09:35:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8134012 -24.256614
2025-11-03T09:35:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8134012;-24.256614;50.108571;89.993054;50.08601;90.12017;11.83317;2460982.81630052;9.59117306;1.3;_14.7888072340471 -24.1492498031217
2025-11-03T09:35:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7888072340471     dec_j2k = -24.1492498031217
2025-11-03T09:35:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096754418360584;171.162362694745;_
2025-11-03T09:35:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096754418360584;171.162362694745;_
2025-11-03T09:35:28.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:28.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37981)
2025-11-03T09:35:28.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:28.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:28.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:28.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:28.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:28.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:28.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8163005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096754418360584, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8134012, telescope_dec=-24.256614, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83317, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7888072340471, telescope_dec_j2k=-24.1492498031217, observability=1)
2025-11-03T09:35:28.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:28
2025-11-03T09:35:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3884162902832031s
2025-11-03T09:35:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3884162902832031
2025-11-03T09:35:29.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:29
2025-11-03T09:35:29.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:29.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984384298324585s
2025-11-03T09:35:29.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984384298324585
2025-11-03T09:35:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:30
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812672138214111s
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.81398;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83375;2460982.81632363;9.59175028;1.3;_
2025-11-03T09:35:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.81398;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83375;2460982.81632363;9.59175028;1.3;_
2025-11-03T09:35:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.81398, teldec = -24.256613
2025-11-03T09:35:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.81398 -24.256613
2025-11-03T09:35:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.81398 -24.256613
2025-11-03T09:35:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.81398 -24.256613
2025-11-03T09:35:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.81398;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83375;2460982.81632366;9.59175028;1.3;_14.7893855405368 -24.1492628149906
2025-11-03T09:35:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7893855405368     dec_j2k = -24.1492628149906
2025-11-03T09:35:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967543381366984;171.162362694745;_
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967543381366984;171.162362694745;_
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:30.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49765)
2025-11-03T09:35:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:30.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:30.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:30.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:30.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:30.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:30.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81632363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967543381366984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.81398, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83375, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7893855405368, telescope_dec_j2k=-24.1492628149906, observability=1)
2025-11-03T09:35:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:30
2025-11-03T09:35:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3859565258026123s
2025-11-03T09:35:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3859565258026123
2025-11-03T09:35:30.828 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:30.829 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.453366756439209s
2025-11-03T09:35:30.829 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.453366756439209
2025-11-03T09:35:31.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:31
2025-11-03T09:35:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9859848022460938s
2025-11-03T09:35:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9859848022460938
2025-11-03T09:35:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:32
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985194444656372s
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8145407;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83431;2460982.81634678;9.59230944;1.3;_
2025-11-03T09:35:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8145407;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83431;2460982.81634678;9.59230944;1.3;_
2025-11-03T09:35:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8145407, teldec = -24.256613
2025-11-03T09:35:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8145407 -24.256613
2025-11-03T09:35:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8145407 -24.256613
2025-11-03T09:35:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8145407 -24.256613
2025-11-03T09:35:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8145407;-24.256613;50.108571;89.993054;50.08601;90.12017;11.83431;2460982.81634681;9.59230944;1.3;_14.789945762387 -24.1492763910586
2025-11-03T09:35:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.789945762387     dec_j2k = -24.1492763910586
2025-11-03T09:35:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967543381366984;171.162362694745;_
2025-11-03T09:35:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967543381366984;171.162362694745;_
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51003)
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:32.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:32.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81634678, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967543381366984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108571, telescope_az=89.993054, telescope_ra=14.8145407, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83431, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.789945762387, telescope_dec_j2k=-24.1492763910586, observability=1)
2025-11-03T09:35:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:32
2025-11-03T09:35:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38240718841552734s
2025-11-03T09:35:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38240718841552734
2025-11-03T09:35:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:33
2025-11-03T09:35:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834599494934082s
2025-11-03T09:35:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834599494934082
2025-11-03T09:35:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:34
2025-11-03T09:35:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848179817199707s
2025-11-03T09:35:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8150722;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83484;2460982.81636994;9.59283944;1.3;_
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8150722;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83484;2460982.81636994;9.59283944;1.3;_
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8150722, teldec = -24.256613
2025-11-03T09:35:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8150722 -24.256613
2025-11-03T09:35:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8150722 -24.256613
2025-11-03T09:35:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8150722 -24.256613
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8150722;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83484;2460982.81636997;9.59283944;1.3;_14.7904768091861 -24.1492892622806
2025-11-03T09:35:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7904768091861     dec_j2k = -24.1492892622806
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967547793680692;171.162362694745;_
2025-11-03T09:35:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967547793680692;171.162362694745;_
2025-11-03T09:35:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56979)
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:34.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:34.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:34.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:34.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:34.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81636994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967547793680692, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8150722, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83484, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7904768091861, telescope_dec_j2k=-24.1492892622806, observability=1)
2025-11-03T09:35:34.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:34
2025-11-03T09:35:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3854053020477295s
2025-11-03T09:35:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3854053020477295
2025-11-03T09:35:35.131 [DEBUG] [Thread-88681 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:35.131 [DEBUG] [Thread-88681 (handle)] [server.py] [get_status()] Status age = 0.7504847049713135s
2025-11-03T09:35:35.131 [DEBUG] [Thread-88681 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7504847049713135
2025-11-03T09:35:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:35
2025-11-03T09:35:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9792208671569824s
2025-11-03T09:35:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9792208671569824
2025-11-03T09:35:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:36
2025-11-03T09:35:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807031154632568s
2025-11-03T09:35:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8156513;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83542;2460982.8163931;9.59341694;1.3;_
2025-11-03T09:35:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8156513;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83542;2460982.8163931;9.59341694;1.3;_
2025-11-03T09:35:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8156513, teldec = -24.256613
2025-11-03T09:35:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8156513 -24.256613
2025-11-03T09:35:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8156513 -24.256613
2025-11-03T09:35:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8156513 -24.256613
2025-11-03T09:35:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8156513;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83542;2460982.81639312;9.59341694;1.3;_14.7910554154508 -24.1493032886201
2025-11-03T09:35:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7910554154508     dec_j2k = -24.1493032886201
2025-11-03T09:35:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967547793680692;171.162362694745;_
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967547793680692;171.162362694745;_
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:36.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53229)
2025-11-03T09:35:36.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:36.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:36.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:36.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:36.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:36.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:36.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8163931, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967547793680692, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8156513, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83542, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7910554154508, telescope_dec_j2k=-24.1493032886201, observability=1)
2025-11-03T09:35:36.738 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.738 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:36.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:36.738 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:35:36.739 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:36.740 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:36.741 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:35:36.742 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:35:36.743 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:35:36.743 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.743 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:36.743 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:36.744 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:36.744 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:36.744 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:36.744 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:36.744 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:36.745 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:36.745 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Park
2025-11-03T09:35:36.745 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:35:36.745 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:35:36.746 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 29;14.8157351;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8355;2460982.81639752;9.59350056;1.3;_Park Command Successful
2025-11-03T09:35:36.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:36
2025-11-03T09:35:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37661290168762207s
2025-11-03T09:35:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37661290168762207
2025-11-03T09:35:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:37
2025-11-03T09:35:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9783046245574951s
2025-11-03T09:35:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9783046245574951
2025-11-03T09:35:37.746 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:35:37.746 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:35:37.746 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:35:37.746 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:35:37.747 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:35:38.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:38
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804790019989014s
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8161838;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83595;2460982.81641626;9.59394806;1.3;_
2025-11-03T09:35:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8161838;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83595;2460982.81641626;9.59394806;1.3;_
2025-11-03T09:35:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:38.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8161838, teldec = -24.256613
2025-11-03T09:35:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8161838 -24.256613
2025-11-03T09:35:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8161838 -24.256613
2025-11-03T09:35:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8161838 -24.256613
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8162117;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83598;2460982.8164163;9.59397583;1.3;_14.7915874614952 -24.1493161884717
2025-11-03T09:35:38.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7915874614952     dec_j2k = -24.1493161884717
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096754819480012;171.162351965909;_
2025-11-03T09:35:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096754819480012;171.162351965909;_
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60177)
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:38.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:38.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:38.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:38.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:38.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81641626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096754819480012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8161838, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7915874614952, telescope_dec_j2k=-24.1493161884717, observability=1)
2025-11-03T09:35:38.747 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:35:38.747 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:35:38.747 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:35:38.748 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:35:38.748 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:35:38.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:38
2025-11-03T09:35:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37457847595214844s
2025-11-03T09:35:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37457847595214844
2025-11-03T09:35:39.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:39
2025-11-03T09:35:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.976550817489624s
2025-11-03T09:35:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.976550817489624
2025-11-03T09:35:39.748 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:35:39.748 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:35:39.748 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:35:39.749 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:35:39.749 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:35:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:40
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9763808250427246s
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8167445;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83651;2460982.81643937;9.59450722;1.3;_
2025-11-03T09:35:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8167445;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83651;2460982.81643937;9.59450722;1.3;_
2025-11-03T09:35:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8167445, teldec = -24.256613
2025-11-03T09:35:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8167445 -24.256613
2025-11-03T09:35:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8167445 -24.256613
2025-11-03T09:35:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8167445 -24.256613
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8167445;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83651;2460982.81643943;9.59450722;1.3;_14.7921476835499 -24.1493297737556
2025-11-03T09:35:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7921476835499     dec_j2k = -24.1493297737556
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096754819480012;171.162351965909;_
2025-11-03T09:35:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096754819480012;171.162351965909;_
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37817)
2025-11-03T09:35:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:40.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:40.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:40.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81643937, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096754819480012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8167445, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83651, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7921476835499, telescope_dec_j2k=-24.1493297737556, observability=1)
2025-11-03T09:35:40.749 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:35:40.749 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:35:40.749 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:40.750 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:35:40.751 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:35:40.752 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:40
2025-11-03T09:35:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37725043296813965s
2025-11-03T09:35:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37725043296813965
2025-11-03T09:35:41.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:41
2025-11-03T09:35:41.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:41.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833202362060547s
2025-11-03T09:35:41.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833202362060547
2025-11-03T09:35:41.753 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:41.753 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:41.753 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:41.753 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:41.753 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:35:41.754 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:35:41.755 [DEBUG] [ThreadPoolExecutor-3410_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:41.755 [INFO] [ThreadPoolExecutor-3410_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:35:42.514 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:42
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.131626844406128s
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:42.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:42.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8173526;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83712;2460982.81646431;9.59511361;1.3;_
2025-11-03T09:35:42.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8173526;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83712;2460982.81646431;9.59511361;1.3;_
2025-11-03T09:35:42.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:42.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:42.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:42.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:42.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:42.517 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8173526, teldec = -24.256613
2025-11-03T09:35:42.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8173526 -24.256613
2025-11-03T09:35:42.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8173526 -24.256613
2025-11-03T09:35:42.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8173526 -24.256613
2025-11-03T09:35:42.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8173526;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83712;2460982.81646433;9.59511361;1.3;_14.7927552652593 -24.1493445101508
2025-11-03T09:35:42.518 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7927552652593     dec_j2k = -24.1493445101508
2025-11-03T09:35:42.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:42.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:42.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:42.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096754819480012;171.162362694745;_
2025-11-03T09:35:42.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096754819480012;171.162362694745;_
2025-11-03T09:35:42.519 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:42.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:42.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:42.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:42.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:42.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:42.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38089)
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:42.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:42.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:42.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:42.534 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:42.534 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:42.535 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:42.535 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:42.535 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:42.535 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:42.535 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:42.535 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81646431, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096754819480012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8173526, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83712, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7927552652593, telescope_dec_j2k=-24.1493445101508, observability=1)
2025-11-03T09:35:42.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:42
2025-11-03T09:35:42.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22277045249938965s
2025-11-03T09:35:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22277045249938965
2025-11-03T09:35:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:43
2025-11-03T09:35:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8263556957244873s
2025-11-03T09:35:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8263556957244873
2025-11-03T09:35:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:44
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8258605003356934s
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8178579;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83762;2460982.81648567;9.5956175;1.3;_
2025-11-03T09:35:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8178579;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83762;2460982.81648567;9.5956175;1.3;_
2025-11-03T09:35:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8178579, teldec = -24.256613
2025-11-03T09:35:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8178579 -24.256613
2025-11-03T09:35:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8178579 -24.256613
2025-11-03T09:35:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8178579 -24.256613
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8178579;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83762;2460982.81648569;9.5956175;1.3;_14.793260134633 -24.1493567574387
2025-11-03T09:35:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.793260134633     dec_j2k = -24.1493567574387
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967550200397261;171.162368059163;_
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967550200397261;171.162368059163;_
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40109)
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:44.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:44.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:44.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:44.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:44.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81648567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967550200397261, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8178579, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83762, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.793260134633, telescope_dec_j2k=-24.1493567574387, observability=1)
2025-11-03T09:35:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:44
2025-11-03T09:35:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38213109970092773s
2025-11-03T09:35:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38213109970092773
2025-11-03T09:35:45.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:45
2025-11-03T09:35:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9875986576080322s
2025-11-03T09:35:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9875986576080322
2025-11-03T09:35:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:46
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839506149291992s
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8184177;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83818;2460982.81650882;9.59617583;1.3;_
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8184177;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83818;2460982.81650882;9.59617583;1.3;_
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8184177, teldec = -24.256613
2025-11-03T09:35:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8184177 -24.256613
2025-11-03T09:35:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8184177 -24.256613
2025-11-03T09:35:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8184177 -24.256613
2025-11-03T09:35:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8184177;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83818;2460982.81650885;9.59617583;1.3;_14.79381945761 -24.1493703279011
2025-11-03T09:35:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.79381945761     dec_j2k = -24.1493703279011
2025-11-03T09:35:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967551002636117;171.162357330327;_
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967551002636117;171.162357330327;_
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55571)
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:46.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:46.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81650882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967551002636117, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8184177, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83818, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.79381945761, telescope_dec_j2k=-24.1493703279011, observability=1)
2025-11-03T09:35:46.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:46
2025-11-03T09:35:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38448023796081543s
2025-11-03T09:35:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38448023796081543
2025-11-03T09:35:47.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:47
2025-11-03T09:35:47.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:47.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.986659049987793s
2025-11-03T09:35:47.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.986659049987793
2025-11-03T09:35:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:48
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787399768829346s
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8189692;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83874;2460982.81653198;9.59672583;1.3;_
2025-11-03T09:35:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8189692;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83874;2460982.81653198;9.59672583;1.3;_
2025-11-03T09:35:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8189692, teldec = -24.256613
2025-11-03T09:35:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8189692 -24.256613
2025-11-03T09:35:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8189692 -24.256613
2025-11-03T09:35:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8189692 -24.256613
2025-11-03T09:35:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8189692;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83874;2460982.81653201;9.59672583;1.3;_14.7943704877106 -24.1493836994419
2025-11-03T09:35:48.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7943704877106     dec_j2k = -24.1493836994419
2025-11-03T09:35:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967555013830397;171.162357330327;_
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967555013830397;171.162357330327;_
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:48.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57611)
2025-11-03T09:35:48.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:48.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:48.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:48.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81653198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967555013830397, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8189692, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83874, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7943704877106, telescope_dec_j2k=-24.1493836994419, observability=1)
2025-11-03T09:35:48.447 [DEBUG] [Thread-88682 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:48.447 [DEBUG] [Thread-88682 (handle)] [server.py] [get_status()] Status age = 0.06970024108886719s
2025-11-03T09:35:48.447 [DEBUG] [Thread-88682 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06970024108886719
2025-11-03T09:35:48.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:48
2025-11-03T09:35:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3797783851623535s
2025-11-03T09:35:48.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3797783851623535
2025-11-03T09:35:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:49
2025-11-03T09:35:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9828619956970215s
2025-11-03T09:35:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9828619956970215
2025-11-03T09:35:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:50
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9825549125671387s
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8195294;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8393;2460982.81655512;9.59728444;1.3;_
2025-11-03T09:35:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8195294;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8393;2460982.81655512;9.59728444;1.3;_
2025-11-03T09:35:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:50.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8195294, teldec = -24.256613
2025-11-03T09:35:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8195294 -24.256613
2025-11-03T09:35:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8195294 -24.256613
2025-11-03T09:35:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8195294 -24.256613
2025-11-03T09:35:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8195294;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8393;2460982.81655514;9.59728444;1.3;_14.79493021045 -24.1493972842415
2025-11-03T09:35:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.79493021045     dec_j2k = -24.1493972842415
2025-11-03T09:35:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967552205994401;171.162357330327;_
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967552205994401;171.162357330327;_
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54423)
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:50.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:50.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81655512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967552205994401, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8195294, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.79493021045, telescope_dec_j2k=-24.1493972842415, observability=1)
2025-11-03T09:35:50.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:50
2025-11-03T09:35:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3829474449157715s
2025-11-03T09:35:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3829474449157715
2025-11-03T09:35:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:51
2025-11-03T09:35:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9848535060882568s
2025-11-03T09:35:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9848535060882568
2025-11-03T09:35:52.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:52
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990379810333252s
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.820089;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83986;2460982.81657832;9.5978425;1.3;_
2025-11-03T09:35:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.820089;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83986;2460982.81657832;9.5978425;1.3;_
2025-11-03T09:35:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:52.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.820089, teldec = -24.256613
2025-11-03T09:35:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.820089 -24.256613
2025-11-03T09:35:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.820089 -24.256613
2025-11-03T09:35:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.820089 -24.256613
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.820089;-24.256613;50.10857;89.993054;50.08601;90.12017;11.83986;2460982.81657836;9.5978425;1.3;_14.7954893337525 -24.1494108568257
2025-11-03T09:35:52.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7954893337525     dec_j2k = -24.1494108568257
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967551804874973;171.162357330327;_
2025-11-03T09:35:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967551804874973;171.162357330327;_
2025-11-03T09:35:52.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48007)
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:52.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81657832, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967551804874973, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.820089, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.83986, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7954893337525, telescope_dec_j2k=-24.1494108568257, observability=1)
2025-11-03T09:35:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:52
2025-11-03T09:35:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37146449089050293s
2025-11-03T09:35:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37146449089050293
2025-11-03T09:35:53.206 [DEBUG] [Thread-88683 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:53.206 [DEBUG] [Thread-88683 (handle)] [server.py] [get_status()] Status age = 0.8191921710968018s
2025-11-03T09:35:53.206 [DEBUG] [Thread-88683 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8191921710968018
2025-11-03T09:35:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:53
2025-11-03T09:35:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.974285364151001s
2025-11-03T09:35:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.974285364151001
2025-11-03T09:35:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:54
2025-11-03T09:35:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9734117984771729s
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8206678;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84043;2460982.81660141;9.59841972;1.3;_
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8206678;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84043;2460982.81660141;9.59841972;1.3;_
2025-11-03T09:35:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8206678, teldec = -24.256613
2025-11-03T09:35:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8206678 -24.256613
2025-11-03T09:35:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8206678 -24.256613
2025-11-03T09:35:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8206678 -24.256613
2025-11-03T09:35:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8206678;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84043;2460982.81660145;9.59841972;1.3;_14.7960676407541 -24.1494248975429
2025-11-03T09:35:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7960676407541     dec_j2k = -24.1494248975429
2025-11-03T09:35:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967557420546966;171.162351965909;_
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967557420546966;171.162351965909;_
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41553)
2025-11-03T09:35:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:54.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:54.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:54.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81660141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967557420546966, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8206678, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84043, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7960676407541, telescope_dec_j2k=-24.1494248975429, observability=1)
2025-11-03T09:35:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:54
2025-11-03T09:35:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37919187545776367s
2025-11-03T09:35:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37919187545776367
2025-11-03T09:35:55.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:55
2025-11-03T09:35:55.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:55.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9795060157775879s
2025-11-03T09:35:55.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9795060157775879
2025-11-03T09:35:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:56
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811108112335205s
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8212003;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84097;2460982.81662457;9.59895083;1.3;_
2025-11-03T09:35:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8212003;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84097;2460982.81662457;9.59895083;1.3;_
2025-11-03T09:35:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8212003, teldec = -24.256613
2025-11-03T09:35:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8212003 -24.256613
2025-11-03T09:35:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8212003 -24.256613
2025-11-03T09:35:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8212003 -24.256613
2025-11-03T09:35:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8212003;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84097;2460982.8166246;9.59895083;1.3;_14.7965996872412 -24.1494378173039
2025-11-03T09:35:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7965996872412     dec_j2k = -24.1494378173039
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967557019427538;171.162351965909;_
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967557019427538;171.162351965909;_
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56061)
2025-11-03T09:35:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:56.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81662457, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967557019427538, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8212003, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84097, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7965996872412, telescope_dec_j2k=-24.1494378173039, observability=1)
2025-11-03T09:35:56.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:56
2025-11-03T09:35:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38364553451538086s
2025-11-03T09:35:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38364553451538086
2025-11-03T09:35:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:57
2025-11-03T09:35:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9798002243041992s
2025-11-03T09:35:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9798002243041992
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5575454235076904s
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:57.940 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8216482;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84141;2460982.81664284;9.5993975;1.3;_
2025-11-03T09:35:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.8216482;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84141;2460982.81664284;9.5993975;1.3;_
2025-11-03T09:35:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:57.943 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.8216482, teldec = -24.256613
2025-11-03T09:35:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8216482 -24.256613
2025-11-03T09:35:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8216482 -24.256613
2025-11-03T09:35:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8216482 -24.256613
2025-11-03T09:35:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8216482;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84141;2460982.81664287;9.5993975;1.3;_14.7970472058157 -24.149448686096
2025-11-03T09:35:57.944 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.7970472058157     dec_j2k = -24.149448686096
2025-11-03T09:35:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967553409352685;171.162362694745;_
2025-11-03T09:35:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967553409352685;171.162362694745;_
2025-11-03T09:35:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:35:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37273)
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:57.949 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:57.956 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:57.956 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81664284, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967553409352685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8216482, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84141, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7970472058157, telescope_dec_j2k=-24.149448686096, observability=1)
2025-11-03T09:35:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:58
2025-11-03T09:35:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4048633575439453s
2025-11-03T09:35:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4048633575439453
2025-11-03T09:35:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:58
2025-11-03T09:35:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8035621643066406s
2025-11-03T09:35:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8035621643066406
2025-11-03T09:35:59.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:35:59
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4034955501556396s
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:35:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8220396;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84181;2460982.81665927;9.59978778;1.3;_
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8220396;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84181;2460982.81665927;9.59978778;1.3;_
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:35:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:35:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:35:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:35:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8220396, teldec = -24.256613
2025-11-03T09:35:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8220396 -24.256613
2025-11-03T09:35:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8220396 -24.256613
2025-11-03T09:35:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8220396 -24.256613
2025-11-03T09:35:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8220585;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84182;2460982.81665931;9.59980667;1.3;_14.7974382725322 -24.149458185076
2025-11-03T09:35:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7974382725322     dec_j2k = -24.149458185076
2025-11-03T09:35:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:35:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:35:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:35:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967551403755545;171.162351965909;_
2025-11-03T09:35:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967551403755545;171.162351965909;_
2025-11-03T09:35:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:35:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:35:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:35:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:35:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36747)
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:35:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:35:59.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:35:59.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:59.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:35:59.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:35:59.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81665927, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967551403755545, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8220396, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7974382725322, telescope_dec_j2k=-24.149458185076, observability=1)
2025-11-03T09:36:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:00
2025-11-03T09:36:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812729358673096s
2025-11-03T09:36:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812729358673096
2025-11-03T09:36:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:00
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.381856918334961s
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8224228;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84219;2460982.81667549;9.60017;1.3;_
2025-11-03T09:36:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8224228;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84219;2460982.81667549;9.60017;1.3;_
2025-11-03T09:36:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8224228, teldec = -24.256613
2025-11-03T09:36:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8224228 -24.256613
2025-11-03T09:36:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8224228 -24.256613
2025-11-03T09:36:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8224228 -24.256613
2025-11-03T09:36:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8224228;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84219;2460982.81667551;9.60017;1.3;_14.7978211462557 -24.1494674861536
2025-11-03T09:36:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7978211462557     dec_j2k = -24.1494674861536
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967555414949825;171.162368059163;_
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967555414949825;171.162368059163;_
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33971)
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:00.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:00.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81667549, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967555414949825, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8224228, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84219, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7978211462557, telescope_dec_j2k=-24.1494674861536, observability=1)
2025-11-03T09:36:02.005 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:02
2025-11-03T09:36:02.005 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2285094261169434s
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:02.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8227877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84255;2460982.8166899;9.60053389;1.3;_
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8227877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84255;2460982.8166899;9.60053389;1.3;_
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:02.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:02.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:02.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:02.009 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8227877, teldec = -24.256613
2025-11-03T09:36:02.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8227877 -24.256613
2025-11-03T09:36:02.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8227877 -24.256613
2025-11-03T09:36:02.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8227877 -24.256613
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8227877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84255;2460982.81668992;9.60053389;1.3;_14.7981857355834 -24.1494763440676
2025-11-03T09:36:02.010 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7981857355834     dec_j2k = -24.1494763440676
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967555816069253;171.162362694745;_
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967555816069253;171.162362694745;_
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:02.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:02.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:02.015 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40321)
2025-11-03T09:36:02.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:02.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:02.015 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:02.015 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:02.016 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:02.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:02.023 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8166899, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967555816069253, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8227877, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84255, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7981857355834, telescope_dec_j2k=-24.1494763440676, observability=1)
2025-11-03T09:36:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:02
2025-11-03T09:36:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3371012210845947s
2025-11-03T09:36:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3371012210845947
2025-11-03T09:36:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:02
2025-11-03T09:36:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7384088039398193s
2025-11-03T09:36:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7384088039398193
2025-11-03T09:36:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:03
2025-11-03T09:36:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.337496280670166s
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:03.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8231746;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84294;2460982.81670558;9.60091972;1.3;_
2025-11-03T09:36:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8231746;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84294;2460982.81670558;9.60091972;1.3;_
2025-11-03T09:36:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:03.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:03.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8231746, teldec = -24.256613
2025-11-03T09:36:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8231746 -24.256613
2025-11-03T09:36:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8231746 -24.256613
2025-11-03T09:36:03.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8231746 -24.256613
2025-11-03T09:36:03.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8231746;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84294;2460982.8167056;9.60091972;1.3;_14.7985723062047 -24.1494857371126
2025-11-03T09:36:03.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7985723062047     dec_j2k = -24.1494857371126
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967561030621818;171.162351965909;_
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967561030621818;171.162351965909;_
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:03.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:03.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59165)
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:03.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:03.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:03.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:03.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:03.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:03.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81670558, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967561030621818, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8231746, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7985723062047, telescope_dec_j2k=-24.1494857371126, observability=1)
2025-11-03T09:36:04.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:04
2025-11-03T09:36:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.978374719619751s
2025-11-03T09:36:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.978374719619751
2025-11-03T09:36:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:04
2025-11-03T09:36:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3817553520202637s
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8235674;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84333;2460982.81672182;9.60131139;1.3;_
2025-11-03T09:36:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8235674;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84333;2460982.81672182;9.60131139;1.3;_
2025-11-03T09:36:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:04.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8235674, teldec = -24.256613
2025-11-03T09:36:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8235674 -24.256613
2025-11-03T09:36:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8235674 -24.256613
2025-11-03T09:36:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8235674 -24.256613
2025-11-03T09:36:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8235674;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84333;2460982.81672184;9.60131139;1.3;_14.7989647718286 -24.1494952745361
2025-11-03T09:36:04.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7989647718286     dec_j2k = -24.1494952745361
2025-11-03T09:36:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967557019427538;171.162357330327;_
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967557019427538;171.162357330327;_
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48719)
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:04.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:04.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:04.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:04.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:04.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:04.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81672182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967557019427538, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8235674, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84333, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7989647718286, telescope_dec_j2k=-24.1494952745361, observability=1)
2025-11-03T09:36:05.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:05
2025-11-03T09:36:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5838356018066406s
2025-11-03T09:36:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5838356018066406
2025-11-03T09:36:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:06
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5818068981170654s
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8239877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84375;2460982.8167403;9.60173056;1.3;_
2025-11-03T09:36:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8239877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84375;2460982.8167403;9.60173056;1.3;_
2025-11-03T09:36:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8239877, teldec = -24.256613
2025-11-03T09:36:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8239877 -24.256613
2025-11-03T09:36:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8239877 -24.256613
2025-11-03T09:36:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8239877 -24.256613
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8239877;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84375;2460982.81674034;9.60173056;1.3;_14.7993847140711 -24.1495054809485
2025-11-03T09:36:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7993847140711     dec_j2k = -24.1495054809485
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967557019427538;171.162351965909;_
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967557019427538;171.162351965909;_
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49649)
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:06.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:06.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:06.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8167403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967557019427538, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8239877, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84375, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7993847140711, telescope_dec_j2k=-24.1495054809485, observability=1)
2025-11-03T09:36:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:06
2025-11-03T09:36:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37975215911865234s
2025-11-03T09:36:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37975215911865234
2025-11-03T09:36:07.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:07
2025-11-03T09:36:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9770786762237549s
2025-11-03T09:36:07.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9770786762237549
2025-11-03T09:36:08.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:08
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979069709777832s
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8245475;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84431;2460982.81676345;9.60228889;1.3;_
2025-11-03T09:36:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8245475;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84431;2460982.81676345;9.60228889;1.3;_
2025-11-03T09:36:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8245475, teldec = -24.256613
2025-11-03T09:36:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8245475 -24.256613
2025-11-03T09:36:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8245475 -24.256613
2025-11-03T09:36:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8245475 -24.256613
2025-11-03T09:36:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8245475;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84431;2460982.81676348;9.60228889;1.3;_14.7999440376174 -24.1495190769703
2025-11-03T09:36:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.7999440376174     dec_j2k = -24.1495190769703
2025-11-03T09:36:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967569454129807;171.162351965909;_
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967569454129807;171.162351965909;_
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48705)
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:08.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:08.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81676345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967569454129807, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8245475, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84431, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.7999440376174, telescope_dec_j2k=-24.1495190769703, observability=1)
2025-11-03T09:36:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:08
2025-11-03T09:36:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3836648464202881s
2025-11-03T09:36:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3836648464202881
2025-11-03T09:36:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:09
2025-11-03T09:36:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835464954376221s
2025-11-03T09:36:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835464954376221
2025-11-03T09:36:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:10
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847760200500488s
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8250985;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84486;2460982.81678661;9.60283833;1.3;_
2025-11-03T09:36:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8250985;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84486;2460982.81678661;9.60283833;1.3;_
2025-11-03T09:36:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8250985, teldec = -24.256613
2025-11-03T09:36:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8250985 -24.256613
2025-11-03T09:36:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8250985 -24.256613
2025-11-03T09:36:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8250985 -24.256613
2025-11-03T09:36:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8250985;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84486;2460982.81678663;9.60283833;1.3;_14.8004945687043 -24.1495324615417
2025-11-03T09:36:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8004945687043     dec_j2k = -24.1495324615417
2025-11-03T09:36:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967569855249235;171.162357330327;_
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967569855249235;171.162357330327;_
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42621)
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:10.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:10.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:10.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81678661, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967569855249235, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8250985, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84486, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.8004945687043, telescope_dec_j2k=-24.1495324615417, observability=1)
2025-11-03T09:36:10.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:10
2025-11-03T09:36:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3773531913757324s
2025-11-03T09:36:10.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3773531913757324
2025-11-03T09:36:11.264 [DEBUG] [Thread-88684 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:11.265 [DEBUG] [Thread-88684 (handle)] [server.py] [get_status()] Status age = 0.8858981132507324s
2025-11-03T09:36:11.265 [DEBUG] [Thread-88684 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8858981132507324
2025-11-03T09:36:11.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:11
2025-11-03T09:36:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9838995933532715s
2025-11-03T09:36:11.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9838995933532715
2025-11-03T09:36:12.286 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:36:12
2025-11-03T09:36:12.286 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:12.286 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.9078059196472168s
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:12.287 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:12.288 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:12.288 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:12.288 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:12.288 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:12.288 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.8256592;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84543;2460982.81680889;9.6033975;1.3;_
2025-11-03T09:36:12.289 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.8256592;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84543;2460982.81680889;9.6033975;1.3;_
2025-11-03T09:36:12.289 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:12.289 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:12.289 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:12.290 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:12.290 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:12.290 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.8256592, teldec = -24.256613
2025-11-03T09:36:12.290 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8256592 -24.256613
2025-11-03T09:36:12.290 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8256592 -24.256613
2025-11-03T09:36:12.290 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8256592 -24.256613
2025-11-03T09:36:12.291 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.8256592;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84543;2460982.81680892;9.6033975;1.3;_14.801054791588 -24.1495460840593
2025-11-03T09:36:12.291 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.801054791588     dec_j2k = -24.1495460840593
2025-11-03T09:36:12.291 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:12.291 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:12.291 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967569053010379;171.162357330327;_
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967569053010379;171.162357330327;_
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:12.292 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:12.293 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:12.294 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:12.294 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:12.294 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48095)
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:12.296 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:12.303 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:12.304 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:12.304 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81680889, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967569053010379, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8256592, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.801054791588, telescope_dec_j2k=-24.1495460840593, observability=1)
2025-11-03T09:36:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:12
2025-11-03T09:36:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05928778648376465s
2025-11-03T09:36:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05928778648376465
2025-11-03T09:36:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:12
2025-11-03T09:36:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4561741352081299s
2025-11-03T09:36:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4561741352081299
2025-11-03T09:36:13.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:13
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0590598583221436s
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8259388;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84571;2460982.81682135;9.60367639;1.3;_
2025-11-03T09:36:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8259388;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84571;2460982.81682135;9.60367639;1.3;_
2025-11-03T09:36:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:13.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8259388, teldec = -24.256613
2025-11-03T09:36:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8259388 -24.256613
2025-11-03T09:36:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8259388 -24.256613
2025-11-03T09:36:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8259388 -24.256613
2025-11-03T09:36:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8259388;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84571;2460982.81682138;9.60367639;1.3;_14.8013341536876 -24.1495528779705
2025-11-03T09:36:13.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8013341536876     dec_j2k = -24.1495528779705
2025-11-03T09:36:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967571860846376;171.162346601491;_
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967571860846376;171.162346601491;_
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33533)
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:13.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:13.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:13.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:13.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81682135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967571860846376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8259388, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84571, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.8013341536876, telescope_dec_j2k=-24.1495528779705, observability=1)
2025-11-03T09:36:14.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:14
2025-11-03T09:36:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9801921844482422s
2025-11-03T09:36:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9801921844482422
2025-11-03T09:36:14.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:14
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3780946731567383s
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8263305;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8461;2460982.81683751;9.60406694;1.3;_
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8263305;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8461;2460982.81683751;9.60406694;1.3;_
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:14.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8263305, teldec = -24.256613
2025-11-03T09:36:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8263305 -24.256613
2025-11-03T09:36:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8263305 -24.256613
2025-11-03T09:36:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8263305 -24.256613
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8263305;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8461;2460982.81683753;9.60406694;1.3;_14.8017255204277 -24.1495623967422
2025-11-03T09:36:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8017255204277     dec_j2k = -24.1495623967422
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096757105860752;171.162357330327;_
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096757105860752;171.162357330327;_
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:14.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41829)
2025-11-03T09:36:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:14.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:14.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81683751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096757105860752, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8263305, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:35:15.856395', telescope_ra_j2k=14.8017255204277, telescope_dec_j2k=-24.1495623967422, observability=1)
2025-11-03T09:36:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:15
2025-11-03T09:36:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845091342926025s
2025-11-03T09:36:15.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845091342926025
2025-11-03T09:36:15.676 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:36:15.676 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8980300426483154s
2025-11-03T09:36:15.676 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8980300426483154
2025-11-03T09:36:15.676 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.389941453933716 seconds ago
2025-11-03T09:36:15.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:15.998 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:15.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:15.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:15.998 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:15.999 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:15.999 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:16.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:16.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:16.000 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:16.000 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:36:16.000 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:16.000 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:36:16.001 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:36:16.002 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:16
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.584221363067627s
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8267703;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84654;2460982.81685606;9.60450556;1.3;_
2025-11-03T09:36:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8267703;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84654;2460982.81685606;9.60450556;1.3;_
2025-11-03T09:36:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8267703, teldec = -24.256613
2025-11-03T09:36:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8267703 -24.256613
2025-11-03T09:36:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8267703 -24.256613
2025-11-03T09:36:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8267703 -24.256613
2025-11-03T09:36:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8267703;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84654;2460982.81685609;9.60450556;1.3;_14.8021649462744 -24.149573085761
2025-11-03T09:36:16.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8021649462744     dec_j2k = -24.149573085761
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967569053010379;171.162357330327;_
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967569053010379;171.162357330327;_
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:16.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:16.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59411)
2025-11-03T09:36:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:16.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:16.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81685606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967569053010379, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8267703, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84654, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8021649462744, telescope_dec_j2k=-24.149573085761, observability=1)
2025-11-03T09:36:16.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:16
2025-11-03T09:36:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.392650842666626s
2025-11-03T09:36:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.392650842666626
2025-11-03T09:36:17.002 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:17.002 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:17.002 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:17.002 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:17.003 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:17.004 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:17.005 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:17.005 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:17.005 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:17.006 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:17.006 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:17.006 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:17.006 [DEBUG] [ThreadPoolExecutor-3412_0] [payload.py] [to_registers()] [0]
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59445)
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:17.007 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:17.014 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:17.015 [DEBUG] [ThreadPoolExecutor-3412_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:17.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:17
2025-11-03T09:36:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.983954668045044s
2025-11-03T09:36:17.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.983954668045044
2025-11-03T09:36:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:18
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807546138763428s
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.827331;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8471;2460982.81687918;9.60506472;1.3;_
2025-11-03T09:36:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.827331;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8471;2460982.81687918;9.60506472;1.3;_
2025-11-03T09:36:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.827331, teldec = -24.256613
2025-11-03T09:36:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.827331 -24.256613
2025-11-03T09:36:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.827331 -24.256613
2025-11-03T09:36:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.827331 -24.256613
2025-11-03T09:36:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.827331;-24.256613;50.10857;89.993054;50.08601;90.12017;11.8471;2460982.81687921;9.60506472;1.3;_14.802725169314 -24.1495867152529
2025-11-03T09:36:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.802725169314     dec_j2k = -24.1495867152529
2025-11-03T09:36:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967565844054955;171.162351965909;_
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967565844054955;171.162351965909;_
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44181)
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:18.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:18.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81687918, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967565844054955, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.827331, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.802725169314, telescope_dec_j2k=-24.1495867152529, observability=1)
2025-11-03T09:36:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:18
2025-11-03T09:36:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38561081886291504s
2025-11-03T09:36:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38561081886291504
2025-11-03T09:36:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:19
2025-11-03T09:36:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.981086254119873s
2025-11-03T09:36:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.981086254119873
2025-11-03T09:36:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:20
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814989566802979s
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8278906;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84766;2460982.81690236;9.60562278;1.3;_
2025-11-03T09:36:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8278906;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84766;2460982.81690236;9.60562278;1.3;_
2025-11-03T09:36:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8278906, teldec = -24.256613
2025-11-03T09:36:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8278906 -24.256613
2025-11-03T09:36:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8278906 -24.256613
2025-11-03T09:36:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8278906 -24.256613
2025-11-03T09:36:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8278906;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84766;2460982.81690238;9.60562278;1.3;_14.8032842933413 -24.1496003203376
2025-11-03T09:36:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8032842933413     dec_j2k = -24.1496003203376
2025-11-03T09:36:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967572261965804;171.162351965909;_
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967572261965804;171.162351965909;_
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41081)
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:20.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:20.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81690236, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967572261965804, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8278906, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84766, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8032842933413, telescope_dec_j2k=-24.1496003203376, observability=1)
2025-11-03T09:36:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:20
2025-11-03T09:36:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37990784645080566s
2025-11-03T09:36:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37990784645080566
2025-11-03T09:36:21.452 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:21
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0707941055297852s
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8281894;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84796;2460982.81691498;9.60592083;1.3;_
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8281894;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84796;2460982.81691498;9.60592083;1.3;_
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:21.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:21.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:21.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:21.456 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8281894, teldec = -24.256613
2025-11-03T09:36:21.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8281894 -24.256613
2025-11-03T09:36:21.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8281894 -24.256613
2025-11-03T09:36:21.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8281894 -24.256613
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8281894;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84796;2460982.81691501;9.60592083;1.3;_14.8035828392157 -24.1496075857648
2025-11-03T09:36:21.457 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8035828392157     dec_j2k = -24.1496075857648
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967577476518368;171.162351965909;_
2025-11-03T09:36:21.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967577476518368;171.162351965909;_
2025-11-03T09:36:21.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:21.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:21.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:21.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:21.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:21.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:21.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38871)
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:21.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:21.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:21.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81691498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967577476518368, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8281894, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8035828392157, telescope_dec_j2k=-24.1496075857648, observability=1)
2025-11-03T09:36:22.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:22
2025-11-03T09:36:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8863060474395752s
2025-11-03T09:36:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8863060474395752
2025-11-03T09:36:22.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:22
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.284804344177246s
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8285538;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84832;2460982.81693008;9.60628417;1.3;_
2025-11-03T09:36:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8285538;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84832;2460982.81693008;9.60628417;1.3;_
2025-11-03T09:36:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:22.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8285538, teldec = -24.256613
2025-11-03T09:36:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8285538 -24.256613
2025-11-03T09:36:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8285538 -24.256613
2025-11-03T09:36:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8285538 -24.256613
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8285538;-24.256613;50.10857;89.993054;50.08601;90.12017;11.84832;2460982.81693012;9.60628417;1.3;_14.8039469293182 -24.1496164471778
2025-11-03T09:36:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8039469293182     dec_j2k = -24.1496164471778
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967569855249235;171.162351965909;_
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967569855249235;171.162351965909;_
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55663)
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:22.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:22.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81693008, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967569855249235, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10857, telescope_az=89.993054, telescope_ra=14.8285538, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84832, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8039469293182, telescope_dec_j2k=-24.1496164471778, observability=1)
2025-11-03T09:36:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:23
2025-11-03T09:36:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5863275527954102s
2025-11-03T09:36:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5863275527954102
2025-11-03T09:36:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:24
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5888237953186035s
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8290025;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84877;2460982.81694866;9.60673167;1.3;_
2025-11-03T09:36:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8290025;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84877;2460982.81694866;9.60673167;1.3;_
2025-11-03T09:36:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8290025, teldec = -24.256613
2025-11-03T09:36:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8290025 -24.256613
2025-11-03T09:36:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8290025 -24.256613
2025-11-03T09:36:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8290025 -24.256613
2025-11-03T09:36:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8290025;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84877;2460982.81694868;9.60673167;1.3;_14.8043952477596 -24.1496273599394
2025-11-03T09:36:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8043952477596     dec_j2k = -24.1496273599394
2025-11-03T09:36:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967572261965804;171.162362694745;_
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967572261965804;171.162362694745;_
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44421)
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:24.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:24.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:24.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81694866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967572261965804, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8290025, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84877, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8043952477596, telescope_dec_j2k=-24.1496273599394, observability=1)
2025-11-03T09:36:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:24
2025-11-03T09:36:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3816661834716797s
2025-11-03T09:36:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3816661834716797
2025-11-03T09:36:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:25
2025-11-03T09:36:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9767401218414307s
2025-11-03T09:36:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9767401218414307
2025-11-03T09:36:26.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:26
2025-11-03T09:36:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787256717681885s
2025-11-03T09:36:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8295626;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84933;2460982.81697182;9.60729028;1.3;_
2025-11-03T09:36:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8295626;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84933;2460982.81697182;9.60729028;1.3;_
2025-11-03T09:36:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8295626, teldec = -24.256613
2025-11-03T09:36:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8295626 -24.256613
2025-11-03T09:36:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8295626 -24.256613
2025-11-03T09:36:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8295626 -24.256613
2025-11-03T09:36:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8295626;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84933;2460982.81697184;9.60729028;1.3;_14.8049548715174 -24.1496409841433
2025-11-03T09:36:26.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8049548715174     dec_j2k = -24.1496409841433
2025-11-03T09:36:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967568651890951;171.162357330327;_
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967568651890951;171.162357330327;_
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38635)
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:26.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:26.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81697182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967568651890951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8295626, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84933, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8049548715174, telescope_dec_j2k=-24.1496409841433, observability=1)
2025-11-03T09:36:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:26
2025-11-03T09:36:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38272929191589355s
2025-11-03T09:36:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38272929191589355
2025-11-03T09:36:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:27
2025-11-03T09:36:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820363521575928s
2025-11-03T09:36:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820363521575928
2025-11-03T09:36:28.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:28
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983248233795166s
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8301142;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84988;2460982.81699495;9.60784028;1.3;_
2025-11-03T09:36:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8301142;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84988;2460982.81699495;9.60784028;1.3;_
2025-11-03T09:36:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8301142, teldec = -24.256613
2025-11-03T09:36:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8301142 -24.256613
2025-11-03T09:36:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8301142 -24.256613
2025-11-03T09:36:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8301142 -24.256613
2025-11-03T09:36:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8301142;-24.256613;50.108569;89.993054;50.08601;90.12017;11.84988;2460982.81699498;9.60784028;1.3;_14.8055060025536 -24.1496544038678
2025-11-03T09:36:28.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8055060025536     dec_j2k = -24.1496544038678
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967574668682372;171.162351965909;_
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967574668682372;171.162351965909;_
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:28.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47749)
2025-11-03T09:36:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:28.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:28.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81699495, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967574668682372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8301142, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.84988, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8055060025536, telescope_dec_j2k=-24.1496544038678, observability=1)
2025-11-03T09:36:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:28
2025-11-03T09:36:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3768620491027832s
2025-11-03T09:36:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3768620491027832
2025-11-03T09:36:29.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:29
2025-11-03T09:36:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796907901763916s
2025-11-03T09:36:29.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796907901763916
2025-11-03T09:36:29.395 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Status age = 1.0114569664001465s
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:29.396 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:29.397 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 17;14.8304225;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85019;2460982.81700691;9.60814778;1.3;_
2025-11-03T09:36:29.397 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response 17;14.8304225;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85019;2460982.81700691;9.60814778;1.3;_
2025-11-03T09:36:29.397 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:29.397 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:29.397 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:29.398 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:29.398 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:29.398 [INFO] [Thread-88685 (handle)] [driver.py] [get_status()] Telra = 14.8304225, teldec = -24.256613
2025-11-03T09:36:29.399 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8304225 -24.256613
2025-11-03T09:36:29.399 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8304225 -24.256613
2025-11-03T09:36:29.399 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8304225 -24.256613
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 17;14.8304225;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85019;2460982.81700693;9.60814778;1.3;_14.8058140404626 -24.1496619053989
2025-11-03T09:36:29.400 [INFO] [Thread-88685 (handle)] [driver.py] [get_status()] ra_j2k = 14.8058140404626     dec_j2k = -24.1496619053989
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 140;0.0967573866443516;171.162373423581;_
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response 140;0.0967573866443516;171.162373423581;_
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:29.400 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:29.401 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:29.402 [DEBUG] [Thread-88685 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:29.402 [DEBUG] [Thread-88685 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:29.402 [DEBUG] [Thread-88685 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:29.406 [DEBUG] [Thread-88685 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42987)
2025-11-03T09:36:29.407 [DEBUG] [Thread-88685 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:29.407 [DEBUG] [Thread-88685 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:29.407 [DEBUG] [Thread-88685 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:29.407 [DEBUG] [Thread-88685 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:29.407 [DEBUG] [Thread-88685 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:29.414 [DEBUG] [Thread-88685 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:29.414 [DEBUG] [Thread-88685 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:29.415 [DEBUG] [Thread-88685 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:29.415 [INFO] [Thread-88685 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81700691, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967573866443516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8304225, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8058140404626, telescope_dec_j2k=-24.1496619053989, observability=1)
2025-11-03T09:36:29.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:29.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.5041663646697998s
2025-11-03T09:36:29.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5041663646697998
2025-11-03T09:36:30.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:30
2025-11-03T09:36:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9463076591491699s
2025-11-03T09:36:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9463076591491699
2025-11-03T09:36:30.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:30
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3433432579040527s
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8307866;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85055;2460982.81702268;9.60851083;1.3;_
2025-11-03T09:36:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8307866;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85055;2460982.81702268;9.60851083;1.3;_
2025-11-03T09:36:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8307866, teldec = -24.256613
2025-11-03T09:36:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8307866 -24.256613
2025-11-03T09:36:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8307866 -24.256613
2025-11-03T09:36:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8307866 -24.256613
2025-11-03T09:36:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8307866;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85055;2460982.81702271;9.60851083;1.3;_14.8061778309555 -24.1496707655611
2025-11-03T09:36:30.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8061778309555     dec_j2k = -24.1496707655611
2025-11-03T09:36:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967571860846376;171.162362694745;_
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967571860846376;171.162362694745;_
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:30.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57969)
2025-11-03T09:36:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:30.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:30.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81702268, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967571860846376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8307866, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85055, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8061778309555, telescope_dec_j2k=-24.1496707655611, observability=1)
2025-11-03T09:36:31.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:31
2025-11-03T09:36:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5833950042724609s
2025-11-03T09:36:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5833950042724609
2025-11-03T09:36:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:32
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5833864212036133s
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8312342;-24.256613;50.108569;89.993054;50.08601;90.12017;11.851;2460982.81704124;9.60895722;1.3;_
2025-11-03T09:36:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8312342;-24.256613;50.108569;89.993054;50.08601;90.12017;11.851;2460982.81704124;9.60895722;1.3;_
2025-11-03T09:36:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8312342, teldec = -24.256613
2025-11-03T09:36:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8312342 -24.256613
2025-11-03T09:36:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8312342 -24.256613
2025-11-03T09:36:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8312342 -24.256613
2025-11-03T09:36:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8312342;-24.256613;50.108569;89.993054;50.08601;90.12017;11.851;2460982.81704126;9.60895722;1.3;_14.8066250504985 -24.1496816589976
2025-11-03T09:36:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8066250504985     dec_j2k = -24.1496816589976
2025-11-03T09:36:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967574668682372;171.162362694745;_
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967574668682372;171.162362694745;_
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45995)
2025-11-03T09:36:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:32.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:32.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:32.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:32.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:32.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:32.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81704124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967574668682372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8312342, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.851, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8066250504985, telescope_dec_j2k=-24.1496816589976, observability=1)
2025-11-03T09:36:32.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:32
2025-11-03T09:36:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3919544219970703s
2025-11-03T09:36:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3919544219970703
2025-11-03T09:36:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:33
2025-11-03T09:36:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9839038848876953s
2025-11-03T09:36:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9839038848876953
2025-11-03T09:36:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:34
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983957290649414s
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8317848;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85155;2460982.8170644;9.60950639;1.3;_
2025-11-03T09:36:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8317848;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85155;2460982.8170644;9.60950639;1.3;_
2025-11-03T09:36:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8317848, teldec = -24.256613
2025-11-03T09:36:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8317848 -24.256613
2025-11-03T09:36:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8317848 -24.256613
2025-11-03T09:36:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8317848 -24.256613
2025-11-03T09:36:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8317848;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85155;2460982.81706442;9.60950639;1.3;_14.807175182538 -24.1496950612323
2025-11-03T09:36:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.807175182538     dec_j2k = -24.1496950612323
2025-11-03T09:36:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967574267562944;171.162351965909;_
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967574267562944;171.162351965909;_
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54673)
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:34.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:34.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:34.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:34.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8170644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967574267562944, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8317848, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.807175182538, telescope_dec_j2k=-24.1496950612323, observability=1)
2025-11-03T09:36:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:34
2025-11-03T09:36:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789501190185547s
2025-11-03T09:36:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789501190185547
2025-11-03T09:36:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:35
2025-11-03T09:36:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9777874946594238s
2025-11-03T09:36:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9777874946594238
2025-11-03T09:36:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:36
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97841477394104s
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8323455;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85211;2460982.81708752;9.61006556;1.3;_
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8323455;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85211;2460982.81708752;9.61006556;1.3;_
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8323455, teldec = -24.256613
2025-11-03T09:36:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8323455 -24.256613
2025-11-03T09:36:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8323455 -24.256613
2025-11-03T09:36:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8323455 -24.256613
2025-11-03T09:36:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8323455;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85211;2460982.81708755;9.61006556;1.3;_14.8077354060453 -24.1497087116277
2025-11-03T09:36:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8077354060453     dec_j2k = -24.1497087116277
2025-11-03T09:36:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967579482115509;171.162357330327;_
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967579482115509;171.162357330327;_
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41355)
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:36.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81708752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967579482115509, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8323455, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85211, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8077354060453, telescope_dec_j2k=-24.1497087116277, observability=1)
2025-11-03T09:36:36.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:36
2025-11-03T09:36:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.379288911819458s
2025-11-03T09:36:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.379288911819458
2025-11-03T09:36:37.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:37
2025-11-03T09:36:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820399284362793s
2025-11-03T09:36:37.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820399284362793
2025-11-03T09:36:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:38
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797275066375732s
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8329054;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85267;2460982.81711067;9.61062389;1.3;_
2025-11-03T09:36:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8329054;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85267;2460982.81711067;9.61062389;1.3;_
2025-11-03T09:36:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8329054, teldec = -24.256613
2025-11-03T09:36:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8329054 -24.256613
2025-11-03T09:36:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8329054 -24.256613
2025-11-03T09:36:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8329054 -24.256613
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8329054;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85267;2460982.81711069;9.61062389;1.3;_14.8082948302847 -24.1497223448778
2025-11-03T09:36:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8082948302847     dec_j2k = -24.1497223448778
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967576674279512;171.162357330327;_
2025-11-03T09:36:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967576674279512;171.162357330327;_
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60901)
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81711067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967576674279512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8329054, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85267, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8082948302847, telescope_dec_j2k=-24.1497223448778, observability=1)
2025-11-03T09:36:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:38
2025-11-03T09:36:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38137102127075195s
2025-11-03T09:36:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38137102127075195
2025-11-03T09:36:39.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:39
2025-11-03T09:36:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9808313846588135s
2025-11-03T09:36:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9808313846588135
2025-11-03T09:36:40.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:40
2025-11-03T09:36:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828648567199707s
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8334561;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85322;2460982.81713385;9.61117306;1.3;_
2025-11-03T09:36:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8334561;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85322;2460982.81713385;9.61117306;1.3;_
2025-11-03T09:36:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8334561, teldec = -24.256613
2025-11-03T09:36:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8334561 -24.256613
2025-11-03T09:36:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8334561 -24.256613
2025-11-03T09:36:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8334561 -24.256613
2025-11-03T09:36:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8334561;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85322;2460982.81713388;9.61117306;1.3;_14.8088450623925 -24.1497357563848
2025-11-03T09:36:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8088450623925     dec_j2k = -24.1497357563848
2025-11-03T09:36:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967572261965804;171.162357330327;_
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967572261965804;171.162357330327;_
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57305)
2025-11-03T09:36:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:40.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81713385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967572261965804, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8334561, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85322, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8088450623925, telescope_dec_j2k=-24.1497357563848, observability=1)
2025-11-03T09:36:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:40
2025-11-03T09:36:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3814060688018799s
2025-11-03T09:36:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3814060688018799
2025-11-03T09:36:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:41
2025-11-03T09:36:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9789104461669922s
2025-11-03T09:36:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9789104461669922
2025-11-03T09:36:42.015 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:42.015 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:42.015 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:42.015 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:42.015 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:42.016 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:42.016 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:42.016 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:42.016 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:42.017 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:36:42.018 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:36:42.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:42
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781956672668457s
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8340168;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85378;2460982.81715698;9.61173222;1.3;_
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8340168;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85378;2460982.81715698;9.61173222;1.3;_
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8340168, teldec = -24.256613
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8340168 -24.256613
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8340168 -24.256613
2025-11-03T09:36:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8340168 -24.256613
2025-11-03T09:36:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8340168;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85378;2460982.81715699;9.61173222;1.3;_14.8094052860558 -24.149749413742
2025-11-03T09:36:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8094052860558     dec_j2k = -24.149749413742
2025-11-03T09:36:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967583493309789;171.162351965909;_
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967583493309789;171.162351965909;_
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57841)
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:42.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81715698, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967583493309789, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8340168, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85378, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8094052860558, telescope_dec_j2k=-24.149749413742, observability=1)
2025-11-03T09:36:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:42
2025-11-03T09:36:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37969040870666504s
2025-11-03T09:36:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37969040870666504
2025-11-03T09:36:43.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:43
2025-11-03T09:36:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:43.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833769798278809s
2025-11-03T09:36:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833769798278809
2025-11-03T09:36:44.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:44
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817402362823486s
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8345766;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85434;2460982.81718013;9.61229056;1.3;_
2025-11-03T09:36:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8345766;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85434;2460982.81718013;9.61229056;1.3;_
2025-11-03T09:36:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8345766, teldec = -24.256613
2025-11-03T09:36:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8345766 -24.256613
2025-11-03T09:36:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8345766 -24.256613
2025-11-03T09:36:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8345766 -24.256613
2025-11-03T09:36:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8345766;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85434;2460982.81718016;9.61229056;1.3;_14.809964610536 -24.1497630515067
2025-11-03T09:36:44.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.809964610536     dec_j2k = -24.1497630515067
2025-11-03T09:36:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967580284354365;171.162351965909;_
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967580284354365;171.162351965909;_
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52783)
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:44.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:44.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81718013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967580284354365, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8345766, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85434, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.809964610536, telescope_dec_j2k=-24.1497630515067, observability=1)
2025-11-03T09:36:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:44
2025-11-03T09:36:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38160085678100586s
2025-11-03T09:36:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38160085678100586
2025-11-03T09:36:45.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:45
2025-11-03T09:36:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9843499660491943s
2025-11-03T09:36:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9843499660491943
2025-11-03T09:36:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:46
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815187454223633s
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.835127;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85489;2460982.8172033;9.61283944;1.3;_
2025-11-03T09:36:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.835127;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85489;2460982.8172033;9.61283944;1.3;_
2025-11-03T09:36:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:46.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.835127, teldec = -24.256613
2025-11-03T09:36:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.835127 -24.256613
2025-11-03T09:36:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.835127 -24.256613
2025-11-03T09:36:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.835127 -24.256613
2025-11-03T09:36:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.835127;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85489;2460982.81720333;9.61283944;1.3;_14.8105145430519 -24.1497764625389
2025-11-03T09:36:46.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8105145430519     dec_j2k = -24.1497764625389
2025-11-03T09:36:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967579883234937;171.162351965909;_
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967579883234937;171.162351965909;_
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:46.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:46.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57785)
2025-11-03T09:36:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:46.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:46.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:46.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8172033, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967579883234937, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.835127, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85489, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8105145430519, telescope_dec_j2k=-24.1497764625389, observability=1)
2025-11-03T09:36:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:46
2025-11-03T09:36:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38126635551452637s
2025-11-03T09:36:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38126635551452637
2025-11-03T09:36:47.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:47
2025-11-03T09:36:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9781134128570557s
2025-11-03T09:36:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9781134128570557
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Status age = 1.099001407623291s
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:47.481 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:47.482 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:47.483 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 17;14.8354632;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85523;2460982.81721624;9.61317472;1.3;_
2025-11-03T09:36:47.483 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response 17;14.8354632;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85523;2460982.81721624;9.61317472;1.3;_
2025-11-03T09:36:47.483 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:47.483 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:47.484 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:47.484 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:47.484 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:47.485 [INFO] [Thread-88686 (handle)] [driver.py] [get_status()] Telra = 14.8354632, teldec = -24.256613
2025-11-03T09:36:47.485 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8354632 -24.256613
2025-11-03T09:36:47.485 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8354632 -24.256613
2025-11-03T09:36:47.485 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8354632 -24.256613
2025-11-03T09:36:47.486 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 17;14.8354632;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85523;2460982.81721627;9.61317472;1.3;_14.8108504575242 -24.1497846554861
2025-11-03T09:36:47.486 [INFO] [Thread-88686 (handle)] [driver.py] [get_status()] ra_j2k = 14.8108504575242     dec_j2k = -24.1497846554861
2025-11-03T09:36:47.486 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:47.486 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:47.486 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 140;0.0967583493309789;171.162351965909;_
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response 140;0.0967583493309789;171.162351965909;_
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:47.487 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:47.488 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:47.489 [DEBUG] [Thread-88686 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:47.489 [DEBUG] [Thread-88686 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:47.489 [DEBUG] [Thread-88686 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:47.493 [DEBUG] [Thread-88686 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37861)
2025-11-03T09:36:47.493 [DEBUG] [Thread-88686 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:47.493 [DEBUG] [Thread-88686 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:47.494 [DEBUG] [Thread-88686 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:47.494 [DEBUG] [Thread-88686 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:47.494 [DEBUG] [Thread-88686 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:47.500 [DEBUG] [Thread-88686 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:47.501 [DEBUG] [Thread-88686 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:47.501 [INFO] [Thread-88686 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81721624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967583493309789, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8354632, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85523, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8108504575242, telescope_dec_j2k=-24.1497846554861, observability=1)
2025-11-03T09:36:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:48
2025-11-03T09:36:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8590703010559082s
2025-11-03T09:36:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8590703010559082
2025-11-03T09:36:48.504 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Status age = 1.0035948753356934s
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:48.505 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:48.506 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:48.507 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 17;14.8357437;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85551;2460982.81722809;9.61345444;1.3;_
2025-11-03T09:36:48.507 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response 17;14.8357437;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85551;2460982.81722809;9.61345444;1.3;_
2025-11-03T09:36:48.507 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:48.507 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:48.507 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:48.508 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:48.508 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:48.508 [INFO] [Thread-88687 (handle)] [driver.py] [get_status()] Telra = 14.8357437, teldec = -24.256613
2025-11-03T09:36:48.508 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8357437 -24.256613
2025-11-03T09:36:48.508 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8357437 -24.256613
2025-11-03T09:36:48.508 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8357437 -24.256613
2025-11-03T09:36:48.509 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 17;14.8357437;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85551;2460982.81722811;9.61345444;1.3;_14.8111307193157 -24.1497914917074
2025-11-03T09:36:48.509 [INFO] [Thread-88687 (handle)] [driver.py] [get_status()] ra_j2k = 14.8111307193157     dec_j2k = -24.1497914917074
2025-11-03T09:36:48.509 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:48.509 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 140;0.0967578278757225;171.162362694745;_
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response 140;0.0967578278757225;171.162362694745;_
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:48.510 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:48.511 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:48.512 [DEBUG] [Thread-88687 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:48.512 [DEBUG] [Thread-88687 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:48.512 [DEBUG] [Thread-88687 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:48.518 [DEBUG] [Thread-88687 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56395)
2025-11-03T09:36:48.518 [DEBUG] [Thread-88687 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:48.519 [DEBUG] [Thread-88687 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:48.519 [DEBUG] [Thread-88687 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:48.519 [DEBUG] [Thread-88687 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:48.519 [DEBUG] [Thread-88687 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:48.526 [DEBUG] [Thread-88687 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:48.526 [INFO] [Thread-88687 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81722809, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967578278757225, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8357437, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85551, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8111307193157, telescope_dec_j2k=-24.1497914917074, observability=1)
2025-11-03T09:36:48.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:48
2025-11-03T09:36:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23497295379638672s
2025-11-03T09:36:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23497295379638672
2025-11-03T09:36:49.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:49
2025-11-03T09:36:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8358204364776611s
2025-11-03T09:36:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8358204364776611
2025-11-03T09:36:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:50
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8346893787384033s
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8362479;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85601;2460982.81724957;9.61395722;1.3;_
2025-11-03T09:36:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8362479;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85601;2460982.81724957;9.61395722;1.3;_
2025-11-03T09:36:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8362479, teldec = -24.256613
2025-11-03T09:36:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8362479 -24.256613
2025-11-03T09:36:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8362479 -24.256613
2025-11-03T09:36:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8362479 -24.256613
2025-11-03T09:36:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8362479;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85601;2460982.81724959;9.61395722;1.3;_14.8116344911679 -24.1498037813143
2025-11-03T09:36:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8116344911679     dec_j2k = -24.1498037813143
2025-11-03T09:36:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967573866443516;171.162362694745;_
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967573866443516;171.162362694745;_
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:50.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44427)
2025-11-03T09:36:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:50.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:50.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:50.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:50.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81724957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967573866443516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8362479, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85601, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8116344911679, telescope_dec_j2k=-24.1498037813143, observability=1)
2025-11-03T09:36:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:50
2025-11-03T09:36:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38254427909851074s
2025-11-03T09:36:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38254427909851074
2025-11-03T09:36:51.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:51
2025-11-03T09:36:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9859657287597656s
2025-11-03T09:36:51.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9859657287597656
2025-11-03T09:36:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:52
2025-11-03T09:36:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844801425933838s
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8368075;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85657;2460982.81727272;9.61451528;1.3;_
2025-11-03T09:36:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8368075;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85657;2460982.81727272;9.61451528;1.3;_
2025-11-03T09:36:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8368075, teldec = -24.256613
2025-11-03T09:36:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8368075 -24.256613
2025-11-03T09:36:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8368075 -24.256613
2025-11-03T09:36:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8368075 -24.256613
2025-11-03T09:36:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8368075;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85657;2460982.81727276;9.61451528;1.3;_14.8121936160261 -24.1498174234763
2025-11-03T09:36:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8121936160261     dec_j2k = -24.1498174234763
2025-11-03T09:36:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967587103384642;171.162368059163;_
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967587103384642;171.162368059163;_
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:52.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49691)
2025-11-03T09:36:52.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:52.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:52.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81727272, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967587103384642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8368075, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85657, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8121936160261, telescope_dec_j2k=-24.1498174234763, observability=1)
2025-11-03T09:36:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:52
2025-11-03T09:36:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3787710666656494s
2025-11-03T09:36:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3787710666656494
2025-11-03T09:36:53.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:53
2025-11-03T09:36:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9854259490966797s
2025-11-03T09:36:53.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9854259490966797
2025-11-03T09:36:54.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:54
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830694198608398s
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8373587;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85713;2460982.8172959;9.615065;1.3;_
2025-11-03T09:36:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8373587;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85713;2460982.8172959;9.615065;1.3;_
2025-11-03T09:36:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8373587, teldec = -24.256613
2025-11-03T09:36:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8373587 -24.256613
2025-11-03T09:36:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8373587 -24.256613
2025-11-03T09:36:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8373587 -24.256613
2025-11-03T09:36:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8373587;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85713;2460982.81729593;9.615065;1.3;_14.8127443480676 -24.149830863132
2025-11-03T09:36:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8127443480676     dec_j2k = -24.149830863132
2025-11-03T09:36:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967587905623498;171.162362694745;_
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967587905623498;171.162362694745;_
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44369)
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8172959, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967587905623498, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8373587, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85713, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8127443480676, telescope_dec_j2k=-24.149830863132, observability=1)
2025-11-03T09:36:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:54
2025-11-03T09:36:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37763500213623047s
2025-11-03T09:36:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37763500213623047
2025-11-03T09:36:55.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:55
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0473389625549316s
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:55.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:55.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.837667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85743;2460982.81730822;9.6153725;1.3;_
2025-11-03T09:36:55.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.837667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85743;2460982.81730822;9.6153725;1.3;_
2025-11-03T09:36:55.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:55.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:55.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:55.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:55.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:55.432 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.837667, teldec = -24.256613
2025-11-03T09:36:55.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.837667 -24.256613
2025-11-03T09:36:55.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.837667 -24.256613
2025-11-03T09:36:55.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.837667 -24.256613
2025-11-03T09:36:55.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.837667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85743;2460982.81730825;9.6153725;1.3;_14.8130523863488 -24.1498383812522
2025-11-03T09:36:55.433 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8130523863488     dec_j2k = -24.1498383812522
2025-11-03T09:36:55.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:55.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:55.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967582289951505;171.162351965909;_
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967582289951505;171.162351965909;_
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:55.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:55.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:55.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:55.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:55.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44471)
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:55.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:55.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:55.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81730822, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967582289951505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.837667, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8130523863488, telescope_dec_j2k=-24.1498383812522, observability=1)
2025-11-03T09:36:56.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:56
2025-11-03T09:36:56.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:56.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.918997049331665s
2025-11-03T09:36:56.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.918997049331665
2025-11-03T09:36:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:56
2025-11-03T09:36:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3181908130645752s
2025-11-03T09:36:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8380311;-24.256613;50.108569;89.993054;50.08601;90.12017;11.8578;2460982.81732367;9.61573556;1.3;_
2025-11-03T09:36:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8380311;-24.256613;50.108569;89.993054;50.08601;90.12017;11.8578;2460982.81732367;9.61573556;1.3;_
2025-11-03T09:36:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:56.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8380311, teldec = -24.256613
2025-11-03T09:36:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8380311 -24.256613
2025-11-03T09:36:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8380311 -24.256613
2025-11-03T09:36:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8380311 -24.256613
2025-11-03T09:36:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8380311;-24.256613;50.108569;89.993054;50.08601;90.12017;11.8578;2460982.81732369;9.61573556;1.3;_14.8134161772812 -24.1498472610045
2025-11-03T09:36:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8134161772812     dec_j2k = -24.1498472610045
2025-11-03T09:36:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967588707862354;171.162357330327;_
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967588707862354;171.162357330327;_
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53213)
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:56.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81732367, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967588707862354, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8380311, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8578, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8134161772812, telescope_dec_j2k=-24.1498472610045, observability=1)
2025-11-03T09:36:57.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:57
2025-11-03T09:36:57.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:57.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5805821418762207s
2025-11-03T09:36:57.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5805821418762207
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1766905784606934s
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8383667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85813;2460982.81733752;9.61607028;1.3;_
2025-11-03T09:36:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.8383667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85813;2460982.81733752;9.61607028;1.3;_
2025-11-03T09:36:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.8383667, teldec = -24.256613
2025-11-03T09:36:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8383667 -24.256613
2025-11-03T09:36:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8383667 -24.256613
2025-11-03T09:36:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8383667 -24.256613
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8383667;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85813;2460982.81733756;9.61607028;1.3;_14.8137514924256 -24.1498554465637
2025-11-03T09:36:57.965 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.8137514924256     dec_j2k = -24.1498554465637
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967586301145786;171.162362694745;_
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967586301145786;171.162362694745;_
2025-11-03T09:36:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:36:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:36:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52837)
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:57.978 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:57.979 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:57.979 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81733752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967586301145786, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8383667, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85813, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8137514924256, telescope_dec_j2k=-24.1498554465637, observability=1)
2025-11-03T09:36:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:58
2025-11-03T09:36:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3818638324737549s
2025-11-03T09:36:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3818638324737549
2025-11-03T09:36:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:58
2025-11-03T09:36:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7801094055175781s
2025-11-03T09:36:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7801094055175781
2025-11-03T09:36:59.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:36:59
2025-11-03T09:36:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3819165229797363s
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:36:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:36:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8387492;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85852;2460982.81735373;9.61645167;1.3;_
2025-11-03T09:36:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8387492;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85852;2460982.81735373;9.61645167;1.3;_
2025-11-03T09:36:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:36:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:36:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:36:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:36:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8387492, teldec = -24.256613
2025-11-03T09:36:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8387492 -24.256613
2025-11-03T09:36:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8387492 -24.256613
2025-11-03T09:36:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8387492 -24.256613
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8387492;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85852;2460982.81735375;9.61645167;1.3;_14.8141336677844 -24.1498647770714
2025-11-03T09:36:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8141336677844     dec_j2k = -24.1498647770714
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967584295548645;171.162362694745;_
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967584295548645;171.162362694745;_
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:36:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:36:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:36:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:36:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:36:59.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41409)
2025-11-03T09:36:59.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:36:59.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:36:59.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:36:59.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:36:59.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:36:59.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:36:59.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81735373, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967584295548645, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8387492, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85852, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8141336677844, telescope_dec_j2k=-24.1498647770714, observability=1)
2025-11-03T09:37:00.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:00
2025-11-03T09:37:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9892299175262451s
2025-11-03T09:37:00.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9892299175262451
2025-11-03T09:37:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:00
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3828632831573486s
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8391413;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85891;2460982.81736992;9.61684278;1.3;_
2025-11-03T09:37:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8391413;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85891;2460982.81736992;9.61684278;1.3;_
2025-11-03T09:37:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8391413, teldec = -24.256613
2025-11-03T09:37:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8391413 -24.256613
2025-11-03T09:37:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8391413 -24.256613
2025-11-03T09:37:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8391413 -24.256613
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8391413;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85891;2460982.81736995;9.61684278;1.3;_14.8145254350206 -24.1498743428832
2025-11-03T09:37:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8145254350206     dec_j2k = -24.1498743428832
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967587103384642;171.162357330327;_
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967587103384642;171.162357330327;_
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33891)
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:00.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:00.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81736992, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967587103384642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8391413, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85891, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8145254350206, telescope_dec_j2k=-24.1498743428832, observability=1)
2025-11-03T09:37:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:01
2025-11-03T09:37:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5831551551818848s
2025-11-03T09:37:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5831551551818848
2025-11-03T09:37:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:02
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5823860168457031s
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8395901;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85936;2460982.81738845;9.61729028;1.3;_
2025-11-03T09:37:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8395901;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85936;2460982.81738845;9.61729028;1.3;_
2025-11-03T09:37:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:02.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8395901, teldec = -24.256613
2025-11-03T09:37:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8395901 -24.256613
2025-11-03T09:37:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8395901 -24.256613
2025-11-03T09:37:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8395901 -24.256613
2025-11-03T09:37:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8395901;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85936;2460982.81738847;9.61729028;1.3;_14.8149738541687 -24.1498852933683
2025-11-03T09:37:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8149738541687     dec_j2k = -24.1498852933683
2025-11-03T09:37:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967591916817778;171.162357330327;_
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967591916817778;171.162357330327;_
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44053)
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:02.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:02.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:02.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:02.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:02.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81738845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967591916817778, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8395901, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85936, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8149738541687, telescope_dec_j2k=-24.1498852933683, observability=1)
2025-11-03T09:37:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:02
2025-11-03T09:37:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37801194190979004s
2025-11-03T09:37:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37801194190979004
2025-11-03T09:37:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:03
2025-11-03T09:37:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812779426574707s
2025-11-03T09:37:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812779426574707
2025-11-03T09:37:04.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:04
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829511642456055s
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8401499;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85992;2460982.81741162;9.61784861;1.3;_
2025-11-03T09:37:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8401499;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85992;2460982.81741162;9.61784861;1.3;_
2025-11-03T09:37:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8401499, teldec = -24.256613
2025-11-03T09:37:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8401499 -24.256613
2025-11-03T09:37:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8401499 -24.256613
2025-11-03T09:37:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8401499 -24.256613
2025-11-03T09:37:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8401499;-24.256613;50.108569;89.993054;50.08601;90.12017;11.85992;2460982.81741164;9.61784861;1.3;_14.8155331791694 -24.1498989542896
2025-11-03T09:37:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8155331791694     dec_j2k = -24.1498989542896
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967581086593221;171.162357330327;_
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967581086593221;171.162357330327;_
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43179)
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:04.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:04.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81741162, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967581086593221, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8401499, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.85992, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8155331791694, telescope_dec_j2k=-24.1498989542896, observability=1)
2025-11-03T09:37:04.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:04
2025-11-03T09:37:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38037109375s
2025-11-03T09:37:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38037109375
2025-11-03T09:37:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:05
2025-11-03T09:37:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980194091796875s
2025-11-03T09:37:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980194091796875
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Status age = 1.2287421226501465s
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:05.609 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 17;14.8405051;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86027;2460982.81742604;9.61820278;1.3;_
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response 17;14.8405051;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86027;2460982.81742604;9.61820278;1.3;_
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:05.610 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:05.611 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:05.611 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:05.612 [INFO] [Thread-88688 (handle)] [driver.py] [get_status()] Telra = 14.8405051, teldec = -24.256613
2025-11-03T09:37:05.612 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8405051 -24.256613
2025-11-03T09:37:05.612 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8405051 -24.256613
2025-11-03T09:37:05.612 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8405051 -24.256613
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 17;14.8405051;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86027;2460982.81742608;9.61820278;1.3;_14.8158880778035 -24.1499076235178
2025-11-03T09:37:05.613 [INFO] [Thread-88688 (handle)] [driver.py] [get_status()] ra_j2k = 14.8158880778035     dec_j2k = -24.1499076235178
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 140;0.0967587103384642;171.162357330327;_
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response 140;0.0967587103384642;171.162357330327;_
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:05.613 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:05.614 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:05.614 [DEBUG] [Thread-88688 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:05.614 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:05.614 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:05.614 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:05.615 [DEBUG] [Thread-88688 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:05.615 [DEBUG] [Thread-88688 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:05.615 [DEBUG] [Thread-88688 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:05.619 [DEBUG] [Thread-88688 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50257)
2025-11-03T09:37:05.619 [DEBUG] [Thread-88688 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:05.619 [DEBUG] [Thread-88688 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:05.620 [DEBUG] [Thread-88688 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:05.620 [DEBUG] [Thread-88688 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:05.620 [DEBUG] [Thread-88688 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:05.627 [DEBUG] [Thread-88688 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:05.627 [INFO] [Thread-88688 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81742604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967587103384642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8405051, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86027, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8158880778035, telescope_dec_j2k=-24.1499076235178, observability=1)
2025-11-03T09:37:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:06
2025-11-03T09:37:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7334840297698975s
2025-11-03T09:37:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7334840297698975
2025-11-03T09:37:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:06
2025-11-03T09:37:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1352181434631348s
2025-11-03T09:37:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8408134;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86058;2460982.8174394;9.61851028;1.3;_
2025-11-03T09:37:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8408134;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86058;2460982.8174394;9.61851028;1.3;_
2025-11-03T09:37:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8408134, teldec = -24.256613
2025-11-03T09:37:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8408134 -24.256613
2025-11-03T09:37:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8408134 -24.256613
2025-11-03T09:37:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8408134 -24.256613
2025-11-03T09:37:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8408134;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86058;2460982.81743942;9.61851028;1.3;_14.8161961162466 -24.1499151488345
2025-11-03T09:37:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8161961162466     dec_j2k = -24.1499151488345
2025-11-03T09:37:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967590713459494;171.162362694745;_
2025-11-03T09:37:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967590713459494;171.162362694745;_
2025-11-03T09:37:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55203)
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:06.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8174394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967590713459494, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8408134, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86058, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8161961162466, telescope_dec_j2k=-24.1499151488345, observability=1)
2025-11-03T09:37:07.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:07
2025-11-03T09:37:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5817933082580566s
2025-11-03T09:37:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5817933082580566
2025-11-03T09:37:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:08
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.585425853729248s
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8412624;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86103;2460982.81745793;9.61895806;1.3;_
2025-11-03T09:37:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8412624;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86103;2460982.81745793;9.61895806;1.3;_
2025-11-03T09:37:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8412624, teldec = -24.256613
2025-11-03T09:37:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8412624 -24.256613
2025-11-03T09:37:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8412624 -24.256613
2025-11-03T09:37:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8412624 -24.256613
2025-11-03T09:37:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8412624;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86103;2460982.81745795;9.61895806;1.3;_14.8166447353504 -24.1499261097683
2025-11-03T09:37:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8166447353504     dec_j2k = -24.1499261097683
2025-11-03T09:37:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967593120176062;171.162351965909;_
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967593120176062;171.162351965909;_
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44929)
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:08.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81745793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967593120176062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.8412624, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86103, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8166447353504, telescope_dec_j2k=-24.1499261097683, observability=1)
2025-11-03T09:37:08.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:08
2025-11-03T09:37:08.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:08.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39697885513305664s
2025-11-03T09:37:08.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39697885513305664
2025-11-03T09:37:09.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:09
2025-11-03T09:37:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.982816219329834s
2025-11-03T09:37:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.982816219329834
2025-11-03T09:37:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:10
2025-11-03T09:37:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822940826416016s
2025-11-03T09:37:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.841822;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86159;2460982.81748103;9.61951611;1.3;_
2025-11-03T09:37:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.841822;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86159;2460982.81748103;9.61951611;1.3;_
2025-11-03T09:37:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.841822, teldec = -24.256613
2025-11-03T09:37:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.841822 -24.256613
2025-11-03T09:37:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.841822 -24.256613
2025-11-03T09:37:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.841822 -24.256613
2025-11-03T09:37:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.841822;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86159;2460982.81748106;9.61951611;1.3;_14.817203860677 -24.1499397727486
2025-11-03T09:37:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.817203860677     dec_j2k = -24.1499397727486
2025-11-03T09:37:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967589911220638;171.162362694745;_
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967589911220638;171.162362694745;_
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48239)
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:10.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:10.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81748103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967589911220638, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.841822, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86159, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.817203860677, telescope_dec_j2k=-24.1499397727486, observability=1)
2025-11-03T09:37:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:10
2025-11-03T09:37:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798646926879883s
2025-11-03T09:37:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798646926879883
2025-11-03T09:37:11.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:11
2025-11-03T09:37:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9842507839202881s
2025-11-03T09:37:11.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9842507839202881
2025-11-03T09:37:12.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:12
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828181266784668s
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750421;9.62006556;1.3;_
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750421;9.62006556;1.3;_
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:12.365 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:37:12
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.9854261875152588s
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.842373, teldec = -24.256613
2025-11-03T09:37:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.365 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750424;9.62006556;1.3;_14.8177543933496 -24.1499532280231
2025-11-03T09:37:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8177543933496     dec_j2k = -24.1499532280231
2025-11-03T09:37:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:12.367 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967597131370343;171.162351965909;_
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967597131370343;171.162351965909;_
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750425;9.62006556;1.3;_
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750425;9.62006556;1.3;_
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:12.368 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:12.368 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:12.369 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:12.369 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:12.369 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.842373, teldec = -24.256613
2025-11-03T09:37:12.369 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.369 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:12.369 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.842373 -24.256613
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34555)
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:12.370 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.842373;-24.256613;50.108569;89.993054;50.08601;90.12017;11.86214;2460982.81750428;9.62006556;1.3;_14.8177543933496 -24.1499532280231
2025-11-03T09:37:12.370 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.8177543933496     dec_j2k = -24.1499532280231
2025-11-03T09:37:12.370 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:12.370 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:12.370 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967597131370343;171.162351965909;_
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967597131370343;171.162351965909;_
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:12.371 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:12.372 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:12.372 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:12.372 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59997)
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:12.377 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:12.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:12.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81750421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967597131370343, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.842373, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86214, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8177543933496, telescope_dec_j2k=-24.1499532280231, observability=1)
2025-11-03T09:37:12.385 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:12.385 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:12.385 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:12.386 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:12.386 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81750425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967597131370343, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108569, telescope_az=89.993054, telescope_ra=14.842373, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86214, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8177543933496, telescope_dec_j2k=-24.1499532280231, observability=1)
2025-11-03T09:37:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:12
2025-11-03T09:37:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37482261657714844s
2025-11-03T09:37:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37482261657714844
2025-11-03T09:37:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:13
2025-11-03T09:37:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9742884635925293s
2025-11-03T09:37:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9742884635925293
2025-11-03T09:37:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:14
2025-11-03T09:37:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9746472835540771s
2025-11-03T09:37:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8429334;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8627;2460982.81752734;9.62062444;1.3;_
2025-11-03T09:37:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8429334;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8627;2460982.81752734;9.62062444;1.3;_
2025-11-03T09:37:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8429334, teldec = -24.256613
2025-11-03T09:37:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8429334 -24.256613
2025-11-03T09:37:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8429334 -24.256613
2025-11-03T09:37:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8429334 -24.256613
2025-11-03T09:37:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8429334;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8627;2460982.81752737;9.62062444;1.3;_14.8183143181016 -24.1499669151517
2025-11-03T09:37:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8183143181016     dec_j2k = -24.1499669151517
2025-11-03T09:37:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967595526892631;171.162368059163;_
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967595526892631;171.162368059163;_
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45299)
2025-11-03T09:37:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:14.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:14.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:14.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81752734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967595526892631, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8429334, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8627, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8183143181016, telescope_dec_j2k=-24.1499669151517, observability=1)
2025-11-03T09:37:14.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:14
2025-11-03T09:37:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37827491760253906s
2025-11-03T09:37:14.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37827491760253906
2025-11-03T09:37:15.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:15
2025-11-03T09:37:15.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:15.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9791591167449951s
2025-11-03T09:37:15.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9791591167449951
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.3559527397155762s
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:15.736 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:15.737 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:15.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8433256;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86309;2460982.81754326;9.62101556;1.3;_
2025-11-03T09:37:15.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.8433256;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86309;2460982.81754326;9.62101556;1.3;_
2025-11-03T09:37:15.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:15.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:15.738 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:15.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:15.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:15.739 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.8433256, teldec = -24.256613
2025-11-03T09:37:15.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.8433256 -24.256613
2025-11-03T09:37:15.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.8433256 -24.256613
2025-11-03T09:37:15.739 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8433256 -24.256613
2025-11-03T09:37:15.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8433256;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86309;2460982.81754329;9.62101556;1.3;_14.8187061855271 -24.1499764955725
2025-11-03T09:37:15.740 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.8187061855271     dec_j2k = -24.1499764955725
2025-11-03T09:37:15.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:15.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:15.740 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967594724653775;171.162362694745;_
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967594724653775;171.162362694745;_
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:15.741 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:15.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:15.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:15.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:15.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:15.742 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:15.743 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35681)
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:15.748 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:15.755 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:15.756 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:37:15.756 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81754326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967594724653775, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8433256, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86309, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:36:15.998232', telescope_ra_j2k=14.8187061855271, telescope_dec_j2k=-24.1499764955725, observability=1)
2025-11-03T09:37:15.756 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.391284704208374 seconds ago
2025-11-03T09:37:16.138 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:16.138 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:16.138 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:16.138 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:16.138 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:16.139 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:16.139 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:16.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:16.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:16.140 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:16.140 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:37:16.140 [INFO] [ThreadPoolExecutor-3413_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:37:16.141 [INFO] [ThreadPoolExecutor-3413_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:37:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:16
2025-11-03T09:37:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041898727416992s
2025-11-03T09:37:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041898727416992
2025-11-03T09:37:16.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:16
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0103425979614258s
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:16.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:16.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8436055;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86337;2460982.81755519;9.62129472;1.3;_
2025-11-03T09:37:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8436055;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86337;2460982.81755519;9.62129472;1.3;_
2025-11-03T09:37:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:16.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8436055, teldec = -24.256613
2025-11-03T09:37:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8436055 -24.256613
2025-11-03T09:37:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8436055 -24.256613
2025-11-03T09:37:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8436055 -24.256613
2025-11-03T09:37:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8436055;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86337;2460982.81755521;9.62129472;1.3;_14.8189858481956 -24.149983333495
2025-11-03T09:37:16.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8189858481956     dec_j2k = -24.149983333495
2025-11-03T09:37:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967596730250915;171.162357330327;_
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967596730250915;171.162357330327;_
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60323)
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:16.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:16.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:16.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:16.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81755519, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967596730250915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8436055, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86337, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8189858481956, telescope_dec_j2k=-24.149983333495, observability=1)
2025-11-03T09:37:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:17
2025-11-03T09:37:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5743458271026611s
2025-11-03T09:37:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5743458271026611
2025-11-03T09:37:18.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:18
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.573185682296753s
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:18.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8440445;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86381;2460982.81757362;9.6217325;1.3;_
2025-11-03T09:37:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8440445;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86381;2460982.81757362;9.6217325;1.3;_
2025-11-03T09:37:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:18.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8440445, teldec = -24.256613
2025-11-03T09:37:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8440445 -24.256613
2025-11-03T09:37:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8440445 -24.256613
2025-11-03T09:37:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8440445 -24.256613
2025-11-03T09:37:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8440445;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86381;2460982.81757365;9.6217325;1.3;_14.8194244759871 -24.1499940593804
2025-11-03T09:37:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8194244759871     dec_j2k = -24.1499940593804
2025-11-03T09:37:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967596329131487;171.162357330327;_
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967596329131487;171.162357330327;_
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52365)
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:18.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:18.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:18.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81757362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967596329131487, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8440445, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8194244759871, telescope_dec_j2k=-24.1499940593804, observability=1)
2025-11-03T09:37:18.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:18
2025-11-03T09:37:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39518141746520996s
2025-11-03T09:37:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39518141746520996
2025-11-03T09:37:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:19
2025-11-03T09:37:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9851689338684082s
2025-11-03T09:37:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9851689338684082
2025-11-03T09:37:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:20
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985823154449463s
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8446052;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86437;2460982.81759679;9.62229167;1.3;_
2025-11-03T09:37:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8446052;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86437;2460982.81759679;9.62229167;1.3;_
2025-11-03T09:37:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8446052, teldec = -24.256613
2025-11-03T09:37:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8446052 -24.256613
2025-11-03T09:37:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8446052 -24.256613
2025-11-03T09:37:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8446052 -24.256613
2025-11-03T09:37:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8446052;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86437;2460982.81759683;9.62229167;1.3;_14.8199847006414 -24.1500077607828
2025-11-03T09:37:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8199847006414     dec_j2k = -24.1500077607828
2025-11-03T09:37:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967596730250915;171.162362694745;_
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967596730250915;171.162362694745;_
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58287)
2025-11-03T09:37:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:20.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:20.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:20.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81759679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967596730250915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8446052, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86437, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8199847006414, telescope_dec_j2k=-24.1500077607828, observability=1)
2025-11-03T09:37:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:20
2025-11-03T09:37:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3793981075286865s
2025-11-03T09:37:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3793981075286865
2025-11-03T09:37:21.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:21
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0548667907714844s
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8449132;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86468;2460982.81760926;9.62259889;1.3;_
2025-11-03T09:37:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8449132;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86468;2460982.81760926;9.62259889;1.3;_
2025-11-03T09:37:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:21.441 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8449132, teldec = -24.256613
2025-11-03T09:37:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8449132 -24.256613
2025-11-03T09:37:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8449132 -24.256613
2025-11-03T09:37:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8449132 -24.256613
2025-11-03T09:37:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8449132;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86468;2460982.81760928;9.62259889;1.3;_14.82029243955 -24.1500152881375
2025-11-03T09:37:21.442 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.82029243955     dec_j2k = -24.1500152881375
2025-11-03T09:37:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967598334728627;171.162357330327;_
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967598334728627;171.162357330327;_
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:21.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44313)
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:21.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:21.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:21.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81760926, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967598334728627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8449132, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.82029243955, telescope_dec_j2k=-24.1500152881375, observability=1)
2025-11-03T09:37:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:22
2025-11-03T09:37:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9059920310974121s
2025-11-03T09:37:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9059920310974121
2025-11-03T09:37:22.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:22
2025-11-03T09:37:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:22.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3028595447540283s
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:22.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8452767;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86504;2460982.81762453;9.62296139;1.3;_
2025-11-03T09:37:22.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8452767;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86504;2460982.81762453;9.62296139;1.3;_
2025-11-03T09:37:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:22.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8452767, teldec = -24.256613
2025-11-03T09:37:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8452767 -24.256613
2025-11-03T09:37:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8452767 -24.256613
2025-11-03T09:37:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8452767 -24.256613
2025-11-03T09:37:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8452767;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86504;2460982.81762456;9.62296139;1.3;_14.8206556314318 -24.1500241727867
2025-11-03T09:37:22.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8206556314318     dec_j2k = -24.1500241727867
2025-11-03T09:37:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967599939206339;171.162357330327;_
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967599939206339;171.162357330327;_
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33429)
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:22.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:22.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81762453, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967599939206339, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8452767, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86504, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8206556314318, telescope_dec_j2k=-24.1500241727867, observability=1)
2025-11-03T09:37:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:23
2025-11-03T09:37:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5836560726165771s
2025-11-03T09:37:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5836560726165771
2025-11-03T09:37:23.661 [DEBUG] [Thread-88689 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:23.661 [DEBUG] [Thread-88689 (handle)] [server.py] [get_status()] Status age = 0.8843355178833008s
2025-11-03T09:37:23.661 [DEBUG] [Thread-88689 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8843355178833008
2025-11-03T09:37:24.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:24
2025-11-03T09:37:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.586458683013916s
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8457154;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86548;2460982.81764311;9.62339889;1.3;_
2025-11-03T09:37:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8457154;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86548;2460982.81764311;9.62339889;1.3;_
2025-11-03T09:37:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8457154, teldec = -24.256613
2025-11-03T09:37:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8457154 -24.256613
2025-11-03T09:37:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8457154 -24.256613
2025-11-03T09:37:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8457154 -24.256613
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8457154;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86548;2460982.81764314;9.62339889;1.3;_14.8210939596002 -24.1500348967741
2025-11-03T09:37:24.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8210939596002     dec_j2k = -24.1500348967741
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967603148161764;171.162346601491;_
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967603148161764;171.162346601491;_
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:24.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50885)
2025-11-03T09:37:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:24.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:24.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:24.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81764311, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967603148161764, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8457154, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86548, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8210939596002, telescope_dec_j2k=-24.1500348967741, observability=1)
2025-11-03T09:37:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:24
2025-11-03T09:37:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.374910831451416s
2025-11-03T09:37:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.374910831451416
2025-11-03T09:37:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:25
2025-11-03T09:37:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9746644496917725s
2025-11-03T09:37:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9746644496917725
2025-11-03T09:37:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:26
2025-11-03T09:37:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764478206634521s
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8462759;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86604;2460982.81766623;9.62395778;1.3;_
2025-11-03T09:37:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8462759;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86604;2460982.81766623;9.62395778;1.3;_
2025-11-03T09:37:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8462759, teldec = -24.256613
2025-11-03T09:37:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8462759 -24.256613
2025-11-03T09:37:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8462759 -24.256613
2025-11-03T09:37:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8462759 -24.256613
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8462759;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86604;2460982.81766626;9.62395778;1.3;_14.8216539845807 -24.1500486002274
2025-11-03T09:37:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8216539845807     dec_j2k = -24.1500486002274
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967597131370343;171.162362694745;_
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967597131370343;171.162362694745;_
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38945)
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:26.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:26.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:26.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81766623, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967597131370343, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8462759, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86604, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8216539845807, telescope_dec_j2k=-24.1500486002274, observability=1)
2025-11-03T09:37:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:26
2025-11-03T09:37:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3877537250518799s
2025-11-03T09:37:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3877537250518799
2025-11-03T09:37:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:27
2025-11-03T09:37:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834833145141602s
2025-11-03T09:37:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834833145141602
2025-11-03T09:37:28.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:28
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836108684539795s
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8468363;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8666;2460982.81768938;9.62451667;1.3;_
2025-11-03T09:37:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8468363;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8666;2460982.81768938;9.62451667;1.3;_
2025-11-03T09:37:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8468363, teldec = -24.256613
2025-11-03T09:37:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8468363 -24.256613
2025-11-03T09:37:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8468363 -24.256613
2025-11-03T09:37:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8468363 -24.256613
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8468363;-24.256613;50.108568;89.993054;50.08601;90.12017;11.8666;2460982.81768941;9.62451667;1.3;_14.8222139096986 -24.1500623035621
2025-11-03T09:37:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8222139096986     dec_j2k = -24.1500623035621
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967597532489771;171.162362694745;_
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967597532489771;171.162362694745;_
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:28.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59131)
2025-11-03T09:37:28.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:28.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:28.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:28.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:28.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:28.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:28.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:28.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81768938, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967597532489771, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8468363, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8222139096986, telescope_dec_j2k=-24.1500623035621, observability=1)
2025-11-03T09:37:28.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:28
2025-11-03T09:37:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38471460342407227s
2025-11-03T09:37:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38471460342407227
2025-11-03T09:37:29.013 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:29.013 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6336066722869873s
2025-11-03T09:37:29.013 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6336066722869873
2025-11-03T09:37:29.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:29
2025-11-03T09:37:29.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:29.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9783871173858643s
2025-11-03T09:37:29.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9783871173858643
2025-11-03T09:37:30.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:30
2025-11-03T09:37:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981781005859375s
2025-11-03T09:37:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8473867;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86715;2460982.81771252;9.62506556;1.3;_
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8473867;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86715;2460982.81771252;9.62506556;1.3;_
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8473867, teldec = -24.256613
2025-11-03T09:37:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8473867 -24.256613
2025-11-03T09:37:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8473867 -24.256613
2025-11-03T09:37:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8473867 -24.256613
2025-11-03T09:37:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8473867;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86715;2460982.81771255;9.62506556;1.3;_14.8227638433415 -24.1500757646331
2025-11-03T09:37:30.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8227638433415     dec_j2k = -24.1500757646331
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967600741445196;171.162357330327;_
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967600741445196;171.162357330327;_
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52593)
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:30.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:30.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:30.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81771252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967600741445196, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8473867, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86715, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8227638433415, telescope_dec_j2k=-24.1500757646331, observability=1)
2025-11-03T09:37:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:30
2025-11-03T09:37:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3814811706542969s
2025-11-03T09:37:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3814811706542969
2025-11-03T09:37:31.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:31
2025-11-03T09:37:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9828188419342041s
2025-11-03T09:37:31.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9828188419342041
2025-11-03T09:37:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:32
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805805683135986s
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8479474;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86771;2460982.81773567;9.62562472;1.3;_
2025-11-03T09:37:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8479474;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86771;2460982.81773567;9.62562472;1.3;_
2025-11-03T09:37:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8479474, teldec = -24.256613
2025-11-03T09:37:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8479474 -24.256613
2025-11-03T09:37:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8479474 -24.256613
2025-11-03T09:37:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8479474 -24.256613
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8479474;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86771;2460982.81773569;9.62562472;1.3;_14.8233240683094 -24.1500894799165
2025-11-03T09:37:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8233240683094     dec_j2k = -24.1500894799165
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967596730250915;171.162357330327;_
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967596730250915;171.162357330327;_
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49599)
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:32.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:32.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:32.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81773567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967596730250915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8479474, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86771, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8233240683094, telescope_dec_j2k=-24.1500894799165, observability=1)
2025-11-03T09:37:32.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:32
2025-11-03T09:37:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39278531074523926s
2025-11-03T09:37:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39278531074523926
2025-11-03T09:37:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:33
2025-11-03T09:37:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9847536087036133s
2025-11-03T09:37:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9847536087036133
2025-11-03T09:37:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:34
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984283447265625s
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8485075;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86827;2460982.81775882;9.62618333;1.3;_
2025-11-03T09:37:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8485075;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86827;2460982.81775882;9.62618333;1.3;_
2025-11-03T09:37:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8485075, teldec = -24.256613
2025-11-03T09:37:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8485075 -24.256613
2025-11-03T09:37:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8485075 -24.256613
2025-11-03T09:37:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8485075 -24.256613
2025-11-03T09:37:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8485075;-24.256613;50.108568;89.993054;50.08601;90.12017;11.86827;2460982.81775884;9.62618333;1.3;_14.8238836938382 -24.1501031828474
2025-11-03T09:37:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8238836938382     dec_j2k = -24.1501031828474
2025-11-03T09:37:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967613978386321;171.162346601491;_
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967613978386321;171.162346601491;_
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54879)
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:34.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:34.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81775882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967613978386321, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8485075, telescope_dec=-24.256613, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86827, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8238836938382, telescope_dec_j2k=-24.1501031828474, observability=1)
2025-11-03T09:37:34.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:34
2025-11-03T09:37:34.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:34.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43041133880615234s
2025-11-03T09:37:34.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43041133880615234
2025-11-03T09:37:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:35
2025-11-03T09:37:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9807934761047363s
2025-11-03T09:37:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9807934761047363
2025-11-03T09:37:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:36
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816269874572754s
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8490668;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86883;2460982.81778197;9.62674111;1.3;_
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8490668;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86883;2460982.81778197;9.62674111;1.3;_
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8490668, teldec = -24.256612
2025-11-03T09:37:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8490668 -24.256612
2025-11-03T09:37:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8490668 -24.256612
2025-11-03T09:37:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8490668 -24.256612
2025-11-03T09:37:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8490668;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86883;2460982.81778199;9.62674111;1.3;_14.8244425202278 -24.1501158685354
2025-11-03T09:37:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8244425202278     dec_j2k = -24.1501158685354
2025-11-03T09:37:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967607961594901;171.162357330327;_
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967607961594901;171.162357330327;_
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:36.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38153)
2025-11-03T09:37:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:36.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:36.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:36.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81778197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967607961594901, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8490668, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86883, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8244425202278, telescope_dec_j2k=-24.1501158685354, observability=1)
2025-11-03T09:37:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:36
2025-11-03T09:37:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3828775882720947s
2025-11-03T09:37:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3828775882720947
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.019 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:37:37.020 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:37:37.020 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:37:37.020 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.020 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.020 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.021 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:37.021 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:37.021 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:37.021 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.021 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:37.022 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:37:37.023 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:37.024 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Park
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:37:37.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 29;14.849254;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86902;2460982.81778964;9.62692778;1.3;_Park Command Successful
2025-11-03T09:37:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:37
2025-11-03T09:37:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9822862148284912s
2025-11-03T09:37:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9822862148284912
2025-11-03T09:37:38.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:37:38.025 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:37:38.026 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:37:38.026 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:37:38.026 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:37:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:38
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840497970581055s
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8496186;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86938;2460982.81780514;9.62729139;1.3;_
2025-11-03T09:37:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8496186;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86938;2460982.81780514;9.62729139;1.3;_
2025-11-03T09:37:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8496186, teldec = -24.256612
2025-11-03T09:37:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8496186 -24.256612
2025-11-03T09:37:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8496186 -24.256612
2025-11-03T09:37:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8496186 -24.256612
2025-11-03T09:37:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8496186;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86938;2460982.81780516;9.62729139;1.3;_14.8249938528907 -24.150129372961
2025-11-03T09:37:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8249938528907     dec_j2k = -24.150129372961
2025-11-03T09:37:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967603549281192;171.162357330327;_
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967603549281192;171.162357330327;_
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:38.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37289)
2025-11-03T09:37:38.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:38.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:38.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:38.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:38.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:38.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:38.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81780514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967603549281192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8496186, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8249938528907, telescope_dec_j2k=-24.150129372961, observability=1)
2025-11-03T09:37:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:38
2025-11-03T09:37:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3846707344055176s
2025-11-03T09:37:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3846707344055176
2025-11-03T09:37:39.027 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:37:39.027 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:37:39.027 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:37:39.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:37:39.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:37:39.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:39
2025-11-03T09:37:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9821665287017822s
2025-11-03T09:37:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9821665287017822
2025-11-03T09:37:40.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:37:40.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:37:40.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:37:40.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:37:40.028 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:37:40.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:40
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838252067565918s
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8501788;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86995;2460982.81782828;9.62785;1.3;_
2025-11-03T09:37:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8501788;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86995;2460982.81782828;9.62785;1.3;_
2025-11-03T09:37:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8501788, teldec = -24.256612
2025-11-03T09:37:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8501788 -24.256612
2025-11-03T09:37:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8501788 -24.256612
2025-11-03T09:37:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8501788 -24.256612
2025-11-03T09:37:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8501788;-24.256612;50.108568;89.993054;50.08601;90.12017;11.86995;2460982.8178283;9.62785;1.3;_14.8255535784916 -24.1501430852685
2025-11-03T09:37:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8255535784916     dec_j2k = -24.1501430852685
2025-11-03T09:37:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967603549281192;171.162351965909;_
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967603549281192;171.162351965909;_
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41049)
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:40.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:40.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81782828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967603549281192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8501788, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.86995, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8255535784916, telescope_dec_j2k=-24.1501430852685, observability=1)
2025-11-03T09:37:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:40
2025-11-03T09:37:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37732648849487305s
2025-11-03T09:37:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37732648849487305
2025-11-03T09:37:41.029 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:37:41.029 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:37:41.029 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:41.030 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:37:41.031 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:37:41.032 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:41
2025-11-03T09:37:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9769752025604248s
2025-11-03T09:37:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9769752025604248
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Status age = 1.3454437255859375s
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:41.728 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:41.729 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:41.730 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:41.730 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:41.730 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 17;14.8505707;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87034;2460982.8178441;9.62824083;1.3;_
2025-11-03T09:37:41.730 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response 17;14.8505707;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87034;2460982.8178441;9.62824083;1.3;_
2025-11-03T09:37:41.731 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:41.731 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:41.731 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:41.732 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:41.732 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:41.732 [INFO] [Thread-88690 (handle)] [driver.py] [get_status()] Telra = 14.8505707, teldec = -24.256612
2025-11-03T09:37:41.732 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8505707 -24.256612
2025-11-03T09:37:41.732 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8505707 -24.256612
2025-11-03T09:37:41.732 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8505707 -24.256612
2025-11-03T09:37:41.733 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 17;14.8505707;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87034;2460982.81784413;9.62824083;1.3;_14.8259451466468 -24.1501526793897
2025-11-03T09:37:41.733 [INFO] [Thread-88690 (handle)] [driver.py] [get_status()] ra_j2k = 14.8259451466468     dec_j2k = -24.1501526793897
2025-11-03T09:37:41.733 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:41.733 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:41.733 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 140;0.0967608763833757;171.162357330327;_
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response 140;0.0967608763833757;171.162357330327;_
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:41.734 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:41.735 [DEBUG] [Thread-88690 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:41.736 [DEBUG] [Thread-88690 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48871)
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:41.742 [DEBUG] [Thread-88690 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:41.749 [DEBUG] [Thread-88690 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:41.749 [INFO] [Thread-88690 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8178441, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967608763833757, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8505707, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8259451466468, telescope_dec_j2k=-24.1501526793897, observability=1)
2025-11-03T09:37:42.032 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:42.032 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:42.032 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:42.032 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:42.032 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:37:42.033 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:37:42.034 [DEBUG] [ThreadPoolExecutor-3412_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:42.034 [INFO] [ThreadPoolExecutor-3412_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:37:42.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:42
2025-11-03T09:37:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6162874698638916s
2025-11-03T09:37:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6162874698638916
2025-11-03T09:37:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:42
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0114529132843018s
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8508503;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87062;2460982.81785604;9.62851972;1.3;_
2025-11-03T09:37:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8508503;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87062;2460982.81785604;9.62851972;1.3;_
2025-11-03T09:37:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8508503, teldec = -24.256612
2025-11-03T09:37:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8508503 -24.256612
2025-11-03T09:37:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8508503 -24.256612
2025-11-03T09:37:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8508503 -24.256612
2025-11-03T09:37:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8508503;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87062;2460982.81785608;9.62851972;1.3;_14.8262245099087 -24.1501595249844
2025-11-03T09:37:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8262245099087     dec_j2k = -24.1501595249844
2025-11-03T09:37:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967603148161764;171.162351965909;_
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967603148161764;171.162351965909;_
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49539)
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81785604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967603148161764, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8508503, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87062, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8262245099087, telescope_dec_j2k=-24.1501595249844, observability=1)
2025-11-03T09:37:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:43
2025-11-03T09:37:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5795598030090332s
2025-11-03T09:37:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5795598030090332
2025-11-03T09:37:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:44
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5795278549194336s
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8512896;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87106;2460982.81787456;9.62895778;1.3;_
2025-11-03T09:37:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8512896;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87106;2460982.81787456;9.62895778;1.3;_
2025-11-03T09:37:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8512896, teldec = -24.256612
2025-11-03T09:37:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8512896 -24.256612
2025-11-03T09:37:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8512896 -24.256612
2025-11-03T09:37:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8512896 -24.256612
2025-11-03T09:37:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8512896;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87106;2460982.81787458;9.62895778;1.3;_14.8266634379786 -24.1501702817669
2025-11-03T09:37:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8266634379786     dec_j2k = -24.1501702817669
2025-11-03T09:37:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967608362714329;171.162357330327;_
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967608362714329;171.162357330327;_
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51123)
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:44.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:44.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81787456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967608362714329, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8512896, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87106, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8266634379786, telescope_dec_j2k=-24.1501702817669, observability=1)
2025-11-03T09:37:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:44
2025-11-03T09:37:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37966036796569824s
2025-11-03T09:37:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37966036796569824
2025-11-03T09:37:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:45
2025-11-03T09:37:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9790427684783936s
2025-11-03T09:37:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9790427684783936
2025-11-03T09:37:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:46
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793951511383057s
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.85185;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87162;2460982.81789772;9.62951667;1.3;_
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.85185;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87162;2460982.81789772;9.62951667;1.3;_
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.85185, teldec = -24.256612
2025-11-03T09:37:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.85185 -24.256612
2025-11-03T09:37:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.85185 -24.256612
2025-11-03T09:37:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.85185 -24.256612
2025-11-03T09:37:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.85185;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87162;2460982.81789774;9.62951667;1.3;_14.8272233635671 -24.1501840058993
2025-11-03T09:37:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8272233635671     dec_j2k = -24.1501840058993
2025-11-03T09:37:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967608763833757;171.162368059163;_
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967608763833757;171.162368059163;_
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56747)
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:46.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81789772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967608763833757, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.85185, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87162, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8272233635671, telescope_dec_j2k=-24.1501840058993, observability=1)
2025-11-03T09:37:46.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:46
2025-11-03T09:37:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39470577239990234s
2025-11-03T09:37:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39470577239990234
2025-11-03T09:37:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:47
2025-11-03T09:37:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9827783107757568s
2025-11-03T09:37:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9827783107757568
2025-11-03T09:37:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:48
2025-11-03T09:37:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822123050689697s
2025-11-03T09:37:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8524099;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87218;2460982.81792086;9.630075;1.3;_
2025-11-03T09:37:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8524099;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87218;2460982.81792086;9.630075;1.3;_
2025-11-03T09:37:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8524099, teldec = -24.256612
2025-11-03T09:37:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8524099 -24.256612
2025-11-03T09:37:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8524099 -24.256612
2025-11-03T09:37:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8524099 -24.256612
2025-11-03T09:37:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8524099;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87218;2460982.81792088;9.630075;1.3;_14.8277827896314 -24.1501977201067
2025-11-03T09:37:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8277827896314     dec_j2k = -24.1501977201067
2025-11-03T09:37:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967610368311469;171.162351965909;_
2025-11-03T09:37:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967610368311469;171.162351965909;_
2025-11-03T09:37:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38985)
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:48.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:48.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81792086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967610368311469, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8524099, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87218, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8277827896314, telescope_dec_j2k=-24.1501977201067, observability=1)
2025-11-03T09:37:48.570 [DEBUG] [Thread-88691 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:48.570 [DEBUG] [Thread-88691 (handle)] [server.py] [get_status()] Status age = 0.18765521049499512s
2025-11-03T09:37:48.570 [DEBUG] [Thread-88691 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18765521049499512
2025-11-03T09:37:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:48
2025-11-03T09:37:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38205671310424805s
2025-11-03T09:37:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38205671310424805
2025-11-03T09:37:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:49
2025-11-03T09:37:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.977341890335083s
2025-11-03T09:37:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.977341890335083
2025-11-03T09:37:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:50
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978461742401123s
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8529605;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87273;2460982.81794402;9.63062417;1.3;_
2025-11-03T09:37:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8529605;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87273;2460982.81794402;9.63062417;1.3;_
2025-11-03T09:37:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8529605, teldec = -24.256612
2025-11-03T09:37:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8529605 -24.256612
2025-11-03T09:37:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8529605 -24.256612
2025-11-03T09:37:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8529605 -24.256612
2025-11-03T09:37:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8529605;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87273;2460982.81794404;9.63062417;1.3;_14.8283329236191 -24.150211208781
2025-11-03T09:37:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8283329236191     dec_j2k = -24.150211208781
2025-11-03T09:37:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967603549281192;171.162351965909;_
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967603549281192;171.162351965909;_
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57687)
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:50.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:50.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:50.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:50.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81794402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967603549281192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8529605, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87273, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8283329236191, telescope_dec_j2k=-24.150211208781, observability=1)
2025-11-03T09:37:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:50
2025-11-03T09:37:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38277387619018555s
2025-11-03T09:37:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38277387619018555
2025-11-03T09:37:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:51
2025-11-03T09:37:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9836034774780273s
2025-11-03T09:37:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9836034774780273
2025-11-03T09:37:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:52
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982961893081665s
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8535212;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87329;2460982.81796714;9.63118333;1.3;_
2025-11-03T09:37:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8535212;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87329;2460982.81796714;9.63118333;1.3;_
2025-11-03T09:37:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:52.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8535212, teldec = -24.256612
2025-11-03T09:37:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8535212 -24.256612
2025-11-03T09:37:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8535212 -24.256612
2025-11-03T09:37:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8535212 -24.256612
2025-11-03T09:37:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8535212;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87329;2460982.81796718;9.63118333;1.3;_14.8288931491107 -24.1502249471905
2025-11-03T09:37:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8288931491107     dec_j2k = -24.1502249471905
2025-11-03T09:37:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967615181744606;171.162357330327;_
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967615181744606;171.162357330327;_
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:52.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46797)
2025-11-03T09:37:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:52.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:52.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81796714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967615181744606, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8535212, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87329, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8288931491107, telescope_dec_j2k=-24.1502249471905, observability=1)
2025-11-03T09:37:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:52
2025-11-03T09:37:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3851735591888428s
2025-11-03T09:37:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3851735591888428
2025-11-03T09:37:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:53
2025-11-03T09:37:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984086275100708s
2025-11-03T09:37:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984086275100708
2025-11-03T09:37:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:54
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983149766921997s
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8540805;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87385;2460982.81799031;9.63174111;1.3;_
2025-11-03T09:37:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8540805;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87385;2460982.81799031;9.63174111;1.3;_
2025-11-03T09:37:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8540805, teldec = -24.256612
2025-11-03T09:37:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8540805 -24.256612
2025-11-03T09:37:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8540805 -24.256612
2025-11-03T09:37:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8540805 -24.256612
2025-11-03T09:37:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8540805;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87385;2460982.81799034;9.63174111;1.3;_14.8294519758397 -24.150238653613
2025-11-03T09:37:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8294519758397     dec_j2k = -24.150238653613
2025-11-03T09:37:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967609164953185;171.162357330327;_
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967609164953185;171.162357330327;_
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:54.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37989)
2025-11-03T09:37:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81799031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967609164953185, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8540805, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87385, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8294519758397, telescope_dec_j2k=-24.150238653613, observability=1)
2025-11-03T09:37:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:54
2025-11-03T09:37:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3770930767059326s
2025-11-03T09:37:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3770930767059326
2025-11-03T09:37:55.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:55
2025-11-03T09:37:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9805233478546143s
2025-11-03T09:37:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9805233478546143
2025-11-03T09:37:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:56
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978905439376831s
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8546309;-24.256612;50.108568;89.993054;50.08601;90.12017;11.8744;2460982.81801345;9.63229;1.3;_
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8546309;-24.256612;50.108568;89.993054;50.08601;90.12017;11.8744;2460982.81801345;9.63229;1.3;_
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:56.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8546309, teldec = -24.256612
2025-11-03T09:37:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8546309 -24.256612
2025-11-03T09:37:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8546309 -24.256612
2025-11-03T09:37:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8546309 -24.256612
2025-11-03T09:37:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8546309;-24.256612;50.108568;89.993054;50.08601;90.12017;11.8744;2460982.81801347;9.63229;1.3;_14.8300019101509 -24.1502521441866
2025-11-03T09:37:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8300019101509     dec_j2k = -24.1502521441866
2025-11-03T09:37:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967617187341746;171.162346601491;_
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967617187341746;171.162346601491;_
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39661)
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:56.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:56.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:56.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:56.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81801345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967617187341746, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8546309, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8744, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8300019101509, telescope_dec_j2k=-24.1502521441866, observability=1)
2025-11-03T09:37:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:56
2025-11-03T09:37:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3843255043029785s
2025-11-03T09:37:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3843255043029785
2025-11-03T09:37:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:57
2025-11-03T09:37:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9831740856170654s
2025-11-03T09:37:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9831740856170654
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5830843448638916s
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8550791;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87485;2460982.81803198;9.63273694;1.3;_
2025-11-03T09:37:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.8550791;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87485;2460982.81803198;9.63273694;1.3;_
2025-11-03T09:37:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.8550791, teldec = -24.256612
2025-11-03T09:37:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8550791 -24.256612
2025-11-03T09:37:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8550791 -24.256612
2025-11-03T09:37:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8550791 -24.256612
2025-11-03T09:37:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8550791;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87485;2460982.818032;9.63273694;1.3;_14.8304497309703 -24.1502631314426
2025-11-03T09:37:57.965 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.8304497309703     dec_j2k = -24.1502631314426
2025-11-03T09:37:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967609566072613;171.162362694745;_
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967609566072613;171.162362694745;_
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:37:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50759)
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:57.981 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81803198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967609566072613, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8550791, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87485, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8304497309703, telescope_dec_j2k=-24.1502631314426, observability=1)
2025-11-03T09:37:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:58
2025-11-03T09:37:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37967896461486816s
2025-11-03T09:37:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37967896461486816
2025-11-03T09:37:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:58
2025-11-03T09:37:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7796742916107178s
2025-11-03T09:37:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7796742916107178
2025-11-03T09:37:59.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:37:59
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.381232738494873s
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:37:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8554719;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87524;2460982.81804818;9.63312861;1.3;_
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8554719;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87524;2460982.81804818;9.63312861;1.3;_
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:37:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:37:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:37:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:37:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8554719, teldec = -24.256612
2025-11-03T09:37:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8554719 -24.256612
2025-11-03T09:37:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8554719 -24.256612
2025-11-03T09:37:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8554719 -24.256612
2025-11-03T09:37:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8554719;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87524;2460982.81804822;9.63312861;1.3;_14.8308421986862 -24.1502727618339
2025-11-03T09:37:59.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8308421986862     dec_j2k = -24.1502727618339
2025-11-03T09:37:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:37:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:37:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967608763833757;171.162362694745;_
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967608763833757;171.162362694745;_
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:37:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:37:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:37:59.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55481)
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:37:59.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:37:59.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:37:59.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81804818, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967608763833757, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8554719, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8308421986862, telescope_dec_j2k=-24.1502727618339, observability=1)
2025-11-03T09:37:59.861 [DEBUG] [Thread-88692 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:37:59.861 [DEBUG] [Thread-88692 (handle)] [server.py] [get_status()] Status age = 0.4806358814239502s
2025-11-03T09:37:59.861 [DEBUG] [Thread-88692 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4806358814239502
2025-11-03T09:38:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:00
2025-11-03T09:38:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815776348114014s
2025-11-03T09:38:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815776348114014
2025-11-03T09:38:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:00
2025-11-03T09:38:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3800764083862305s
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8558638;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87563;2460982.81806438;9.63351944;1.3;_
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8558638;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87563;2460982.81806438;9.63351944;1.3;_
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8558638, teldec = -24.256612
2025-11-03T09:38:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8558638 -24.256612
2025-11-03T09:38:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8558638 -24.256612
2025-11-03T09:38:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8558638 -24.256612
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8558638;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87563;2460982.8180644;9.63351944;1.3;_14.8312337671892 -24.1502823712961
2025-11-03T09:38:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8312337671892     dec_j2k = -24.1502823712961
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967613978386321;171.162357330327;_
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967613978386321;171.162357330327;_
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59215)
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:00.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81806438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967613978386321, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8558638, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87563, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8312337671892, telescope_dec_j2k=-24.1502823712961, observability=1)
2025-11-03T09:38:01.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:01
2025-11-03T09:38:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5822067260742188s
2025-11-03T09:38:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5822067260742188
2025-11-03T09:38:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:02
2025-11-03T09:38:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5821723937988281s
2025-11-03T09:38:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8563114;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87608;2460982.8180829;9.63396583;1.3;_
2025-11-03T09:38:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8563114;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87608;2460982.8180829;9.63396583;1.3;_
2025-11-03T09:38:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8563114, teldec = -24.256612
2025-11-03T09:38:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8563114 -24.256612
2025-11-03T09:38:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8563114 -24.256612
2025-11-03T09:38:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8563114 -24.256612
2025-11-03T09:38:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8563114;-24.256612;50.108568;89.993054;50.08601;90.12017;11.87608;2460982.81808293;9.63396583;1.3;_14.8316809886088 -24.1502933479215
2025-11-03T09:38:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8316809886088     dec_j2k = -24.1502933479215
2025-11-03T09:38:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967614780625178;171.162351965909;_
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967614780625178;171.162351965909;_
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41681)
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:02.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:02.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:02.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8180829, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967614780625178, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108568, telescope_az=89.993054, telescope_ra=14.8563114, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87608, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8316809886088, telescope_dec_j2k=-24.1502933479215, observability=1)
2025-11-03T09:38:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:02
2025-11-03T09:38:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38141894340515137s
2025-11-03T09:38:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38141894340515137
2025-11-03T09:38:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:03
2025-11-03T09:38:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9817929267883301s
2025-11-03T09:38:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9817929267883301
2025-11-03T09:38:04.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:04
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9904375076293945s
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8568632;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87663;2460982.81810615;9.63451611;1.3;_
2025-11-03T09:38:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8568632;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87663;2460982.81810615;9.63451611;1.3;_
2025-11-03T09:38:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:04.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8568632, teldec = -24.256612
2025-11-03T09:38:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8568632 -24.256612
2025-11-03T09:38:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8568632 -24.256612
2025-11-03T09:38:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8568632 -24.256612
2025-11-03T09:38:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8568632;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87663;2460982.81810617;9.63451611;1.3;_14.8322323219422 -24.1503068819115
2025-11-03T09:38:04.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8322323219422     dec_j2k = -24.1503068819115
2025-11-03T09:38:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967610769430897;171.162351965909;_
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967610769430897;171.162351965909;_
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:04.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51463)
2025-11-03T09:38:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:04.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:04.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:04.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81810615, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967610769430897, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8568632, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87663, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8322323219422, telescope_dec_j2k=-24.1503068819115, observability=1)
2025-11-03T09:38:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:04
2025-11-03T09:38:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3725621700286865s
2025-11-03T09:38:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3725621700286865
2025-11-03T09:38:05.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:05
2025-11-03T09:38:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9719240665435791s
2025-11-03T09:38:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9719240665435791
2025-11-03T09:38:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:06
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9723856449127197s
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8574236;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87719;2460982.81812919;9.635075;1.3;_
2025-11-03T09:38:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8574236;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87719;2460982.81812919;9.635075;1.3;_
2025-11-03T09:38:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8574236, teldec = -24.256612
2025-11-03T09:38:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8574236 -24.256612
2025-11-03T09:38:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8574236 -24.256612
2025-11-03T09:38:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8574236 -24.256612
2025-11-03T09:38:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8574236;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87719;2460982.81812921;9.635075;1.3;_14.8327922480548 -24.1503206291363
2025-11-03T09:38:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8327922480548     dec_j2k = -24.1503206291363
2025-11-03T09:38:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967615983983462;171.162346601491;_
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967615983983462;171.162346601491;_
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41151)
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:06.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:06.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:06.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:06.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:06.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:06.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81812919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967615983983462, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8574236, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87719, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8327922480548, telescope_dec_j2k=-24.1503206291363, observability=1)
2025-11-03T09:38:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:06
2025-11-03T09:38:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38276195526123047s
2025-11-03T09:38:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38276195526123047
2025-11-03T09:38:07.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:07
2025-11-03T09:38:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9811522960662842s
2025-11-03T09:38:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9811522960662842
2025-11-03T09:38:08.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:08
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9846229553222656s
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8579832;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87775;2460982.81815237;9.63563306;1.3;_
2025-11-03T09:38:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8579832;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87775;2460982.81815237;9.63563306;1.3;_
2025-11-03T09:38:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8579832, teldec = -24.256612
2025-11-03T09:38:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8579832 -24.256612
2025-11-03T09:38:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8579832 -24.256612
2025-11-03T09:38:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8579832 -24.256612
2025-11-03T09:38:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8579832;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87775;2460982.8181524;9.63563306;1.3;_14.8333513748965 -24.1503343590516
2025-11-03T09:38:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8333513748965     dec_j2k = -24.1503343590516
2025-11-03T09:38:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967612373908609;171.162357330327;_
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967612373908609;171.162357330327;_
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:08.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38241)
2025-11-03T09:38:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:08.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:08.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81815237, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967612373908609, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8579832, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87775, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8333513748965, telescope_dec_j2k=-24.1503343590516, observability=1)
2025-11-03T09:38:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:08
2025-11-03T09:38:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.385695219039917s
2025-11-03T09:38:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.385695219039917
2025-11-03T09:38:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:09
2025-11-03T09:38:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9799716472625732s
2025-11-03T09:38:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9799716472625732
2025-11-03T09:38:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:10
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801969528198242s
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8585344;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8783;2460982.8181755;9.63618278;1.3;_
2025-11-03T09:38:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8585344;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8783;2460982.8181755;9.63618278;1.3;_
2025-11-03T09:38:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8585344, teldec = -24.256612
2025-11-03T09:38:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8585344 -24.256612
2025-11-03T09:38:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8585344 -24.256612
2025-11-03T09:38:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8585344 -24.256612
2025-11-03T09:38:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8585344;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8783;2460982.81817552;9.63618278;1.3;_14.8339021088922 -24.1503478851323
2025-11-03T09:38:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8339021088922     dec_j2k = -24.1503478851323
2025-11-03T09:38:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096762039629717;171.162357330327;_
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096762039629717;171.162357330327;_
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:10.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36107)
2025-11-03T09:38:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:10.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:10.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:10.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:10.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8181755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096762039629717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8585344, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8339021088922, telescope_dec_j2k=-24.1503478851323, observability=1)
2025-11-03T09:38:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:10
2025-11-03T09:38:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38023829460144043s
2025-11-03T09:38:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38023829460144043
2025-11-03T09:38:11.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:11
2025-11-03T09:38:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9817273616790771s
2025-11-03T09:38:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9817273616790771
2025-11-03T09:38:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:12
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817135334014893s
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8590948;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87886;2460982.81819863;9.63674167;1.3;_
2025-11-03T09:38:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8590948;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87886;2460982.81819863;9.63674167;1.3;_
2025-11-03T09:38:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8590948, teldec = -24.256612
2025-11-03T09:38:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8590948 -24.256612
2025-11-03T09:38:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8590948 -24.256612
2025-11-03T09:38:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8590948 -24.256612
2025-11-03T09:38:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8590948;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87886;2460982.81819867;9.63674167;1.3;_14.8344620351621 -24.1503616392755
2025-11-03T09:38:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8344620351621     dec_j2k = -24.1503616392755
2025-11-03T09:38:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967626814208019;171.162362694745;_
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967626814208019;171.162362694745;_
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53127)
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:12.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:12.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81819863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967626814208019, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8590948, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87886, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8344620351621, telescope_dec_j2k=-24.1503616392755, observability=1)
2025-11-03T09:38:12.447 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:38:12
2025-11-03T09:38:12.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:12.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.06685924530029297s
2025-11-03T09:38:12.447 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06685924530029297
2025-11-03T09:38:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:12
2025-11-03T09:38:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38045263290405273s
2025-11-03T09:38:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38045263290405273
2025-11-03T09:38:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:13
2025-11-03T09:38:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9803133010864258s
2025-11-03T09:38:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9803133010864258
2025-11-03T09:38:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:14
2025-11-03T09:38:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980337142944336s
2025-11-03T09:38:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8596541;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87942;2460982.81822178;9.63729944;1.3;_
2025-11-03T09:38:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8596541;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87942;2460982.81822178;9.63729944;1.3;_
2025-11-03T09:38:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:14.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8596541, teldec = -24.256612
2025-11-03T09:38:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8596541 -24.256612
2025-11-03T09:38:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8596541 -24.256612
2025-11-03T09:38:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8596541 -24.256612
2025-11-03T09:38:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8596541;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87942;2460982.81822181;9.63729944;1.3;_14.8350208624146 -24.1503753687335
2025-11-03T09:38:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8350208624146     dec_j2k = -24.1503753687335
2025-11-03T09:38:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967617588461174;171.162362694745;_
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967617588461174;171.162362694745;_
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43229)
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:14.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:14.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:14.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:14.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:14.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81822178, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967617588461174, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8596541, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87942, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8350208624146, telescope_dec_j2k=-24.1503753687335, observability=1)
2025-11-03T09:38:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:14
2025-11-03T09:38:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38283514976501465s
2025-11-03T09:38:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38283514976501465
2025-11-03T09:38:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:15
2025-11-03T09:38:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812629222869873s
2025-11-03T09:38:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812629222869873
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.436906099319458s
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:15.816 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.860065;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87983;2460982.81823862;9.63770917;1.3;_
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.860065;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87983;2460982.81823862;9.63770917;1.3;_
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:15.817 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:15.818 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:15.818 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:15.819 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:15.819 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.860065, teldec = -24.256612
2025-11-03T09:38:15.819 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.860065 -24.256612
2025-11-03T09:38:15.819 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.860065 -24.256612
2025-11-03T09:38:15.819 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.860065 -24.256612
2025-11-03T09:38:15.820 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.860065;-24.256612;50.108567;89.993054;50.08601;90.12017;11.87983;2460982.81823866;9.63770917;1.3;_14.8354314151354 -24.1503854568034
2025-11-03T09:38:15.820 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.8354314151354     dec_j2k = -24.1503854568034
2025-11-03T09:38:15.820 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:15.820 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:15.820 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967619995177742;171.162351965909;_
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967619995177742;171.162351965909;_
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:15.821 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:15.822 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:15.822 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:15.822 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54015)
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:15.823 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:15.830 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:15.831 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:38:15.831 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81823862, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967619995177742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.860065, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.87983, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:37:16.137656', telescope_ra_j2k=14.8354314151354, telescope_dec_j2k=-24.1503854568034, observability=1)
2025-11-03T09:38:15.831 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.3839404582977295 seconds ago
2025-11-03T09:38:16.279 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:16.279 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:16.279 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:16.279 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:16.280 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:16.280 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:16.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:16.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:16.281 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:16.281 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:38:16.281 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:16.281 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:38:16.282 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:38:16.283 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:16
2025-11-03T09:38:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5294318199157715s
2025-11-03T09:38:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5294318199157715
2025-11-03T09:38:16.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:16
2025-11-03T09:38:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9433526992797852s
2025-11-03T09:38:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9433526992797852
2025-11-03T09:38:17.283 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:17.284 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:17.285 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:17.286 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:17.286 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:17.286 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:17.287 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:17.287 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:17.287 [DEBUG] [ThreadPoolExecutor-3414_0] [payload.py] [to_registers()] [0]
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43383)
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:17.291 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:17.292 [DEBUG] [ThreadPoolExecutor-3414_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:17.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:17
2025-11-03T09:38:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5337705612182617s
2025-11-03T09:38:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:17.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8604856;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88025;2460982.81825656;9.63812861;1.3;_
2025-11-03T09:38:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8604856;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88025;2460982.81825656;9.63812861;1.3;_
2025-11-03T09:38:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:17.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8604856, teldec = -24.256612
2025-11-03T09:38:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8604856 -24.256612
2025-11-03T09:38:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8604856 -24.256612
2025-11-03T09:38:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8604856 -24.256612
2025-11-03T09:38:17.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8604856;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88025;2460982.81825659;9.63812861;1.3;_14.8358516596876 -24.1503957843107
2025-11-03T09:38:17.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8358516596876     dec_j2k = -24.1503957843107
2025-11-03T09:38:17.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:17.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:17.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967619995177742;171.162368059163;_
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967619995177742;171.162368059163;_
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:17.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:17.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:17.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:17.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:17.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51169)
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:17.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:17.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81825656, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967619995177742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8604856, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88025, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8358516596876, telescope_dec_j2k=-24.1503957843107, observability=1)
2025-11-03T09:38:17.929 [DEBUG] [Thread-88693 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:17.929 [DEBUG] [Thread-88693 (handle)] [server.py] [get_status()] Status age = 0.5430421829223633s
2025-11-03T09:38:17.929 [DEBUG] [Thread-88693 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5430421829223633
2025-11-03T09:38:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:18
2025-11-03T09:38:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9747107028961182s
2025-11-03T09:38:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9747107028961182
2025-11-03T09:38:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:18
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3794190883636475s
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8608777;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88064;2460982.81827277;9.63851972;1.3;_
2025-11-03T09:38:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8608777;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88064;2460982.81827277;9.63851972;1.3;_
2025-11-03T09:38:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8608777, teldec = -24.256612
2025-11-03T09:38:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8608777 -24.256612
2025-11-03T09:38:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8608777 -24.256612
2025-11-03T09:38:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8608777 -24.256612
2025-11-03T09:38:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8608777;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88064;2460982.81827279;9.63851972;1.3;_14.8362434283518 -24.1504054131989
2025-11-03T09:38:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8362434283518     dec_j2k = -24.1504054131989
2025-11-03T09:38:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967623605252595;171.162351965909;_
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967623605252595;171.162351965909;_
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38411)
2025-11-03T09:38:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:18.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81827277, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967623605252595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8608777, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88064, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8362434283518, telescope_dec_j2k=-24.1504054131989, observability=1)
2025-11-03T09:38:19.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:19
2025-11-03T09:38:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5811779499053955s
2025-11-03T09:38:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5811779499053955
2025-11-03T09:38:20.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:20
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5835471153259277s
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8613256;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88109;2460982.81829128;9.63896639;1.3;_
2025-11-03T09:38:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8613256;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88109;2460982.81829128;9.63896639;1.3;_
2025-11-03T09:38:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:20.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8613256, teldec = -24.256612
2025-11-03T09:38:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8613256 -24.256612
2025-11-03T09:38:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8613256 -24.256612
2025-11-03T09:38:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8613256 -24.256612
2025-11-03T09:38:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8613256;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88109;2460982.81829131;9.63896639;1.3;_14.836690949895 -24.1504164137691
2025-11-03T09:38:20.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.836690949895     dec_j2k = -24.1504164137691
2025-11-03T09:38:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967620797416598;171.162351965909;_
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967620797416598;171.162351965909;_
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55021)
2025-11-03T09:38:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:20.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:20.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:20.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81829128, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967620797416598, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8613256, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88109, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.836690949895, telescope_dec_j2k=-24.1504164137691, observability=1)
2025-11-03T09:38:20.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:20
2025-11-03T09:38:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3900003433227539s
2025-11-03T09:38:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3900003433227539
2025-11-03T09:38:21.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:21
2025-11-03T09:38:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0842313766479492s
2025-11-03T09:38:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8616334;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8814;2460982.81830403;9.63927333;1.3;_
2025-11-03T09:38:21.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8616334;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8814;2460982.81830403;9.63927333;1.3;_
2025-11-03T09:38:21.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:21.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:21.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:21.470 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8616334, teldec = -24.256612
2025-11-03T09:38:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8616334 -24.256612
2025-11-03T09:38:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8616334 -24.256612
2025-11-03T09:38:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8616334 -24.256612
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8616334;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8814;2460982.81830406;9.63927333;1.3;_14.8369984898364 -24.150423974296
2025-11-03T09:38:21.471 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8369984898364     dec_j2k = -24.150423974296
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096762039629717;171.162368059163;_
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096762039629717;171.162368059163;_
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:21.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57835)
2025-11-03T09:38:21.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:21.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:21.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:21.475 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:21.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:21.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:21.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81830403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096762039629717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8616334, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8814, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8369984898364, telescope_dec_j2k=-24.150423974296, observability=1)
2025-11-03T09:38:22.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:22
2025-11-03T09:38:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8785436153411865s
2025-11-03T09:38:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8785436153411865
2025-11-03T09:38:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:22
2025-11-03T09:38:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2812881469726562s
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8619888;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88176;2460982.81831904;9.63962778;1.3;_
2025-11-03T09:38:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8619888;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88176;2460982.81831904;9.63962778;1.3;_
2025-11-03T09:38:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8619888, teldec = -24.256612
2025-11-03T09:38:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8619888 -24.256612
2025-11-03T09:38:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8619888 -24.256612
2025-11-03T09:38:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8619888 -24.256612
2025-11-03T09:38:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8619888;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88176;2460982.81831906;9.63962778;1.3;_14.8373535895807 -24.1504327048971
2025-11-03T09:38:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8373535895807     dec_j2k = -24.1504327048971
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967618791819458;171.162357330327;_
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967618791819458;171.162357330327;_
2025-11-03T09:38:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54437)
2025-11-03T09:38:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81831904, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967618791819458, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8619888, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88176, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8373535895807, telescope_dec_j2k=-24.1504327048971, observability=1)
2025-11-03T09:38:23.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:23
2025-11-03T09:38:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5833806991577148s
2025-11-03T09:38:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5833806991577148
2025-11-03T09:38:24.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:24
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5791988372802734s
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:24.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8624373;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8822;2460982.81833751;9.640075;1.3;_
2025-11-03T09:38:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8624373;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8822;2460982.81833751;9.640075;1.3;_
2025-11-03T09:38:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:24.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8624373, teldec = -24.256612
2025-11-03T09:38:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8624373 -24.256612
2025-11-03T09:38:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8624373 -24.256612
2025-11-03T09:38:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8624373 -24.256612
2025-11-03T09:38:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8624373;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8822;2460982.81833753;9.640075;1.3;_14.8378017107008 -24.1504437238826
2025-11-03T09:38:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8378017107008     dec_j2k = -24.1504437238826
2025-11-03T09:38:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967622803013739;171.162357330327;_
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967622803013739;171.162357330327;_
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39215)
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:24.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:24.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:24.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81833751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967622803013739, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8624373, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8822, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8378017107008, telescope_dec_j2k=-24.1504437238826, observability=1)
2025-11-03T09:38:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:24
2025-11-03T09:38:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38065028190612793s
2025-11-03T09:38:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38065028190612793
2025-11-03T09:38:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:25
2025-11-03T09:38:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9821093082427979s
2025-11-03T09:38:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9821093082427979
2025-11-03T09:38:26.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:26
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9856550693511963s
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8629972;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88276;2460982.81836072;9.64063333;1.3;_
2025-11-03T09:38:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8629972;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88276;2460982.81836072;9.64063333;1.3;_
2025-11-03T09:38:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:26.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8629972, teldec = -24.256612
2025-11-03T09:38:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8629972 -24.256612
2025-11-03T09:38:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8629972 -24.256612
2025-11-03T09:38:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8629972 -24.256612
2025-11-03T09:38:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8629972;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88276;2460982.81836074;9.64063333;1.3;_14.8383611377609 -24.1504574818856
2025-11-03T09:38:26.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8383611377609     dec_j2k = -24.1504574818856
2025-11-03T09:38:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096761839070003;171.162357330327;_
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096761839070003;171.162357330327;_
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:26.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58673)
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:26.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:26.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:26.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:26.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:26.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:26.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:26.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:26.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81836072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096761839070003, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8629972, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88276, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8383611377609, telescope_dec_j2k=-24.1504574818856, observability=1)
2025-11-03T09:38:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:26
2025-11-03T09:38:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.374406099319458s
2025-11-03T09:38:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.374406099319458
2025-11-03T09:38:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:27
2025-11-03T09:38:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9748373031616211s
2025-11-03T09:38:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9748373031616211
2025-11-03T09:38:28.102 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:28.102 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.7166805267333984s
2025-11-03T09:38:28.102 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:28.103 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:28.103 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:28.103 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:28.103 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:28.103 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:28.104 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:28.105 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.8634924;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88326;2460982.81838084;9.64112722;1.3;_
2025-11-03T09:38:28.105 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.8634924;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88326;2460982.81838084;9.64112722;1.3;_
2025-11-03T09:38:28.105 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:28.105 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:28.105 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:28.106 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:28.106 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:28.106 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.8634924, teldec = -24.256612
2025-11-03T09:38:28.106 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8634924 -24.256612
2025-11-03T09:38:28.106 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8634924 -24.256612
2025-11-03T09:38:28.106 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8634924 -24.256612
2025-11-03T09:38:28.107 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.8634924;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88326;2460982.81838087;9.64112722;1.3;_14.8388559195162 -24.1504696519916
2025-11-03T09:38:28.107 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.8388559195162     dec_j2k = -24.1504696519916
2025-11-03T09:38:28.107 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:28.107 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967621599655454;171.162357330327;_
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967621599655454;171.162357330327;_
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:28.108 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:28.109 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42319)
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:28.110 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:28.117 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:28.118 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:28.118 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:28.118 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:28.118 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81838084, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967621599655454, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8634924, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88326, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8388559195162, telescope_dec_j2k=-24.1504696519916, observability=1)
2025-11-03T09:38:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:28
2025-11-03T09:38:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24315357208251953s
2025-11-03T09:38:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24315357208251953
2025-11-03T09:38:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:28
2025-11-03T09:38:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6457226276397705s
2025-11-03T09:38:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6457226276397705
2025-11-03T09:38:29.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:29
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2434883117675781s
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:29.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:29.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:29.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8638297;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8836;2460982.8183954;9.64146361;1.3;_
2025-11-03T09:38:29.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8638297;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8836;2460982.8183954;9.64146361;1.3;_
2025-11-03T09:38:29.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:29.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:29.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:29.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:29.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:29.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8638297, teldec = -24.256612
2025-11-03T09:38:29.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8638297 -24.256612
2025-11-03T09:38:29.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8638297 -24.256612
2025-11-03T09:38:29.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8638297 -24.256612
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8638297;-24.256612;50.108567;89.993054;50.08601;90.12017;11.8836;2460982.81839544;9.64146361;1.3;_14.8391929346571 -24.1504779425606
2025-11-03T09:38:29.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8391929346571     dec_j2k = -24.1504779425606
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967630424282872;171.162351965909;_
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967630424282872;171.162351965909;_
2025-11-03T09:38:29.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:29.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:29.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:29.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:29.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:29.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:29.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:29.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:29.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41785)
2025-11-03T09:38:29.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:29.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:29.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:29.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:29.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:29.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:29.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8183954, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967630424282872, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8638297, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.8836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8391929346571, telescope_dec_j2k=-24.1504779425606, observability=1)
2025-11-03T09:38:30.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:30
2025-11-03T09:38:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9758408069610596s
2025-11-03T09:38:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9758408069610596
2025-11-03T09:38:30.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:30
2025-11-03T09:38:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:30.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3741405010223389s
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:30.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:30.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8642227;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88399;2460982.81841157;9.64185556;1.3;_
2025-11-03T09:38:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8642227;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88399;2460982.81841157;9.64185556;1.3;_
2025-11-03T09:38:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:30.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8642227, teldec = -24.256612
2025-11-03T09:38:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8642227 -24.256612
2025-11-03T09:38:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8642227 -24.256612
2025-11-03T09:38:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8642227 -24.256612
2025-11-03T09:38:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8642227;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88399;2460982.8184116;9.64185556;1.3;_14.8395856027819 -24.1504876032504
2025-11-03T09:38:30.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8395856027819     dec_j2k = -24.1504876032504
2025-11-03T09:38:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967617989580602;171.162357330327;_
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967617989580602;171.162357330327;_
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59097)
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:30.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81841157, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967617989580602, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8642227, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88399, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8395856027819, telescope_dec_j2k=-24.1504876032504, observability=1)
2025-11-03T09:38:31.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:31
2025-11-03T09:38:31.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:31.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5880606174468994s
2025-11-03T09:38:31.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5880606174468994
2025-11-03T09:38:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:32
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.584301471710205s
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8646709;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88444;2460982.81843013;9.6423025;1.3;_
2025-11-03T09:38:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8646709;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88444;2460982.81843013;9.6423025;1.3;_
2025-11-03T09:38:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8646709, teldec = -24.256612
2025-11-03T09:38:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8646709 -24.256612
2025-11-03T09:38:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8646709 -24.256612
2025-11-03T09:38:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8646709 -24.256612
2025-11-03T09:38:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8646709;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88444;2460982.81843015;9.6423025;1.3;_14.840033424324 -24.1504986222522
2025-11-03T09:38:32.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.840033424324     dec_j2k = -24.1504986222522
2025-11-03T09:38:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967633633238296;171.162346601491;_
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967633633238296;171.162346601491;_
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53035)
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:32.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:32.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81843013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967633633238296, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8646709, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.840033424324, telescope_dec_j2k=-24.1504986222522, observability=1)
2025-11-03T09:38:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:32
2025-11-03T09:38:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38102245330810547s
2025-11-03T09:38:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38102245330810547
2025-11-03T09:38:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:33
2025-11-03T09:38:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9786598682403564s
2025-11-03T09:38:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9786598682403564
2025-11-03T09:38:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:34
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788851737976074s
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8652232;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88499;2460982.81845328;9.64285333;1.3;_
2025-11-03T09:38:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8652232;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88499;2460982.81845328;9.64285333;1.3;_
2025-11-03T09:38:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8652232, teldec = -24.256612
2025-11-03T09:38:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8652232 -24.256612
2025-11-03T09:38:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8652232 -24.256612
2025-11-03T09:38:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8652232 -24.256612
2025-11-03T09:38:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8652232;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88499;2460982.8184533;9.64285333;1.3;_14.840585258011 -24.1505122025914
2025-11-03T09:38:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.840585258011     dec_j2k = -24.1505122025914
2025-11-03T09:38:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967619594058314;171.162351965909;_
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967619594058314;171.162351965909;_
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35797)
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:34.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:34.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:34.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81845328, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967619594058314, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8652232, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88499, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.840585258011, telescope_dec_j2k=-24.1505122025914, observability=1)
2025-11-03T09:38:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:34
2025-11-03T09:38:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3814997673034668s
2025-11-03T09:38:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3814997673034668
2025-11-03T09:38:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:35
2025-11-03T09:38:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9818999767303467s
2025-11-03T09:38:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9818999767303467
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Status age = 1.6173944473266602s
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:35.995 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:35.996 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:35.997 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 17;14.865672;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88544;2460982.81847219;9.64330083;1.3;_
2025-11-03T09:38:35.998 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response 17;14.865672;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88544;2460982.81847219;9.64330083;1.3;_
2025-11-03T09:38:35.998 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:35.998 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:35.998 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:35.999 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:35.999 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:35.999 [INFO] [Thread-88694 (handle)] [driver.py] [get_status()] Telra = 14.865672, teldec = -24.256612
2025-11-03T09:38:35.999 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] UnCookCoordinates 14.865672 -24.256612
2025-11-03T09:38:35.999 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.865672 -24.256612
2025-11-03T09:38:35.999 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.865672 -24.256612
2025-11-03T09:38:36.000 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 17;14.865672;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88544;2460982.81847222;9.64330083;1.3;_14.8410336791221 -24.150523239657
2025-11-03T09:38:36.000 [INFO] [Thread-88694 (handle)] [driver.py] [get_status()] ra_j2k = 14.8410336791221     dec_j2k = -24.150523239657
2025-11-03T09:38:36.000 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:36.000 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:36.000 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:36.000 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 140;0.0967628819805159;171.162351965909;_
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response 140;0.0967628819805159;171.162351965909;_
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:36.001 [DEBUG] [Thread-88694 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:36.002 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:36.002 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:36.002 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:36.002 [DEBUG] [Thread-88694 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:36.003 [DEBUG] [Thread-88694 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:36.003 [DEBUG] [Thread-88694 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45525)
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:36.004 [DEBUG] [Thread-88694 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:36.011 [DEBUG] [Thread-88694 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:36.011 [INFO] [Thread-88694 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81847219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967628819805159, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.865672, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88544, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8410336791221, telescope_dec_j2k=-24.150523239657, observability=1)
2025-11-03T09:38:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:36
2025-11-03T09:38:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.348980188369751s
2025-11-03T09:38:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.348980188369751
2025-11-03T09:38:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:36
2025-11-03T09:38:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7518486976623535s
2025-11-03T09:38:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7518486976623535
2025-11-03T09:38:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:37
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3488786220550537s
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:37.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:37.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:37.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8660636;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88583;2460982.81848799;9.64369139;1.3;_
2025-11-03T09:38:37.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8660636;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88583;2460982.81848799;9.64369139;1.3;_
2025-11-03T09:38:37.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:37.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:37.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:37.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:37.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:37.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8660636, teldec = -24.256612
2025-11-03T09:38:37.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8660636 -24.256612
2025-11-03T09:38:37.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8660636 -24.256612
2025-11-03T09:38:37.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8660636 -24.256612
2025-11-03T09:38:37.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8660636;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88583;2460982.81848801;9.64369139;1.3;_14.8414249485507 -24.1505328712511
2025-11-03T09:38:37.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8414249485507     dec_j2k = -24.1505328712511
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967625209730307;171.162357330327;_
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967625209730307;171.162357330327;_
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:37.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:37.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:37.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:37.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:37.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:37.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41373)
2025-11-03T09:38:37.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:37.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:37.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:37.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:37.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:37.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:37.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:37.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81848799, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967625209730307, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8660636, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8414249485507, telescope_dec_j2k=-24.1505328712511, observability=1)
2025-11-03T09:38:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:38
2025-11-03T09:38:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9813582897186279s
2025-11-03T09:38:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9813582897186279
2025-11-03T09:38:38.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:38
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.378098726272583s
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8664466;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88621;2460982.81850417;9.64407333;1.3;_
2025-11-03T09:38:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8664466;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88621;2460982.81850417;9.64407333;1.3;_
2025-11-03T09:38:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:38.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8664466, teldec = -24.256612
2025-11-03T09:38:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8664466 -24.256612
2025-11-03T09:38:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8664466 -24.256612
2025-11-03T09:38:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8664466 -24.256612
2025-11-03T09:38:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8664466;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88621;2460982.81850419;9.64407333;1.3;_14.841807625264 -24.1505422924179
2025-11-03T09:38:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.841807625264     dec_j2k = -24.1505422924179
2025-11-03T09:38:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967624808610879;171.162362694745;_
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967624808610879;171.162362694745;_
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60309)
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:38.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81850417, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967624808610879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8664466, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88621, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.841807625264, telescope_dec_j2k=-24.1505422924179, observability=1)
2025-11-03T09:38:39.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:39
2025-11-03T09:38:39.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:39.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5859661102294922s
2025-11-03T09:38:39.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5859661102294922
2025-11-03T09:38:40.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:40
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5824377536773682s
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8668953;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88666;2460982.81852271;9.64452083;1.3;_
2025-11-03T09:38:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8668953;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88666;2460982.81852271;9.64452083;1.3;_
2025-11-03T09:38:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8668953, teldec = -24.256612
2025-11-03T09:38:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8668953 -24.256612
2025-11-03T09:38:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8668953 -24.256612
2025-11-03T09:38:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8668953 -24.256612
2025-11-03T09:38:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8668953;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88666;2460982.81852274;9.64452083;1.3;_14.8422559465519 -24.1505533310717
2025-11-03T09:38:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8422559465519     dec_j2k = -24.1505533310717
2025-11-03T09:38:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09676308254023;171.162351965909;_
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09676308254023;171.162351965909;_
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58959)
2025-11-03T09:38:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:40.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:40.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81852271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09676308254023, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8668953, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8422559465519, telescope_dec_j2k=-24.1505533310717, observability=1)
2025-11-03T09:38:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:40
2025-11-03T09:38:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38375210762023926s
2025-11-03T09:38:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38375210762023926
2025-11-03T09:38:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:41
2025-11-03T09:38:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9814379215240479s
2025-11-03T09:38:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9814379215240479
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:42.293 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:38:42.294 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:38:42.295 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:38:42.295 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:42
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807615280151367s
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8674552;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88722;2460982.81854586;9.64507917;1.3;_
2025-11-03T09:38:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8674552;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88722;2460982.81854586;9.64507917;1.3;_
2025-11-03T09:38:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8674552, teldec = -24.256612
2025-11-03T09:38:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8674552 -24.256612
2025-11-03T09:38:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8674552 -24.256612
2025-11-03T09:38:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8674552 -24.256612
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8674552;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88722;2460982.81854588;9.64507917;1.3;_14.8428153740324 -24.1505671074841
2025-11-03T09:38:42.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8428153740324     dec_j2k = -24.1505671074841
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967630424282872;171.162362694745;_
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967630424282872;171.162362694745;_
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33055)
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:42.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:42.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:42.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:42.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:42.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81854586, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967630424282872, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8674552, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88722, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8428153740324, telescope_dec_j2k=-24.1505671074841, observability=1)
2025-11-03T09:38:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:42
2025-11-03T09:38:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3826944828033447s
2025-11-03T09:38:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3826944828033447
2025-11-03T09:38:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:43
2025-11-03T09:38:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984227180480957s
2025-11-03T09:38:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984227180480957
2025-11-03T09:38:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:44
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838063716888428s
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8680056;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88777;2460982.818569;9.64562806;1.3;_
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8680056;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88777;2460982.818569;9.64562806;1.3;_
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8680056, teldec = -24.256612
2025-11-03T09:38:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8680056 -24.256612
2025-11-03T09:38:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8680056 -24.256612
2025-11-03T09:38:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8680056 -24.256612
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8680056;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88777;2460982.81856904;9.64562806;1.3;_14.8433653095818 -24.1505806524002
2025-11-03T09:38:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8433653095818     dec_j2k = -24.1505806524002
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967625610849735;171.162362694745;_
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967625610849735;171.162362694745;_
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41641)
2025-11-03T09:38:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:44.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:44.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:44.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.818569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967625610849735, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8680056, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88777, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8433653095818, telescope_dec_j2k=-24.1505806524002, observability=1)
2025-11-03T09:38:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:44
2025-11-03T09:38:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38129091262817383s
2025-11-03T09:38:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38129091262817383
2025-11-03T09:38:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:45
2025-11-03T09:38:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.98101806640625s
2025-11-03T09:38:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.98101806640625
2025-11-03T09:38:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:46
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981255292892456s
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8685663;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88833;2460982.81859215;9.64618722;1.3;_
2025-11-03T09:38:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8685663;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88833;2460982.81859215;9.64618722;1.3;_
2025-11-03T09:38:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8685663, teldec = -24.256612
2025-11-03T09:38:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8685663 -24.256612
2025-11-03T09:38:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8685663 -24.256612
2025-11-03T09:38:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8685663 -24.256612
2025-11-03T09:38:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8685663;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88833;2460982.81859218;9.64618722;1.3;_14.8439255364921 -24.1505944530871
2025-11-03T09:38:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8439255364921     dec_j2k = -24.1505944530871
2025-11-03T09:38:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967626413088591;171.162357330327;_
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967626413088591;171.162357330327;_
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60993)
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:46.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:46.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:46.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81859215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967626413088591, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8685663, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8439255364921, telescope_dec_j2k=-24.1505944530871, observability=1)
2025-11-03T09:38:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:46
2025-11-03T09:38:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38255834579467773s
2025-11-03T09:38:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38255834579467773
2025-11-03T09:38:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:47
2025-11-03T09:38:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9787132740020752s
2025-11-03T09:38:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9787132740020752
2025-11-03T09:38:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:48
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803440570831299s
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8691264;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88889;2460982.81861531;9.64674583;1.3;_
2025-11-03T09:38:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8691264;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88889;2460982.81861531;9.64674583;1.3;_
2025-11-03T09:38:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8691264, teldec = -24.256612
2025-11-03T09:38:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8691264 -24.256612
2025-11-03T09:38:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8691264 -24.256612
2025-11-03T09:38:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8691264 -24.256612
2025-11-03T09:38:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8691264;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88889;2460982.81861534;9.64674583;1.3;_14.8444851639616 -24.1506082413191
2025-11-03T09:38:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8444851639616     dec_j2k = -24.1506082413191
2025-11-03T09:38:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096763283099944;171.162351965909;_
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096763283099944;171.162351965909;_
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47839)
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:48.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:48.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:48.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:48.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:48.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81861531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096763283099944, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.8691264, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88889, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8444851639616, telescope_dec_j2k=-24.1506082413191, observability=1)
2025-11-03T09:38:48.621 [DEBUG] [Thread-88695 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:48.621 [DEBUG] [Thread-88695 (handle)] [server.py] [get_status()] Status age = 0.24522733688354492s
2025-11-03T09:38:48.621 [DEBUG] [Thread-88695 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24522733688354492
2025-11-03T09:38:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:48
2025-11-03T09:38:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3836660385131836s
2025-11-03T09:38:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3836660385131836
2025-11-03T09:38:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:49
2025-11-03T09:38:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9847872257232666s
2025-11-03T09:38:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9847872257232666
2025-11-03T09:38:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:50
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9855244159698486s
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.869686;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88945;2460982.81863845;9.64730389;1.3;_
2025-11-03T09:38:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.869686;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88945;2460982.81863845;9.64730389;1.3;_
2025-11-03T09:38:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.869686, teldec = -24.256612
2025-11-03T09:38:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.869686 -24.256612
2025-11-03T09:38:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.869686 -24.256612
2025-11-03T09:38:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.869686 -24.256612
2025-11-03T09:38:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.869686;-24.256612;50.108567;89.993054;50.08601;90.12017;11.88945;2460982.81863848;9.64730389;1.3;_14.8450442919057 -24.1506220195509
2025-11-03T09:38:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8450442919057     dec_j2k = -24.1506220195509
2025-11-03T09:38:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967634435477152;171.162351965909;_
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967634435477152;171.162351965909;_
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60781)
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:50.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:50.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:50.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:50.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:50.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:50.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:50.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81863845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967634435477152, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.869686, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.88945, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8450442919057, telescope_dec_j2k=-24.1506220195509, observability=1)
2025-11-03T09:38:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:50
2025-11-03T09:38:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38686084747314453s
2025-11-03T09:38:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38686084747314453
2025-11-03T09:38:51.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:51
2025-11-03T09:38:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9854152202606201s
2025-11-03T09:38:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9854152202606201
2025-11-03T09:38:52.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:52
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985910177230835s
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.870237;-24.256612;50.108567;89.993054;50.08601;90.12017;11.89;2460982.81866161;9.64785333;1.3;_
2025-11-03T09:38:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.870237;-24.256612;50.108567;89.993054;50.08601;90.12017;11.89;2460982.81866161;9.64785333;1.3;_
2025-11-03T09:38:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.870237, teldec = -24.256612
2025-11-03T09:38:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.870237 -24.256612
2025-11-03T09:38:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.870237 -24.256612
2025-11-03T09:38:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.870237 -24.256612
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.870237;-24.256612;50.108567;89.993054;50.08601;90.12017;11.89;2460982.81866163;9.64785333;1.3;_14.8455948271561 -24.1506355882914
2025-11-03T09:38:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8455948271561     dec_j2k = -24.1506355882914
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967632429880012;171.162346601491;_
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967632429880012;171.162346601491;_
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34287)
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:52.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:52.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:52.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:52.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81866161, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967632429880012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108567, telescope_az=89.993054, telescope_ra=14.870237, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8455948271561, telescope_dec_j2k=-24.1506355882914, observability=1)
2025-11-03T09:38:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:52
2025-11-03T09:38:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38521242141723633s
2025-11-03T09:38:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38521242141723633
2025-11-03T09:38:53.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:53
2025-11-03T09:38:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834094047546387s
2025-11-03T09:38:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834094047546387
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Status age = 1.7507054805755615s
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:54.128 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:54.129 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 17;14.870713;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89048;2460982.81868205;9.64832806;1.3;_
2025-11-03T09:38:54.129 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response 17;14.870713;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89048;2460982.81868205;9.64832806;1.3;_
2025-11-03T09:38:54.129 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:54.129 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:54.129 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:54.130 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:54.130 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:54.130 [INFO] [Thread-88696 (handle)] [driver.py] [get_status()] Telra = 14.870713, teldec = -24.256612
2025-11-03T09:38:54.130 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] UnCookCoordinates 14.870713 -24.256612
2025-11-03T09:38:54.130 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.870713 -24.256612
2025-11-03T09:38:54.130 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.870713 -24.256612
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 17;14.8707411;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89051;2460982.81868207;9.64835611;1.3;_14.8460704257077 -24.1506473119077
2025-11-03T09:38:54.131 [INFO] [Thread-88696 (handle)] [driver.py] [get_status()] ra_j2k = 14.8460704257077     dec_j2k = -24.1506473119077
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 140;0.0967626814208019;171.162341237072;_
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response 140;0.0967626814208019;171.162341237072;_
2025-11-03T09:38:54.131 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:54.132 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:54.133 [DEBUG] [Thread-88696 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:54.133 [DEBUG] [Thread-88696 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:54.133 [DEBUG] [Thread-88696 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36541)
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:54.138 [DEBUG] [Thread-88696 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:54.145 [DEBUG] [Thread-88696 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:54.145 [DEBUG] [Thread-88696 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:54.146 [DEBUG] [Thread-88696 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:54.146 [INFO] [Thread-88696 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81868205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967626814208019, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.870713, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89048, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8460704257077, telescope_dec_j2k=-24.1506473119077, observability=1)
2025-11-03T09:38:54.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:54
2025-11-03T09:38:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2165822982788086s
2025-11-03T09:38:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2165822982788086
2025-11-03T09:38:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:54
2025-11-03T09:38:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.612600564956665s
2025-11-03T09:38:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.612600564956665
2025-11-03T09:38:55.937 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:55
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7909538745880127s
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:55.937 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:55.938 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:55.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8712453;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89101;2460982.818703;9.64885889;1.3;_
2025-11-03T09:38:55.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8712453;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89101;2460982.818703;9.64885889;1.3;_
2025-11-03T09:38:55.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:55.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:55.939 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:55.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:55.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:55.940 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8712453, teldec = -24.256612
2025-11-03T09:38:55.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8712453 -24.256612
2025-11-03T09:38:55.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8712453 -24.256612
2025-11-03T09:38:55.940 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8712453 -24.256612
2025-11-03T09:38:55.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8712453;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89101;2460982.81870302;9.64885889;1.3;_14.8466022768223 -24.1506604241385
2025-11-03T09:38:55.941 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8466022768223     dec_j2k = -24.1506604241385
2025-11-03T09:38:55.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:55.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:55.941 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967626011969163;171.162357330327;_
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967626011969163;171.162357330327;_
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:55.942 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:55.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:55.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:55.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:55.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:55.943 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:55.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:55.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:55.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:55.944 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42285)
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:55.951 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:55.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:55.959 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:55.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:55.959 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.818703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967626011969163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8712453, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8466022768223, telescope_dec_j2k=-24.1506604241385, observability=1)
2025-11-03T09:38:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:56
2025-11-03T09:38:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4020869731903076s
2025-11-03T09:38:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4020869731903076
2025-11-03T09:38:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:56
2025-11-03T09:38:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8044350147247314s
2025-11-03T09:38:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8044350147247314
2025-11-03T09:38:57.581 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:57
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6220946311950684s
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:57.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8716929;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89146;2460982.81872201;9.64930528;1.3;_
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8716929;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89146;2460982.81872201;9.64930528;1.3;_
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:57.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:57.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:57.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:57.583 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8716929, teldec = -24.256612
2025-11-03T09:38:57.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8716929 -24.256612
2025-11-03T09:38:57.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8716929 -24.256612
2025-11-03T09:38:57.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8716929 -24.256612
2025-11-03T09:38:57.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8716929;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89146;2460982.81872204;9.64930528;1.3;_14.8470494994009 -24.1506714515559
2025-11-03T09:38:57.584 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8470494994009     dec_j2k = -24.1506714515559
2025-11-03T09:38:57.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:57.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:57.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967632429880012;171.162351965909;_
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967632429880012;171.162351965909;_
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:57.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:57.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:57.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:57.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46345)
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:57.589 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:57.597 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:57.597 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81872201, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967632429880012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8716929, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89146, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8470494994009, telescope_dec_j2k=-24.1506714515559, observability=1)
2025-11-03T09:38:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.3814101219177246s
2025-11-03T09:38:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3814101219177246
2025-11-03T09:38:58.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:58
2025-11-03T09:38:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7623388767242432s
2025-11-03T09:38:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7623388767242432
2025-11-03T09:38:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:58
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1641552448272705s
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:38:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:38:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:38:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:38:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8720202;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89179;2460982.81873569;9.64963167;1.3;_
2025-11-03T09:38:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8720202;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89179;2460982.81873569;9.64963167;1.3;_
2025-11-03T09:38:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:38:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:38:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:38:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:38:58.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8720202, teldec = -24.256612
2025-11-03T09:38:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8720202 -24.256612
2025-11-03T09:38:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8720202 -24.256612
2025-11-03T09:38:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8720202 -24.256612
2025-11-03T09:38:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8720202;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89179;2460982.81873572;9.64963167;1.3;_14.8473765234392 -24.1506795161039
2025-11-03T09:38:58.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8473765234392     dec_j2k = -24.1506795161039
2025-11-03T09:38:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:38:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:38:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967633633238296;171.162351965909;_
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967633633238296;171.162351965909;_
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:38:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:38:58.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:58.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:38:58.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37855)
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:38:58.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:38:58.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:38:58.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:38:58.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:38:58.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81873569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967633633238296, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8720202, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89179, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8473765234392, telescope_dec_j2k=-24.1506795161039, observability=1)
2025-11-03T09:38:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:38:59
2025-11-03T09:38:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:38:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830745697021484s
2025-11-03T09:38:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830745697021484
2025-11-03T09:39:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:00
2025-11-03T09:39:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5826823711395264s
2025-11-03T09:39:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8724686;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89223;2460982.81875419;9.65007889;1.3;_
2025-11-03T09:39:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8724686;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89223;2460982.81875419;9.65007889;1.3;_
2025-11-03T09:39:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8724686, teldec = -24.256612
2025-11-03T09:39:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8724686 -24.256612
2025-11-03T09:39:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8724686 -24.256612
2025-11-03T09:39:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8724686 -24.256612
2025-11-03T09:39:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8724686;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89223;2460982.81875422;9.65007889;1.3;_14.847824545402 -24.1506905657907
2025-11-03T09:39:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.847824545402     dec_j2k = -24.1506905657907
2025-11-03T09:39:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967635638835436;171.162362694745;_
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967635638835436;171.162362694745;_
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45077)
2025-11-03T09:39:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:00.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:00.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:00.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81875419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967635638835436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8724686, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.847824545402, telescope_dec_j2k=-24.1506905657907, observability=1)
2025-11-03T09:39:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:00
2025-11-03T09:39:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37883687019348145s
2025-11-03T09:39:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37883687019348145
2025-11-03T09:39:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:01
2025-11-03T09:39:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9794120788574219s
2025-11-03T09:39:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9794120788574219
2025-11-03T09:39:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:02
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797148704528809s
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8730285;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89279;2460982.81877734;9.65063722;1.3;_
2025-11-03T09:39:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8730285;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89279;2460982.81877734;9.65063722;1.3;_
2025-11-03T09:39:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:02.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8730285, teldec = -24.256612
2025-11-03T09:39:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8730285 -24.256612
2025-11-03T09:39:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8730285 -24.256612
2025-11-03T09:39:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8730285 -24.256612
2025-11-03T09:39:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8730285;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89279;2460982.81877736;9.65063722;1.3;_14.8483839734089 -24.150704365192
2025-11-03T09:39:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8483839734089     dec_j2k = -24.150704365192
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967635638835436;171.162362694745;_
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967635638835436;171.162362694745;_
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41167)
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:02.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:02.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81877734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967635638835436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8730285, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8483839734089, telescope_dec_j2k=-24.150704365192, observability=1)
2025-11-03T09:39:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:02
2025-11-03T09:39:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37662720680236816s
2025-11-03T09:39:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37662720680236816
2025-11-03T09:39:03.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:03
2025-11-03T09:39:03.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:03.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9782202243804932s
2025-11-03T09:39:03.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9782202243804932
2025-11-03T09:39:04.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:04
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9859817028045654s
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8735786;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89334;2460982.81880056;9.65118583;1.3;_
2025-11-03T09:39:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8735786;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89334;2460982.81880056;9.65118583;1.3;_
2025-11-03T09:39:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:04.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8735786, teldec = -24.256612
2025-11-03T09:39:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8735786 -24.256612
2025-11-03T09:39:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8735786 -24.256612
2025-11-03T09:39:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8735786 -24.256612
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8735786;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89334;2460982.81880059;9.65118583;1.3;_14.8489336097287 -24.1507179253083
2025-11-03T09:39:04.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8489336097287     dec_j2k = -24.1507179253083
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967630424282872;171.162362694745;_
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967630424282872;171.162362694745;_
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48519)
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:04.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:04.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81880056, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967630424282872, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8735786, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8489336097287, telescope_dec_j2k=-24.1507179253083, observability=1)
2025-11-03T09:39:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:04
2025-11-03T09:39:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3756144046783447s
2025-11-03T09:39:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3756144046783447
2025-11-03T09:39:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:05
2025-11-03T09:39:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9718072414398193s
2025-11-03T09:39:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9718072414398193
2025-11-03T09:39:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:06
2025-11-03T09:39:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9710028171539307s
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8741396;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89391;2460982.81882362;9.65174528;1.3;_
2025-11-03T09:39:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8741396;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89391;2460982.81882362;9.65174528;1.3;_
2025-11-03T09:39:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:06.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8741396, teldec = -24.256612
2025-11-03T09:39:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8741396 -24.256612
2025-11-03T09:39:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8741396 -24.256612
2025-11-03T09:39:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8741396 -24.256612
2025-11-03T09:39:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8741396;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89391;2460982.81882365;9.65174528;1.3;_14.8494941369136 -24.1507317564067
2025-11-03T09:39:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8494941369136     dec_j2k = -24.1507317564067
2025-11-03T09:39:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09676308254023;171.162357330327;_
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09676308254023;171.162357330327;_
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:06.366 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34397)
2025-11-03T09:39:06.366 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:06.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:06.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:06.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81882362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09676308254023, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8741396, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89391, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8494941369136, telescope_dec_j2k=-24.1507317564067, observability=1)
2025-11-03T09:39:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:06
2025-11-03T09:39:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38730955123901367s
2025-11-03T09:39:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38730955123901367
2025-11-03T09:39:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:07
2025-11-03T09:39:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9874236583709717s
2025-11-03T09:39:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9874236583709717
2025-11-03T09:39:08.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:08
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9858717918395996s
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8747008;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89447;2460982.81884677;9.652305;1.3;_
2025-11-03T09:39:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8747008;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89447;2460982.81884677;9.652305;1.3;_
2025-11-03T09:39:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8747008, teldec = -24.256612
2025-11-03T09:39:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8747008 -24.256612
2025-11-03T09:39:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8747008 -24.256612
2025-11-03T09:39:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8747008 -24.256612
2025-11-03T09:39:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8747008;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89447;2460982.81884681;9.652305;1.3;_14.8500548639831 -24.1507455947536
2025-11-03T09:39:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8500548639831     dec_j2k = -24.1507455947536
2025-11-03T09:39:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096763483659658;171.162357330327;_
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096763483659658;171.162357330327;_
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51183)
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:08.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:08.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81884677, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096763483659658, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8747008, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89447, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8500548639831, telescope_dec_j2k=-24.1507455947536, observability=1)
2025-11-03T09:39:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:08
2025-11-03T09:39:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3845221996307373s
2025-11-03T09:39:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3845221996307373
2025-11-03T09:39:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:09
2025-11-03T09:39:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800069332122803s
2025-11-03T09:39:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800069332122803
2025-11-03T09:39:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:10
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808776378631592s
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8752518;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89502;2460982.81886994;9.65285444;1.3;_
2025-11-03T09:39:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8752518;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89502;2460982.81886994;9.65285444;1.3;_
2025-11-03T09:39:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8752518, teldec = -24.256612
2025-11-03T09:39:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8752518 -24.256612
2025-11-03T09:39:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8752518 -24.256612
2025-11-03T09:39:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8752518 -24.256612
2025-11-03T09:39:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8752518;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89502;2460982.81886998;9.65285444;1.3;_14.8506053997 -24.1507591838387
2025-11-03T09:39:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8506053997     dec_j2k = -24.1507591838387
2025-11-03T09:39:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967642056746285;171.162346601491;_
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967642056746285;171.162346601491;_
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54959)
2025-11-03T09:39:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:10.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:10.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:10.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81886994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967642056746285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8752518, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89502, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8506053997, telescope_dec_j2k=-24.1507591838387, observability=1)
2025-11-03T09:39:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:10
2025-11-03T09:39:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38085269927978516s
2025-11-03T09:39:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38085269927978516
2025-11-03T09:39:11.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:11
2025-11-03T09:39:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9793071746826172s
2025-11-03T09:39:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9793071746826172
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Status age = 1.8016505241394043s
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:12.182 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:12.183 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:12.184 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 17;14.8757562;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89552;2460982.81889102;9.6533575;1.3;_
2025-11-03T09:39:12.184 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response 17;14.8757562;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89552;2460982.81889102;9.6533575;1.3;_
2025-11-03T09:39:12.184 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:12.184 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:12.184 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:12.185 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:12.185 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:12.185 [INFO] [Thread-88697 (handle)] [driver.py] [get_status()] Telra = 14.8757562, teldec = -24.256612
2025-11-03T09:39:12.185 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8757562 -24.256612
2025-11-03T09:39:12.185 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8757562 -24.256612
2025-11-03T09:39:12.185 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8757562 -24.256612
2025-11-03T09:39:12.186 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 17;14.8757562;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89552;2460982.81889104;9.6533575;1.3;_14.851109374728 -24.1507716256058
2025-11-03T09:39:12.186 [INFO] [Thread-88697 (handle)] [driver.py] [get_status()] ra_j2k = 14.851109374728     dec_j2k = -24.1507716256058
2025-11-03T09:39:12.186 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:12.186 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:12.186 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 140;0.0967639650029717;171.162351965909;_
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response 140;0.0967639650029717;171.162351965909;_
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:12.187 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:12.188 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:12.189 [DEBUG] [Thread-88697 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:12.189 [DEBUG] [Thread-88697 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:12.189 [DEBUG] [Thread-88697 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59635)
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:12.193 [DEBUG] [Thread-88697 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:12.200 [DEBUG] [Thread-88697 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:12.200 [INFO] [Thread-88697 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81889102, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967639650029717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8757562, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89552, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.851109374728, telescope_dec_j2k=-24.1507716256058, observability=1)
2025-11-03T09:39:12.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:12
2025-11-03T09:39:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1585547924041748s
2025-11-03T09:39:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1585547924041748
2025-11-03T09:39:12.508 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:39:12
2025-11-03T09:39:12.508 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:12.508 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3075869083404541s
2025-11-03T09:39:12.508 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3075869083404541
2025-11-03T09:39:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:12
2025-11-03T09:39:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5625s
2025-11-03T09:39:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5625
2025-11-03T09:39:13.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:13
2025-11-03T09:39:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1590802669525146s
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:13.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:13.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8760921;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89586;2460982.81890465;9.6536925;1.3;_
2025-11-03T09:39:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8760921;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89586;2460982.81890465;9.6536925;1.3;_
2025-11-03T09:39:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:13.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:13.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8760921, teldec = -24.256612
2025-11-03T09:39:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8760921 -24.256612
2025-11-03T09:39:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8760921 -24.256612
2025-11-03T09:39:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8760921 -24.256612
2025-11-03T09:39:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8760921;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89586;2460982.81890468;9.6536925;1.3;_14.8514449917461 -24.1507799121112
2025-11-03T09:39:13.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8514449917461     dec_j2k = -24.1507799121112
2025-11-03T09:39:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967636441074293;171.162362694745;_
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967636441074293;171.162362694745;_
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41741)
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:13.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:13.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81890465, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967636441074293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8760921, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89586, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8514449917461, telescope_dec_j2k=-24.1507799121112, observability=1)
2025-11-03T09:39:14.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:14
2025-11-03T09:39:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9795019626617432s
2025-11-03T09:39:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9795019626617432
2025-11-03T09:39:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:14
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.38026762008667s
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.876484;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89625;2460982.81892089;9.65408333;1.3;_
2025-11-03T09:39:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.876484;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89625;2460982.81892089;9.65408333;1.3;_
2025-11-03T09:39:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.876484, teldec = -24.256612
2025-11-03T09:39:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.876484 -24.256612
2025-11-03T09:39:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.876484 -24.256612
2025-11-03T09:39:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.876484 -24.256612
2025-11-03T09:39:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.876484;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89625;2460982.81892091;9.65408333;1.3;_14.8518365616106 -24.1507895811612
2025-11-03T09:39:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8518365616106     dec_j2k = -24.1507895811612
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967636039954864;171.162357330327;_
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967636039954864;171.162357330327;_
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49517)
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81892089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967636039954864, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.876484, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89625, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.8518365616106, telescope_dec_j2k=-24.1507895811612, observability=1)
2025-11-03T09:39:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:15
2025-11-03T09:39:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5810041427612305s
2025-11-03T09:39:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5810041427612305
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.1115913391113281s
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:15.891 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:15.892 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:15.893 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8767918;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89656;2460982.81893395;9.65439028;1.3;_
2025-11-03T09:39:15.893 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.8767918;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89656;2460982.81893395;9.65439028;1.3;_
2025-11-03T09:39:15.893 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:15.893 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:15.894 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:15.894 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:15.894 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:15.894 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.8767918, teldec = -24.256612
2025-11-03T09:39:15.895 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.8767918 -24.256612
2025-11-03T09:39:15.895 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.8767918 -24.256612
2025-11-03T09:39:15.895 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8767918 -24.256612
2025-11-03T09:39:15.895 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8767918;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89656;2460982.81893397;9.65439028;1.3;_14.852144102339 -24.1507971760681
2025-11-03T09:39:15.896 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.852144102339     dec_j2k = -24.1507971760681
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967640452268573;171.162362694745;_
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967640452268573;171.162362694745;_
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:15.896 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:15.897 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:15.898 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:15.898 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:15.898 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:15.898 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:15.900 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48879)
2025-11-03T09:39:15.900 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:15.900 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:15.901 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:15.901 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:15.901 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:15.908 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:39:15.908 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81893395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967640452268573, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8767918, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89656, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:38:16.279128', telescope_ra_j2k=14.852144102339, telescope_dec_j2k=-24.1507971760681, observability=1)
2025-11-03T09:39:15.908 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.400465488433838 seconds ago
2025-11-03T09:39:16.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:16
2025-11-03T09:39:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4561166763305664s
2025-11-03T09:39:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4561166763305664
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:16.420 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:16.420 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:16.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:16.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:16.421 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:16.421 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:39:16.422 [INFO] [ThreadPoolExecutor-3415_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:39:16.422 [INFO] [ThreadPoolExecutor-3415_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:39:16.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:16
2025-11-03T09:39:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:16.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.871387243270874s
2025-11-03T09:39:16.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.871387243270874
2025-11-03T09:39:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:17
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4518835544586182s
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:17.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8772027;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89697;2460982.81895095;9.6548;1.3;_
2025-11-03T09:39:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8772027;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89697;2460982.81895095;9.6548;1.3;_
2025-11-03T09:39:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:17.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8772027, teldec = -24.256612
2025-11-03T09:39:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8772027 -24.256612
2025-11-03T09:39:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8772027 -24.256612
2025-11-03T09:39:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8772027 -24.256612
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8772027;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89697;2460982.81895097;9.6548;1.3;_14.8525546562472 -24.1508073160341
2025-11-03T09:39:17.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8525546562472     dec_j2k = -24.1508073160341
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967638045552005;171.162351965909;_
2025-11-03T09:39:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967638045552005;171.162351965909;_
2025-11-03T09:39:17.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46929)
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:17.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:17.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:17.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:17.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:17.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:17.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81895095, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967638045552005, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8772027, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8525546562472, telescope_dec_j2k=-24.1508073160341, observability=1)
2025-11-03T09:39:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:18
2025-11-03T09:39:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9850733280181885s
2025-11-03T09:39:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9850733280181885
2025-11-03T09:39:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:18
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3903775215148926s
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8775951;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89736;2460982.81896722;9.65519139;1.3;_
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8775951;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89736;2460982.81896722;9.65519139;1.3;_
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8775951, teldec = -24.256612
2025-11-03T09:39:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8775951 -24.256612
2025-11-03T09:39:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8775951 -24.256612
2025-11-03T09:39:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8775951 -24.256612
2025-11-03T09:39:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8775951;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89736;2460982.81896725;9.65519139;1.3;_14.8529467257642 -24.1508170006264
2025-11-03T09:39:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8529467257642     dec_j2k = -24.1508170006264
2025-11-03T09:39:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967641254507429;171.162357330327;_
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967641254507429;171.162357330327;_
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39365)
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:18.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:18.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81896722, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967641254507429, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8775951, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89736, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8529467257642, telescope_dec_j2k=-24.1508170006264, observability=1)
2025-11-03T09:39:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:19
2025-11-03T09:39:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5746719837188721s
2025-11-03T09:39:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5746719837188721
2025-11-03T09:39:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:20
2025-11-03T09:39:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5739850997924805s
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8780433;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89781;2460982.81898567;9.65563833;1.3;_
2025-11-03T09:39:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8780433;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89781;2460982.81898567;9.65563833;1.3;_
2025-11-03T09:39:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8780433, teldec = -24.256612
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8780433 -24.256612
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8780433 -24.256612
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8780433 -24.256612
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8780433;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89781;2460982.81898569;9.65563833;1.3;_14.8533945483178 -24.1508280637708
2025-11-03T09:39:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8533945483178     dec_j2k = -24.1508280637708
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096763483659658;171.162357330327;_
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096763483659658;171.162357330327;_
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52787)
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:20.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:20.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81898567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096763483659658, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8780433, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89781, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8533945483178, telescope_dec_j2k=-24.1508280637708, observability=1)
2025-11-03T09:39:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:20
2025-11-03T09:39:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38485193252563477s
2025-11-03T09:39:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38485193252563477
2025-11-03T09:39:21.483 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:21
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.106708288192749s
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8783511;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89812;2460982.81899867;9.65594528;1.3;_
2025-11-03T09:39:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8783511;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89812;2460982.81899867;9.65594528;1.3;_
2025-11-03T09:39:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:21.486 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8783511, teldec = -24.256612
2025-11-03T09:39:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8783511 -24.256612
2025-11-03T09:39:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8783511 -24.256612
2025-11-03T09:39:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8783511 -24.256612
2025-11-03T09:39:21.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8783511;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89812;2460982.81899869;9.65594528;1.3;_14.8537020891274 -24.1508356622075
2025-11-03T09:39:21.487 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8537020891274     dec_j2k = -24.1508356622075
2025-11-03T09:39:21.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:21.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:21.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:21.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967642056746285;171.162362694745;_
2025-11-03T09:39:21.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967642056746285;171.162362694745;_
2025-11-03T09:39:21.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:21.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:21.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:21.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60819)
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:21.493 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:21.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:21.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81899867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967642056746285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8783511, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8537020891274, telescope_dec_j2k=-24.1508356622075, observability=1)
2025-11-03T09:39:22.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:22
2025-11-03T09:39:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8586997985839844s
2025-11-03T09:39:22.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8586997985839844
2025-11-03T09:39:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:22
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2654154300689697s
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.878706;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89847;2460982.81901351;9.65629917;1.3;_
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.878706;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89847;2460982.81901351;9.65629917;1.3;_
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.878706, teldec = -24.256612
2025-11-03T09:39:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.878706 -24.256612
2025-11-03T09:39:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.878706 -24.256612
2025-11-03T09:39:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.878706 -24.256612
2025-11-03T09:39:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.878706;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89847;2460982.81901354;9.65629917;1.3;_14.8540566902951 -24.1508444242327
2025-11-03T09:39:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8540566902951     dec_j2k = -24.1508444242327
2025-11-03T09:39:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967642056746285;171.162357330327;_
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967642056746285;171.162357330327;_
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36217)
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:22.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:22.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81901351, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967642056746285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.878706, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89847, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8540566902951, telescope_dec_j2k=-24.1508444242327, observability=1)
2025-11-03T09:39:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:23
2025-11-03T09:39:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5757412910461426s
2025-11-03T09:39:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5757412910461426
2025-11-03T09:39:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:24
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.575148105621338s
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8791544;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89892;2460982.81903197;9.65674639;1.3;_
2025-11-03T09:39:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8791544;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89892;2460982.81903197;9.65674639;1.3;_
2025-11-03T09:39:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8791544, teldec = -24.256612
2025-11-03T09:39:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8791544 -24.256612
2025-11-03T09:39:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8791544 -24.256612
2025-11-03T09:39:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8791544 -24.256612
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8791544;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89892;2460982.81903199;9.65674639;1.3;_14.8545047127645 -24.1508554959768
2025-11-03T09:39:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8545047127645     dec_j2k = -24.1508554959768
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967640853388001;171.162357330327;_
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967640853388001;171.162357330327;_
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44795)
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:24.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:24.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:24.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81903197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967640853388001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8791544, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89892, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8545047127645, telescope_dec_j2k=-24.1508554959768, observability=1)
2025-11-03T09:39:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:24
2025-11-03T09:39:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38541340827941895s
2025-11-03T09:39:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38541340827941895
2025-11-03T09:39:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:25
2025-11-03T09:39:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9853930473327637s
2025-11-03T09:39:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9853930473327637
2025-11-03T09:39:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:26
2025-11-03T09:39:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851348400115967s
2025-11-03T09:39:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8797148;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89948;2460982.81905512;9.65730528;1.3;_
2025-11-03T09:39:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8797148;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89948;2460982.81905512;9.65730528;1.3;_
2025-11-03T09:39:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:26.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8797148, teldec = -24.256612
2025-11-03T09:39:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8797148 -24.256612
2025-11-03T09:39:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8797148 -24.256612
2025-11-03T09:39:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8797148 -24.256612
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8797148;-24.256612;50.108566;89.993054;50.08601;90.12017;11.89948;2460982.81905514;9.65730528;1.3;_14.8550646409834 -24.1508693352658
2025-11-03T09:39:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8550646409834     dec_j2k = -24.1508693352658
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967643260104569;171.162357330327;_
2025-11-03T09:39:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967643260104569;171.162357330327;_
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47683)
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:26.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:26.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:26.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:26.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81905512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967643260104569, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8797148, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.89948, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8550646409834, telescope_dec_j2k=-24.1508693352658, observability=1)
2025-11-03T09:39:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:26
2025-11-03T09:39:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38731956481933594s
2025-11-03T09:39:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38731956481933594
2025-11-03T09:39:27.213 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:27.213 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8357210159301758s
2025-11-03T09:39:27.213 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8357210159301758
2025-11-03T09:39:27.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:27
2025-11-03T09:39:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9863982200622559s
2025-11-03T09:39:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9863982200622559
2025-11-03T09:39:28.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:28
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852237701416016s
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8802744;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90004;2460982.81907828;9.65786333;1.3;_
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8802744;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90004;2460982.81907828;9.65786333;1.3;_
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8802744, teldec = -24.256612
2025-11-03T09:39:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8802744 -24.256612
2025-11-03T09:39:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8802744 -24.256612
2025-11-03T09:39:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8802744 -24.256612
2025-11-03T09:39:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8802744;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90004;2460982.8190783;9.65786333;1.3;_14.8556237699288 -24.1508831571021
2025-11-03T09:39:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8556237699288     dec_j2k = -24.1508831571021
2025-11-03T09:39:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967643260104569;171.162357330327;_
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967643260104569;171.162357330327;_
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34163)
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:28.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:28.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81907828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967643260104569, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8802744, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90004, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8556237699288, telescope_dec_j2k=-24.1508831571021, observability=1)
2025-11-03T09:39:28.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:28
2025-11-03T09:39:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38733863830566406s
2025-11-03T09:39:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38733863830566406
2025-11-03T09:39:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:29
2025-11-03T09:39:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9788002967834473s
2025-11-03T09:39:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9788002967834473
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Status age = 1.8798224925994873s
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:30.261 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:30.262 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 17;14.8807972;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90056;2460982.81910027;9.65838472;1.3;_
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response 17;14.8807972;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90056;2460982.81910027;9.65838472;1.3;_
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:30.263 [INFO] [Thread-88698 (handle)] [driver.py] [get_status()] Telra = 14.8807972, teldec = -24.256612
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8807972 -24.256612
2025-11-03T09:39:30.263 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8807972 -24.256612
2025-11-03T09:39:30.264 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8807972 -24.256612
2025-11-03T09:39:30.264 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 17;14.8807972;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90056;2460982.81910028;9.65838472;1.3;_14.8561461298993 -24.1508960720765
2025-11-03T09:39:30.265 [INFO] [Thread-88698 (handle)] [driver.py] [get_status()] ra_j2k = 14.8561461298993     dec_j2k = -24.1508960720765
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 140;0.0967648073537706;171.162362694745;_
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response 140;0.0967648073537706;171.162362694745;_
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:30.265 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:30.266 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:30.267 [DEBUG] [Thread-88698 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:30.267 [DEBUG] [Thread-88698 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:30.267 [DEBUG] [Thread-88698 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41455)
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:30.268 [DEBUG] [Thread-88698 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:30.275 [DEBUG] [Thread-88698 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:30.275 [DEBUG] [Thread-88698 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:30.275 [DEBUG] [Thread-88698 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:30.276 [DEBUG] [Thread-88698 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:30.276 [INFO] [Thread-88698 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81910027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967648073537706, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8807972, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8561461298993, telescope_dec_j2k=-24.1508960720765, observability=1)
2025-11-03T09:39:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:30
2025-11-03T09:39:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08444046974182129s
2025-11-03T09:39:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08444046974182129
2025-11-03T09:39:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:30
2025-11-03T09:39:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.48989343643188477s
2025-11-03T09:39:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48989343643188477
2025-11-03T09:39:31.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:31
2025-11-03T09:39:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0836012363433838s
2025-11-03T09:39:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8811059;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90087;2460982.81911297;9.6586925;1.3;_
2025-11-03T09:39:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8811059;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90087;2460982.81911297;9.6586925;1.3;_
2025-11-03T09:39:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:31.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8811059, teldec = -24.256612
2025-11-03T09:39:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8811059 -24.256612
2025-11-03T09:39:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8811059 -24.256612
2025-11-03T09:39:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8811059 -24.256612
2025-11-03T09:39:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8811059;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90087;2460982.819113;9.6586925;1.3;_14.8564545700948 -24.150903698981
2025-11-03T09:39:31.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8564545700948     dec_j2k = -24.150903698981
2025-11-03T09:39:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967640051149145;171.162346601491;_
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967640051149145;171.162346601491;_
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52045)
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:31.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:31.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:31.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:31.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:31.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:31.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81911297, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967640051149145, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8811059, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90087, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8564545700948, telescope_dec_j2k=-24.150903698981, observability=1)
2025-11-03T09:39:32.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:32
2025-11-03T09:39:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835975170135498s
2025-11-03T09:39:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835975170135498
2025-11-03T09:39:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:32
2025-11-03T09:39:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.382683515548706s
2025-11-03T09:39:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8814978;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90126;2460982.81912919;9.65908333;1.3;_
2025-11-03T09:39:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8814978;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90126;2460982.81912919;9.65908333;1.3;_
2025-11-03T09:39:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8814978, teldec = -24.256612
2025-11-03T09:39:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8814978 -24.256612
2025-11-03T09:39:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8814978 -24.256612
2025-11-03T09:39:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8814978 -24.256612
2025-11-03T09:39:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8814978;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90126;2460982.81912922;9.65908333;1.3;_14.8568461402919 -24.1509133824773
2025-11-03T09:39:32.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8568461402919     dec_j2k = -24.1509133824773
2025-11-03T09:39:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967646870179422;171.162362694745;_
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967646870179422;171.162362694745;_
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49207)
2025-11-03T09:39:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81912919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967646870179422, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8814978, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90126, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8568461402919, telescope_dec_j2k=-24.1509133824773, observability=1)
2025-11-03T09:39:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:33
2025-11-03T09:39:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5792055130004883s
2025-11-03T09:39:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5792055130004883
2025-11-03T09:39:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:34
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5800681114196777s
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8819181;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90168;2460982.81914772;9.6595025;1.3;_
2025-11-03T09:39:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8819181;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90168;2460982.81914772;9.6595025;1.3;_
2025-11-03T09:39:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8819181, teldec = -24.256612
2025-11-03T09:39:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8819181 -24.256612
2025-11-03T09:39:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8819181 -24.256612
2025-11-03T09:39:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8819181 -24.256612
2025-11-03T09:39:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8819181;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90171;2460982.81914777;9.65953028;1.3;_14.8572660866178 -24.1509237689662
2025-11-03T09:39:34.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8572660866178     dec_j2k = -24.1509237689662
2025-11-03T09:39:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967650480254274;171.162351965909;_
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967650480254274;171.162351965909;_
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58261)
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:34.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:34.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:34.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:34.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:34.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81914772, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967650480254274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8819181, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90168, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8572660866178, telescope_dec_j2k=-24.1509237689662, observability=1)
2025-11-03T09:39:34.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:34
2025-11-03T09:39:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3780937194824219s
2025-11-03T09:39:34.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3780937194824219
2025-11-03T09:39:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:35
2025-11-03T09:39:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9793503284454346s
2025-11-03T09:39:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9793503284454346
2025-11-03T09:39:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:36
2025-11-03T09:39:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979694128036499s
2025-11-03T09:39:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8824969;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90226;2460982.81917086;9.66007972;1.3;_
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8824969;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90226;2460982.81917086;9.66007972;1.3;_
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8824969, teldec = -24.256612
2025-11-03T09:39:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8824969 -24.256612
2025-11-03T09:39:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8824969 -24.256612
2025-11-03T09:39:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8824969 -24.256612
2025-11-03T09:39:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8824969;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90226;2460982.81917088;9.66007972;1.3;_14.8578443996181 -24.1509380744445
2025-11-03T09:39:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8578443996181     dec_j2k = -24.1509380744445
2025-11-03T09:39:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967646870179422;171.162341237072;_
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967646870179422;171.162341237072;_
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:36.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33923)
2025-11-03T09:39:36.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:36.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:36.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:36.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:36.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:36.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81917086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967646870179422, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8824969, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90226, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8578443996181, telescope_dec_j2k=-24.1509380744445, observability=1)
2025-11-03T09:39:36.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:36
2025-11-03T09:39:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38892650604248047s
2025-11-03T09:39:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38892650604248047
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:39:37.296 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:37.297 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:37.298 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:39:37.299 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:37.300 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:37.301 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:37.301 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:37.301 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:37.301 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:37.302 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Park
2025-11-03T09:39:37.302 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:39:37.302 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:39:37.302 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 29;14.882749;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90252;2460982.81918174;9.66033111;1.3;_Park Command Successful
2025-11-03T09:39:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:37
2025-11-03T09:39:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9841794967651367s
2025-11-03T09:39:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9841794967651367
2025-11-03T09:39:38.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:39:38.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:39:38.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:39:38.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:39:38.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:39:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:38
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860868453979492s
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8830576;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90282;2460982.81919402;9.66063889;1.3;_
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8830576;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90282;2460982.81919402;9.66063889;1.3;_
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8830576, teldec = -24.256612
2025-11-03T09:39:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8830576 -24.256612
2025-11-03T09:39:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8830576 -24.256612
2025-11-03T09:39:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8830576 -24.256612
2025-11-03T09:39:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8830576;-24.256612;50.108566;89.993054;50.08601;90.12017;11.90282;2460982.81919404;9.66063889;1.3;_14.8584046279018 -24.1509519349145
2025-11-03T09:39:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8584046279018     dec_j2k = -24.1509519349145
2025-11-03T09:39:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967649678015418;171.162351965909;_
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967649678015418;171.162351965909;_
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55855)
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:38.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:38.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:38.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81919402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967649678015418, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8830576, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90282, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8584046279018, telescope_dec_j2k=-24.1509519349145, observability=1)
2025-11-03T09:39:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:38
2025-11-03T09:39:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3864407539367676s
2025-11-03T09:39:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3864407539367676
2025-11-03T09:39:39.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:39:39.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:39:39.303 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:39:39.305 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:39:39.305 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:39:39.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:39
2025-11-03T09:39:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.98073410987854s
2025-11-03T09:39:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.98073410987854
2025-11-03T09:39:40.305 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:39:40.305 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:39:40.305 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:39:40.306 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:39:40.306 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:39:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:40
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9818763732910156s
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8836174;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90338;2460982.81921716;9.66119722;1.3;_
2025-11-03T09:39:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8836174;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90338;2460982.81921716;9.66119722;1.3;_
2025-11-03T09:39:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8836174, teldec = -24.256611
2025-11-03T09:39:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8836174 -24.256611
2025-11-03T09:39:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8836174 -24.256611
2025-11-03T09:39:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8836174 -24.256611
2025-11-03T09:39:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8836174;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90338;2460982.81921719;9.66119722;1.3;_14.858963957128 -24.1509647754527
2025-11-03T09:39:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.858963957128     dec_j2k = -24.1509647754527
2025-11-03T09:39:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967654491448555;171.162362694745;_
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967654491448555;171.162362694745;_
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59293)
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:40.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81921716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967654491448555, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8836174, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90338, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.858963957128, telescope_dec_j2k=-24.1509647754527, observability=1)
2025-11-03T09:39:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:40
2025-11-03T09:39:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38344907760620117s
2025-11-03T09:39:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38344907760620117
2025-11-03T09:39:41.307 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:39:41.307 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:39:41.307 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:41.308 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:39:41.309 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:39:41.310 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:41.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:41
2025-11-03T09:39:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9847490787506104s
2025-11-03T09:39:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9847490787506104
2025-11-03T09:39:42.310 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:42.310 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:42.310 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:42.311 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:42.312 [DEBUG] [ThreadPoolExecutor-3414_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:42.312 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:39:42.312 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:39:42.312 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:39:42.312 [DEBUG] [ThreadPoolExecutor-3414_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:42.312 [INFO] [ThreadPoolExecutor-3414_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:39:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:42
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831042289733887s
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8841684;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90393;2460982.8192403;9.66174667;1.3;_
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8841684;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90393;2460982.8192403;9.66174667;1.3;_
2025-11-03T09:39:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8841684, teldec = -24.256611
2025-11-03T09:39:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8841684 -24.256611
2025-11-03T09:39:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8841684 -24.256611
2025-11-03T09:39:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8841684 -24.256611
2025-11-03T09:39:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8841684;-24.256611;50.108566;89.993054;50.08601;90.12017;11.90393;2460982.81924034;9.66174667;1.3;_14.8595144936765 -24.1509784006541
2025-11-03T09:39:42.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8595144936765     dec_j2k = -24.1509784006541
2025-11-03T09:39:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096764727129885;171.162357330327;_
2025-11-03T09:39:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096764727129885;171.162357330327;_
2025-11-03T09:39:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35585)
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:42.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:42.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:42.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8192403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096764727129885, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108566, telescope_az=89.993054, telescope_ra=14.8841684, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8595144936765, telescope_dec_j2k=-24.1509784006541, observability=1)
2025-11-03T09:39:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:42
2025-11-03T09:39:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38461756706237793s
2025-11-03T09:39:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38461756706237793
2025-11-03T09:39:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:43
2025-11-03T09:39:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800591468811035s
2025-11-03T09:39:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800591468811035
2025-11-03T09:39:44.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:44
2025-11-03T09:39:44.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:44.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797508716583252s
2025-11-03T09:39:44.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:44.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:44.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8847291;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9045;2460982.81926343;9.66230583;1.3;_
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8847291;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9045;2460982.81926343;9.66230583;1.3;_
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:44.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8847291, teldec = -24.256611
2025-11-03T09:39:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8847291 -24.256611
2025-11-03T09:39:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8847291 -24.256611
2025-11-03T09:39:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8847291 -24.256611
2025-11-03T09:39:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8847291;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9045;2460982.81926345;9.66230583;1.3;_14.8600747221191 -24.1509922680069
2025-11-03T09:39:44.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8600747221191     dec_j2k = -24.1509922680069
2025-11-03T09:39:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967655293687411;171.162357330327;_
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967655293687411;171.162357330327;_
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40095)
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:44.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:44.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:44.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:44.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:44.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81926343, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967655293687411, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8847291, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9045, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8600747221191, telescope_dec_j2k=-24.1509922680069, observability=1)
2025-11-03T09:39:44.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:44
2025-11-03T09:39:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4044642448425293s
2025-11-03T09:39:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4044642448425293
2025-11-03T09:39:45.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:45
2025-11-03T09:39:45.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:45.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9827303886413574s
2025-11-03T09:39:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9827303886413574
2025-11-03T09:39:46.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:46
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981574535369873s
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:46.358 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8852611;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90503;2460982.81928657;9.66283639;1.3;_
2025-11-03T09:39:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8852611;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90503;2460982.81928657;9.66283639;1.3;_
2025-11-03T09:39:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:46.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8852611, teldec = -24.256611
2025-11-03T09:39:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8852611 -24.256611
2025-11-03T09:39:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8852611 -24.256611
2025-11-03T09:39:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8852611 -24.256611
2025-11-03T09:39:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8852611;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90503;2460982.8192866;9.66283639;1.3;_14.8606062747481 -24.1510054276793
2025-11-03T09:39:46.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8606062747481     dec_j2k = -24.1510054276793
2025-11-03T09:39:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967653689209699;171.162357330327;_
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967653689209699;171.162357330327;_
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48091)
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:46.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:46.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:46.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81928657, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967653689209699, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8852611, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90503, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8606062747481, telescope_dec_j2k=-24.1510054276793, observability=1)
2025-11-03T09:39:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:46
2025-11-03T09:39:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38727617263793945s
2025-11-03T09:39:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38727617263793945
2025-11-03T09:39:47.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:47
2025-11-03T09:39:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9845719337463379s
2025-11-03T09:39:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9845719337463379
2025-11-03T09:39:48.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:48
2025-11-03T09:39:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.988461971282959s
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8858396;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90561;2460982.81930979;9.66341333;1.3;_
2025-11-03T09:39:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8858396;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90561;2460982.81930979;9.66341333;1.3;_
2025-11-03T09:39:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:48.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8858396, teldec = -24.256611
2025-11-03T09:39:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8858396 -24.256611
2025-11-03T09:39:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8858396 -24.256611
2025-11-03T09:39:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8858396 -24.256611
2025-11-03T09:39:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8858396;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90561;2460982.81930981;9.66341333;1.3;_14.8611842883287 -24.1510197399443
2025-11-03T09:39:48.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8611842883287     dec_j2k = -24.1510197399443
2025-11-03T09:39:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967652886970843;171.162357330327;_
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967652886970843;171.162357330327;_
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47111)
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:48.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:48.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81930979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967652886970843, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8858396, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90561, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8611842883287, telescope_dec_j2k=-24.1510197399443, observability=1)
2025-11-03T09:39:48.391 [DEBUG] [Thread-88699 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:48.391 [DEBUG] [Thread-88699 (handle)] [server.py] [get_status()] Status age = 0.011464595794677734s
2025-11-03T09:39:48.391 [DEBUG] [Thread-88699 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.011464595794677734
2025-11-03T09:39:48.685 [DEBUG] [Thread-88700 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:48.685 [DEBUG] [Thread-88700 (handle)] [server.py] [get_status()] Status age = 0.30580806732177734s
2025-11-03T09:39:48.685 [DEBUG] [Thread-88700 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30580806732177734
2025-11-03T09:39:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:48
2025-11-03T09:39:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38442182540893555s
2025-11-03T09:39:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38442182540893555
2025-11-03T09:39:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:49
2025-11-03T09:39:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.981602668762207s
2025-11-03T09:39:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.981602668762207
2025-11-03T09:39:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:50
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810092449188232s
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:50.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8864003;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90617;2460982.81933289;9.6639725;1.3;_
2025-11-03T09:39:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8864003;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90617;2460982.81933289;9.6639725;1.3;_
2025-11-03T09:39:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:50.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8864003, teldec = -24.256611
2025-11-03T09:39:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8864003 -24.256611
2025-11-03T09:39:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8864003 -24.256611
2025-11-03T09:39:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8864003 -24.256611
2025-11-03T09:39:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8864003;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90617;2460982.81933292;9.6639725;1.3;_14.8617445169302 -24.1510336141761
2025-11-03T09:39:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8617445169302     dec_j2k = -24.1510336141761
2025-11-03T09:39:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967660508239976;171.162362694745;_
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967660508239976;171.162362694745;_
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:50.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59689)
2025-11-03T09:39:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:50.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:50.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:50.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:50.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81933289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967660508239976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8864003, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90617, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8617445169302, telescope_dec_j2k=-24.1510336141761, observability=1)
2025-11-03T09:39:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:50
2025-11-03T09:39:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3809061050415039s
2025-11-03T09:39:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3809061050415039
2025-11-03T09:39:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:51
2025-11-03T09:39:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9814045429229736s
2025-11-03T09:39:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9814045429229736
2025-11-03T09:39:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:52
2025-11-03T09:39:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814152717590332s
2025-11-03T09:39:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8869602;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90673;2460982.81935604;9.66453083;1.3;_
2025-11-03T09:39:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8869602;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90673;2460982.81935604;9.66453083;1.3;_
2025-11-03T09:39:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:52.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8869602, teldec = -24.256611
2025-11-03T09:39:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8869602 -24.256611
2025-11-03T09:39:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8869602 -24.256611
2025-11-03T09:39:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8869602 -24.256611
2025-11-03T09:39:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8869602;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90673;2460982.81935606;9.66453083;1.3;_14.8623039462575 -24.1510474709148
2025-11-03T09:39:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8623039462575     dec_j2k = -24.1510474709148
2025-11-03T09:39:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967655694806839;171.162357330327;_
2025-11-03T09:39:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967655694806839;171.162357330327;_
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45999)
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81935604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967655694806839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8869602, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90673, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8623039462575, telescope_dec_j2k=-24.1510474709148, observability=1)
2025-11-03T09:39:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:52
2025-11-03T09:39:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37879133224487305s
2025-11-03T09:39:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37879133224487305
2025-11-03T09:39:53.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:53
2025-11-03T09:39:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9797475337982178s
2025-11-03T09:39:53.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9797475337982178
2025-11-03T09:39:54.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:54
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978489637374878s
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:54.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8875117;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90728;2460982.81937918;9.66508083;1.3;_
2025-11-03T09:39:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8875117;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90728;2460982.81937918;9.66508083;1.3;_
2025-11-03T09:39:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:54.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8875117, teldec = -24.256611
2025-11-03T09:39:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8875117 -24.256611
2025-11-03T09:39:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8875117 -24.256611
2025-11-03T09:39:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8875117 -24.256611
2025-11-03T09:39:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8875117;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90728;2460982.8193792;9.66508083;1.3;_14.8628549826981 -24.1510611220143
2025-11-03T09:39:54.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8628549826981     dec_j2k = -24.1510611220143
2025-11-03T09:39:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967652084731987;171.162357330327;_
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967652084731987;171.162357330327;_
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51077)
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:54.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:54.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:54.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81937918, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967652084731987, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8875117, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90728, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8628549826981, telescope_dec_j2k=-24.1510611220143, observability=1)
2025-11-03T09:39:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:54
2025-11-03T09:39:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38202381134033203s
2025-11-03T09:39:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38202381134033203
2025-11-03T09:39:55.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:55
2025-11-03T09:39:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.983788013458252s
2025-11-03T09:39:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.983788013458252
2025-11-03T09:39:56.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:56
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829039573669434s
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8880735;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90784;2460982.81940234;9.66564111;1.3;_
2025-11-03T09:39:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8880735;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90784;2460982.81940234;9.66564111;1.3;_
2025-11-03T09:39:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:56.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8880735, teldec = -24.256611
2025-11-03T09:39:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8880735 -24.256611
2025-11-03T09:39:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8880735 -24.256611
2025-11-03T09:39:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8880735 -24.256611
2025-11-03T09:39:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8880735;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90784;2460982.81940236;9.66564111;1.3;_14.8634163105343 -24.151075030361
2025-11-03T09:39:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8634163105343     dec_j2k = -24.151075030361
2025-11-03T09:39:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967654892567983;171.162357330327;_
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967654892567983;171.162357330327;_
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55351)
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:56.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:56.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81940234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967654892567983, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8880735, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90784, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8634163105343, telescope_dec_j2k=-24.151075030361, observability=1)
2025-11-03T09:39:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:56
2025-11-03T09:39:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38301968574523926s
2025-11-03T09:39:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38301968574523926
2025-11-03T09:39:57.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:57
2025-11-03T09:39:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9786577224731445s
2025-11-03T09:39:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9786577224731445
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.565462589263916s
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8884938;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90826;2460982.81942071;9.66606028;1.3;_
2025-11-03T09:39:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.8884938;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90826;2460982.81942071;9.66606028;1.3;_
2025-11-03T09:39:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:57.951 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.8884938, teldec = -24.256611
2025-11-03T09:39:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8884938 -24.256611
2025-11-03T09:39:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8884938 -24.256611
2025-11-03T09:39:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8884938 -24.256611
2025-11-03T09:39:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.8884938;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90826;2460982.81942074;9.66606028;1.3;_14.8638362573289 -24.1510854371405
2025-11-03T09:39:57.952 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.8638362573289     dec_j2k = -24.1510854371405
2025-11-03T09:39:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967648073537706;171.162362694745;_
2025-11-03T09:39:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967648073537706;171.162362694745;_
2025-11-03T09:39:57.953 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:57.954 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:57.955 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55803)
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:57.965 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:57.965 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:57.966 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:57.966 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:57.966 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81942071, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967648073537706, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8884938, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90826, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8638362573289, telescope_dec_j2k=-24.1510854371405, observability=1)
2025-11-03T09:39:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:58
2025-11-03T09:39:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3940417766571045s
2025-11-03T09:39:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3940417766571045
2025-11-03T09:39:58.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:58
2025-11-03T09:39:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7932114601135254s
2025-11-03T09:39:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7932114601135254
2025-11-03T09:39:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:39:59
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3949527740478516s
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:39:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:39:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8889058;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90867;2460982.81943706;9.66647111;1.3;_
2025-11-03T09:39:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8889058;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90867;2460982.81943706;9.66647111;1.3;_
2025-11-03T09:39:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:39:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:39:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:39:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:39:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8889058, teldec = -24.256611
2025-11-03T09:39:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8889058 -24.256611
2025-11-03T09:39:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8889058 -24.256611
2025-11-03T09:39:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8889058 -24.256611
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8889058;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90867;2460982.81943708;9.66647111;1.3;_14.8642479111277 -24.1510956396668
2025-11-03T09:39:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8642479111277     dec_j2k = -24.1510956396668
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967656497045695;171.162357330327;_
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967656497045695;171.162357330327;_
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:39:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:39:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:39:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39125)
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:39:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:39:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:39:59.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:39:59.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:39:59.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:39:59.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81943706, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967656497045695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8889058, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8642479111277, telescope_dec_j2k=-24.1510956396668, observability=1)
2025-11-03T09:40:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:00
2025-11-03T09:40:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9825024604797363s
2025-11-03T09:40:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9825024604797363
2025-11-03T09:40:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:00
2025-11-03T09:40:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3817105293273926s
2025-11-03T09:40:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8892991;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90907;2460982.81945326;9.66686333;1.3;_
2025-11-03T09:40:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8892991;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90907;2460982.81945326;9.66686333;1.3;_
2025-11-03T09:40:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8892991, teldec = -24.256611
2025-11-03T09:40:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8892991 -24.256611
2025-11-03T09:40:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8892991 -24.256611
2025-11-03T09:40:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8892991 -24.256611
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8892991;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90907;2460982.81945329;9.66686333;1.3;_14.8646408806668 -24.1511053802789
2025-11-03T09:40:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8646408806668     dec_j2k = -24.1511053802789
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967655694806839;171.162357330327;_
2025-11-03T09:40:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967655694806839;171.162357330327;_
2025-11-03T09:40:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60921)
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:00.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81945326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967655694806839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8892991, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90907, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8646408806668, telescope_dec_j2k=-24.1511053802789, observability=1)
2025-11-03T09:40:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:01
2025-11-03T09:40:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5801129341125488s
2025-11-03T09:40:01.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5801129341125488
2025-11-03T09:40:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:02
2025-11-03T09:40:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5804762840270996s
2025-11-03T09:40:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8897473;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90951;2460982.81947178;9.66731028;1.3;_
2025-11-03T09:40:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8897473;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90951;2460982.81947178;9.66731028;1.3;_
2025-11-03T09:40:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:02.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8897473, teldec = -24.256611
2025-11-03T09:40:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8897473 -24.256611
2025-11-03T09:40:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8897473 -24.256611
2025-11-03T09:40:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8897473 -24.256611
2025-11-03T09:40:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8897473;-24.256611;50.108565;89.993054;50.08601;90.12017;11.90951;2460982.81947181;9.66731028;1.3;_14.8650887041096 -24.1511164819477
2025-11-03T09:40:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8650887041096     dec_j2k = -24.1511164819477
2025-11-03T09:40:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967658101523407;171.162357330327;_
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967658101523407;171.162357330327;_
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41535)
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81947178, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967658101523407, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8897473, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.90951, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8650887041096, telescope_dec_j2k=-24.1511164819477, observability=1)
2025-11-03T09:40:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:02
2025-11-03T09:40:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37766504287719727s
2025-11-03T09:40:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37766504287719727
2025-11-03T09:40:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:03
2025-11-03T09:40:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9791722297668457s
2025-11-03T09:40:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9791722297668457
2025-11-03T09:40:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:04
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978940725326538s
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8902979;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91006;2460982.81949494;9.66785944;1.3;_
2025-11-03T09:40:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8902979;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91006;2460982.81949494;9.66785944;1.3;_
2025-11-03T09:40:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8902979, teldec = -24.256611
2025-11-03T09:40:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8902979 -24.256611
2025-11-03T09:40:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8902979 -24.256611
2025-11-03T09:40:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8902979 -24.256611
2025-11-03T09:40:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8902979;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91006;2460982.81949497;9.66785944;1.3;_14.8656388415672 -24.1511301220249
2025-11-03T09:40:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8656388415672     dec_j2k = -24.1511301220249
2025-11-03T09:40:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967654090329127;171.162357330327;_
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967654090329127;171.162357330327;_
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48735)
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:04.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:04.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:04.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:04.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:04.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81949494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967654090329127, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8902979, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91006, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8656388415672, telescope_dec_j2k=-24.1511301220249, observability=1)
2025-11-03T09:40:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:04
2025-11-03T09:40:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824150562286377s
2025-11-03T09:40:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824150562286377
2025-11-03T09:40:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:05
2025-11-03T09:40:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9825940132141113s
2025-11-03T09:40:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9825940132141113
2025-11-03T09:40:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:06
2025-11-03T09:40:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983670711517334s
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8908595;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91063;2460982.8195181;9.66841944;1.3;_
2025-11-03T09:40:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8908595;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91063;2460982.8195181;9.66841944;1.3;_
2025-11-03T09:40:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8908595, teldec = -24.256611
2025-11-03T09:40:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8908595 -24.256611
2025-11-03T09:40:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8908595 -24.256611
2025-11-03T09:40:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8908595 -24.256611
2025-11-03T09:40:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8908595;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91063;2460982.81951812;9.66841944;1.3;_14.8661999698372 -24.1511440368964
2025-11-03T09:40:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8661999698372     dec_j2k = -24.1511440368964
2025-11-03T09:40:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967657299284551;171.162351965909;_
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967657299284551;171.162351965909;_
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:06.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59685)
2025-11-03T09:40:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:06.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:06.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:06.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8195181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967657299284551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8908595, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8661999698372, telescope_dec_j2k=-24.1511440368964, observability=1)
2025-11-03T09:40:06.462 [DEBUG] [Thread-88701 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:06.462 [DEBUG] [Thread-88701 (handle)] [server.py] [get_status()] Status age = 0.07839250564575195s
2025-11-03T09:40:06.462 [DEBUG] [Thread-88701 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07839250564575195
2025-11-03T09:40:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:06
2025-11-03T09:40:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3775005340576172s
2025-11-03T09:40:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3775005340576172
2025-11-03T09:40:07.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:07
2025-11-03T09:40:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820020198822021s
2025-11-03T09:40:07.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820020198822021
2025-11-03T09:40:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:08
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9762420654296875s
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8913918;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91116;2460982.81954123;9.66895028;1.3;_
2025-11-03T09:40:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8913918;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91116;2460982.81954123;9.66895028;1.3;_
2025-11-03T09:40:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8913918, teldec = -24.256611
2025-11-03T09:40:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8913918 -24.256611
2025-11-03T09:40:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8913918 -24.256611
2025-11-03T09:40:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8913918 -24.256611
2025-11-03T09:40:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8913918;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91116;2460982.81954125;9.66895028;1.3;_14.8667318227679 -24.1511572279308
2025-11-03T09:40:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8667318227679     dec_j2k = -24.1511572279308
2025-11-03T09:40:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967666123911969;171.162351965909;_
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967666123911969;171.162351965909;_
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41953)
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:08.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:08.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:08.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:08.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:08.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81954123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967666123911969, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8913918, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91116, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8667318227679, telescope_dec_j2k=-24.1511572279308, observability=1)
2025-11-03T09:40:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:08
2025-11-03T09:40:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37850522994995117s
2025-11-03T09:40:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37850522994995117
2025-11-03T09:40:09.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:09
2025-11-03T09:40:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815628528594971s
2025-11-03T09:40:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815628528594971
2025-11-03T09:40:10.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:10
2025-11-03T09:40:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788260459899902s
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8919708;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91174;2460982.81956436;9.66952778;1.3;_
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8919708;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91174;2460982.81956436;9.66952778;1.3;_
2025-11-03T09:40:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:10.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8919708, teldec = -24.256611
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8919708 -24.256611
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8919708 -24.256611
2025-11-03T09:40:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8919708 -24.256611
2025-11-03T09:40:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8919708;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91174;2460982.81956439;9.66952778;1.3;_14.8673103365307 -24.1511715786058
2025-11-03T09:40:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8673103365307     dec_j2k = -24.1511715786058
2025-11-03T09:40:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967659304881692;171.162357330327;_
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967659304881692;171.162357330327;_
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39251)
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:10.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:10.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:10.374 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:10.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:10.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:10.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81956436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967659304881692, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8919708, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91174, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8673103365307, telescope_dec_j2k=-24.1511715786058, observability=1)
2025-11-03T09:40:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:10
2025-11-03T09:40:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3879122734069824s
2025-11-03T09:40:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3879122734069824
2025-11-03T09:40:11.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:11
2025-11-03T09:40:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9849681854248047s
2025-11-03T09:40:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9849681854248047
2025-11-03T09:40:12.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:12
2025-11-03T09:40:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9855642318725586s
2025-11-03T09:40:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8925318;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9123;2460982.81958753;9.67008722;1.3;_
2025-11-03T09:40:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8925318;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9123;2460982.81958753;9.67008722;1.3;_
2025-11-03T09:40:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8925318, teldec = -24.256611
2025-11-03T09:40:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8925318 -24.256611
2025-11-03T09:40:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8925318 -24.256611
2025-11-03T09:40:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8925318 -24.256611
2025-11-03T09:40:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8925318;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9123;2460982.81958756;9.67008722;1.3;_14.8678708654641 -24.1511854854898
2025-11-03T09:40:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8678708654641     dec_j2k = -24.1511854854898
2025-11-03T09:40:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967660508239976;171.162362694745;_
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967660508239976;171.162362694745;_
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50535)
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:12.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:12.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:12.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81958753, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967660508239976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8925318, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9123, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8678708654641, telescope_dec_j2k=-24.1511854854898, observability=1)
2025-11-03T09:40:12.569 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:40:12
2025-11-03T09:40:12.569 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:12.569 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.19005250930786133s
2025-11-03T09:40:12.569 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19005250930786133
2025-11-03T09:40:12.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:12
2025-11-03T09:40:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3904733657836914s
2025-11-03T09:40:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3904733657836914
2025-11-03T09:40:13.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:13
2025-11-03T09:40:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9838683605194092s
2025-11-03T09:40:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9838683605194092
2025-11-03T09:40:14.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:14
2025-11-03T09:40:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9875202178955078s
2025-11-03T09:40:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8930636;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91283;2460982.81961074;9.6706175;1.3;_
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8930636;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91283;2460982.81961074;9.6706175;1.3;_
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:14.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8930636, teldec = -24.256611
2025-11-03T09:40:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8930636 -24.256611
2025-11-03T09:40:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8930636 -24.256611
2025-11-03T09:40:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8930636 -24.256611
2025-11-03T09:40:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8930636;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91283;2460982.81961078;9.6706175;1.3;_14.8684022189659 -24.1511986706513
2025-11-03T09:40:14.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8684022189659     dec_j2k = -24.1511986706513
2025-11-03T09:40:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967663316075972;171.162357330327;_
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967663316075972;171.162357330327;_
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:14.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:14.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60147)
2025-11-03T09:40:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:14.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:14.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:14.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:14.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:14.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:14.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81961074, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967663316075972, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8930636, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91283, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.8684022189659, telescope_dec_j2k=-24.1511986706513, observability=1)
2025-11-03T09:40:14.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:14
2025-11-03T09:40:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37531471252441406s
2025-11-03T09:40:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37531471252441406
2025-11-03T09:40:15.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:15
2025-11-03T09:40:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9735076427459717s
2025-11-03T09:40:15.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9735076427459717
2025-11-03T09:40:15.968 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:40:15.968 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.5799853801727295s
2025-11-03T09:40:15.968 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:15.968 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:15.968 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:15.969 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:15.970 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:15.970 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8935301;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9133;2460982.81962928;9.67108278;1.3;_
2025-11-03T09:40:15.970 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.8935301;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9133;2460982.81962928;9.67108278;1.3;_
2025-11-03T09:40:15.971 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:15.971 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:15.971 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:15.972 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:15.972 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:15.972 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.8935301, teldec = -24.256611
2025-11-03T09:40:15.972 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.8935301 -24.256611
2025-11-03T09:40:15.972 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.8935301 -24.256611
2025-11-03T09:40:15.972 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8935301 -24.256611
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.8935301;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9133;2460982.81962932;9.67108278;1.3;_14.868868327333 -24.1512102385062
2025-11-03T09:40:15.973 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.868868327333     dec_j2k = -24.1512102385062
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967661310478832;171.162351965909;_
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967661310478832;171.162351965909;_
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:15.973 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:15.974 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:15.974 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:15.975 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:15.976 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:15.976 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:15.976 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52047)
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:15.979 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:15.986 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:15.987 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:15.987 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:15.987 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:40:15.987 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.81962928, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967661310478832, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8935301, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9133, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:39:16.419550', telescope_ra_j2k=14.868868327333, telescope_dec_j2k=-24.1512102385062, observability=1)
2025-11-03T09:40:15.987 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4179368019104004 seconds ago
2025-11-03T09:40:16.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:16
2025-11-03T09:40:16.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:16.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3714900016784668s
2025-11-03T09:40:16.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3714900016784668
2025-11-03T09:40:16.562 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:16.562 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:16.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:16.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:16.562 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:16.563 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:16.563 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:16.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:16.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:16.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:16.564 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:40:16.564 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:16.564 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:16.564 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:16.564 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:16.564 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:40:16.565 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:40:16.566 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:16.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:16
2025-11-03T09:40:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7970829010009766s
2025-11-03T09:40:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7970829010009766
2025-11-03T09:40:17.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:17
2025-11-03T09:40:17.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:17.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4648017883300781s
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:17.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:17.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8939229;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91369;2460982.81964645;9.67147444;1.3;_
2025-11-03T09:40:17.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8939229;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91369;2460982.81964645;9.67147444;1.3;_
2025-11-03T09:40:17.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:17.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:17.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:17.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:17.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:17.455 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8939229, teldec = -24.256611
2025-11-03T09:40:17.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8939229 -24.256611
2025-11-03T09:40:17.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8939229 -24.256611
2025-11-03T09:40:17.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8939229 -24.256611
2025-11-03T09:40:17.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8939229;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91369;2460982.81964648;9.67147444;1.3;_14.8692607976009 -24.1512199800503
2025-11-03T09:40:17.456 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8692607976009     dec_j2k = -24.1512199800503
2025-11-03T09:40:17.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:17.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:17.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967665321673113;171.162368059163;_
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967665321673113;171.162368059163;_
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:17.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:17.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56701)
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:17.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:17.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:17.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:17.467 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:17.467 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:17.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:17.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:17.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:17.468 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:17.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:17.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81964645, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967665321673113, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8939229, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8692607976009, telescope_dec_j2k=-24.1512199800503, observability=1)
2025-11-03T09:40:17.566 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:17.566 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:17.566 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:17.566 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:17.566 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:40:17.567 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:17.568 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:17.569 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:17.569 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:17.569 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:17.569 [DEBUG] [ThreadPoolExecutor-3416_0] [payload.py] [to_registers()] [0]
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49661)
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:17.573 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:17.580 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:17.580 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:40:17.580 [DEBUG] [ThreadPoolExecutor-3416_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:40:17.580 [DEBUG] [ThreadPoolExecutor-3416_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:40:17.581 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:17.581 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:17.581 [DEBUG] [ThreadPoolExecutor-3416_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:18
2025-11-03T09:40:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.892078161239624s
2025-11-03T09:40:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.892078161239624
2025-11-03T09:40:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:18
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3013050556182861s
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.894315;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91408;2460982.8196617;9.67186556;1.3;_
2025-11-03T09:40:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.894315;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91408;2460982.8196617;9.67186556;1.3;_
2025-11-03T09:40:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.894315, teldec = -24.256611
2025-11-03T09:40:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.894315 -24.256611
2025-11-03T09:40:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.894315 -24.256611
2025-11-03T09:40:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.894315 -24.256611
2025-11-03T09:40:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.894315;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91408;2460982.81966172;9.67186556;1.3;_14.8696525684826 -24.1512297053616
2025-11-03T09:40:18.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8696525684826     dec_j2k = -24.1512297053616
2025-11-03T09:40:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967665321673113;171.162351965909;_
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967665321673113;171.162351965909;_
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:18.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35867)
2025-11-03T09:40:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:18.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:18.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:18.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8196617, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967665321673113, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.894315, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8696525684826, telescope_dec_j2k=-24.1512297053616, observability=1)
2025-11-03T09:40:19.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:19
2025-11-03T09:40:19.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:19.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5907011032104492s
2025-11-03T09:40:19.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5907011032104492
2025-11-03T09:40:20.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:20
2025-11-03T09:40:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5704190731048584s
2025-11-03T09:40:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8947354;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9145;2460982.8196801;9.67228472;1.3;_
2025-11-03T09:40:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8947354;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9145;2460982.8196801;9.67228472;1.3;_
2025-11-03T09:40:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8947354, teldec = -24.256611
2025-11-03T09:40:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8947354 -24.256611
2025-11-03T09:40:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8947354 -24.256611
2025-11-03T09:40:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8947354 -24.256611
2025-11-03T09:40:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8947354;-24.256611;50.108565;89.993054;50.08601;90.12017;11.9145;2460982.81968014;9.67228472;1.3;_14.8700726156391 -24.151240133853
2025-11-03T09:40:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8700726156391     dec_j2k = -24.151240133853
2025-11-03T09:40:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967660508239976;171.162351965909;_
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967660508239976;171.162351965909;_
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34279)
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:20.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:20.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:20.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8196801, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967660508239976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8947354, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8700726156391, telescope_dec_j2k=-24.151240133853, observability=1)
2025-11-03T09:40:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:20
2025-11-03T09:40:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3835909366607666s
2025-11-03T09:40:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3835909366607666
2025-11-03T09:40:21.478 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:21
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1014206409454346s
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:21.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:21.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8950429;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91481;2460982.81969306;9.67259139;1.3;_
2025-11-03T09:40:21.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8950429;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91481;2460982.81969306;9.67259139;1.3;_
2025-11-03T09:40:21.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:21.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:21.480 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:21.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:21.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:21.481 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8950429, teldec = -24.256611
2025-11-03T09:40:21.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8950429 -24.256611
2025-11-03T09:40:21.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8950429 -24.256611
2025-11-03T09:40:21.481 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8950429 -24.256611
2025-11-03T09:40:21.482 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8950429;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91481;2460982.81969308;9.67259139;1.3;_14.8703798575721 -24.1512477625536
2025-11-03T09:40:21.482 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8703798575721     dec_j2k = -24.1512477625536
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967670135106249;171.162357330327;_
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967670135106249;171.162357330327;_
2025-11-03T09:40:21.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:21.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:21.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:21.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46265)
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:21.487 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:21.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:21.495 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:21.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:21.495 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81969306, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967670135106249, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8950429, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91481, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8703798575721, telescope_dec_j2k=-24.1512477625536, observability=1)
2025-11-03T09:40:22.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:22
2025-11-03T09:40:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8675863742828369s
2025-11-03T09:40:22.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8675863742828369
2025-11-03T09:40:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:22
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.269073247909546s
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8954259;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91519;2460982.81970793;9.67297333;1.3;_
2025-11-03T09:40:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8954259;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91519;2460982.81970793;9.67297333;1.3;_
2025-11-03T09:40:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8954259, teldec = -24.256611
2025-11-03T09:40:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8954259 -24.256611
2025-11-03T09:40:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8954259 -24.256611
2025-11-03T09:40:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8954259 -24.256611
2025-11-03T09:40:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8954259;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91519;2460982.81970795;9.67297333;1.3;_14.8707625361648 -24.1512572652858
2025-11-03T09:40:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8707625361648     dec_j2k = -24.1512572652858
2025-11-03T09:40:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967662112717688;171.162357330327;_
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967662112717688;171.162357330327;_
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49085)
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:22.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:22.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81970793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967662112717688, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8954259, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91519, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8707625361648, telescope_dec_j2k=-24.1512572652858, observability=1)
2025-11-03T09:40:23.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:23
2025-11-03T09:40:23.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:23.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5755007266998291s
2025-11-03T09:40:23.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5755007266998291
2025-11-03T09:40:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:24
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5794048309326172s
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8958746;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91564;2460982.81972644;9.67342083;1.3;_
2025-11-03T09:40:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8958746;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91564;2460982.81972644;9.67342083;1.3;_
2025-11-03T09:40:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8958746, teldec = -24.256611
2025-11-03T09:40:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8958746 -24.256611
2025-11-03T09:40:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8958746 -24.256611
2025-11-03T09:40:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8958746 -24.256611
2025-11-03T09:40:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8958746;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91564;2460982.81972646;9.67342083;1.3;_14.8712108596549 -24.1512683994878
2025-11-03T09:40:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8712108596549     dec_j2k = -24.1512683994878
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967664920553684;171.162351965909;_
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967664920553684;171.162351965909;_
2025-11-03T09:40:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55235)
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:24.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:24.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:24.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81972644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967664920553684, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8958746, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8712108596549, telescope_dec_j2k=-24.1512683994878, observability=1)
2025-11-03T09:40:24.522 [DEBUG] [Thread-88702 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:24.522 [DEBUG] [Thread-88702 (handle)] [server.py] [get_status()] Status age = 0.1392076015472412s
2025-11-03T09:40:24.522 [DEBUG] [Thread-88702 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1392076015472412
2025-11-03T09:40:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:24
2025-11-03T09:40:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37734341621398926s
2025-11-03T09:40:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37734341621398926
2025-11-03T09:40:25.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:25
2025-11-03T09:40:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9788999557495117s
2025-11-03T09:40:25.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9788999557495117
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.9198989868164062s
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:26.303 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:26.304 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:26.305 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.8964069;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91617;2460982.8197489;9.67395167;1.3;_
2025-11-03T09:40:26.305 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.8964069;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91617;2460982.8197489;9.67395167;1.3;_
2025-11-03T09:40:26.305 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:26.305 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:26.305 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:26.306 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:26.306 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:26.306 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.8964069, teldec = -24.256611
2025-11-03T09:40:26.306 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8964069 -24.256611
2025-11-03T09:40:26.306 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8964069 -24.256611
2025-11-03T09:40:26.306 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8964069 -24.256611
2025-11-03T09:40:26.307 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.8964069;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91617;2460982.81974892;9.67395167;1.3;_14.8717427130396 -24.151281610082
2025-11-03T09:40:26.307 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.8717427130396     dec_j2k = -24.151281610082
2025-11-03T09:40:26.307 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:26.307 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:26.307 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:26.308 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967675750778242;171.162357330327;_
2025-11-03T09:40:26.308 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967675750778242;171.162357330327;_
2025-11-03T09:40:26.308 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:26.309 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:26.310 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:26.311 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:26.311 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:26.311 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59477)
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:26.314 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:26.321 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:26.321 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:26.321 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:26.322 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:26.322 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8197489, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967675750778242, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8964069, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91617, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8717427130396, telescope_dec_j2k=-24.151281610082, observability=1)
2025-11-03T09:40:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:26
2025-11-03T09:40:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03873753547668457s
2025-11-03T09:40:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03873753547668457
2025-11-03T09:40:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:26
2025-11-03T09:40:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44255757331848145s
2025-11-03T09:40:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44255757331848145
2025-11-03T09:40:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:27
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0395286083221436s
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8966868;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91645;2460982.81976115;9.67423083;1.3;_
2025-11-03T09:40:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8966868;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91645;2460982.81976115;9.67423083;1.3;_
2025-11-03T09:40:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:27.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8966868, teldec = -24.256611
2025-11-03T09:40:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8966868 -24.256611
2025-11-03T09:40:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8966868 -24.256611
2025-11-03T09:40:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8966868 -24.256611
2025-11-03T09:40:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8966868;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91645;2460982.81976118;9.67423083;1.3;_14.8720223782146 -24.1512885574583
2025-11-03T09:40:27.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8720223782146     dec_j2k = -24.1512885574583
2025-11-03T09:40:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096767815749481;171.162346601491;_
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096767815749481;171.162346601491;_
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:27.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:27.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36477)
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:27.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:27.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:27.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81976115, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096767815749481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8966868, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91645, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8720223782146, telescope_dec_j2k=-24.1512885574583, observability=1)
2025-11-03T09:40:28.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:28
2025-11-03T09:40:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9850914478302002s
2025-11-03T09:40:28.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9850914478302002
2025-11-03T09:40:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:28
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3824691772460938s
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8970977;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91686;2460982.81977736;9.67464056;1.3;_
2025-11-03T09:40:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8970977;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91686;2460982.81977736;9.67464056;1.3;_
2025-11-03T09:40:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8970977, teldec = -24.256611
2025-11-03T09:40:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8970977 -24.256611
2025-11-03T09:40:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8970977 -24.256611
2025-11-03T09:40:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8970977 -24.256611
2025-11-03T09:40:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8970977;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91686;2460982.81977738;9.67464056;1.3;_14.8724329335101 -24.1512987574145
2025-11-03T09:40:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8724329335101     dec_j2k = -24.1512987574145
2025-11-03T09:40:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967668530628537;171.162357330327;_
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967668530628537;171.162357330327;_
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60843)
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:28.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:28.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81977736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967668530628537, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8970977, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91686, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8724329335101, telescope_dec_j2k=-24.1512987574145, observability=1)
2025-11-03T09:40:29.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:29
2025-11-03T09:40:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.578624963760376s
2025-11-03T09:40:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.578624963760376
2025-11-03T09:40:30.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:30
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5788419246673584s
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8975182;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91728;2460982.81979587;9.67506;1.3;_
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8975182;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91728;2460982.81979587;9.67506;1.3;_
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8975182, teldec = -24.256611
2025-11-03T09:40:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8975182 -24.256611
2025-11-03T09:40:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8975182 -24.256611
2025-11-03T09:40:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8975182 -24.256611
2025-11-03T09:40:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8975182;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91728;2460982.81979589;9.67506;1.3;_14.8728530807818 -24.1513091969557
2025-11-03T09:40:30.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8728530807818     dec_j2k = -24.1513091969557
2025-11-03T09:40:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967678558614238;171.162346601491;_
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967678558614238;171.162346601491;_
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:30.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48997)
2025-11-03T09:40:30.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:30.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:30.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:30.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81979587, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967678558614238, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8975182, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91728, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8728530807818, telescope_dec_j2k=-24.1513091969557, observability=1)
2025-11-03T09:40:30.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:30
2025-11-03T09:40:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38796114921569824s
2025-11-03T09:40:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38796114921569824
2025-11-03T09:40:31.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:31
2025-11-03T09:40:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9819436073303223s
2025-11-03T09:40:31.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9819436073303223
2025-11-03T09:40:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:32
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828014373779297s
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8980787;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91784;2460982.819819;9.67561889;1.3;_
2025-11-03T09:40:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8980787;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91784;2460982.819819;9.67561889;1.3;_
2025-11-03T09:40:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8980787, teldec = -24.256611
2025-11-03T09:40:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8980787 -24.256611
2025-11-03T09:40:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8980787 -24.256611
2025-11-03T09:40:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8980787 -24.256611
2025-11-03T09:40:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8980787;-24.256611;50.108565;89.993054;50.08601;90.12017;11.91784;2460982.81981904;9.67561889;1.3;_14.8734131106641 -24.1513231142187
2025-11-03T09:40:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8734131106641     dec_j2k = -24.1513231142187
2025-11-03T09:40:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967669733986821;171.162357330327;_
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967669733986821;171.162357330327;_
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51599)
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:32.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:32.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:32.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.819819, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967669733986821, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108565, telescope_az=89.993054, telescope_ra=14.8980787, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91784, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8734131106641, telescope_dec_j2k=-24.1513231142187, observability=1)
2025-11-03T09:40:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:32
2025-11-03T09:40:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3771638870239258s
2025-11-03T09:40:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3771638870239258
2025-11-03T09:40:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:33
2025-11-03T09:40:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9787917137145996s
2025-11-03T09:40:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9787917137145996
2025-11-03T09:40:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:34
2025-11-03T09:40:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787344932556152s
2025-11-03T09:40:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8986572;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91842;2460982.81984215;9.67619583;1.3;_
2025-11-03T09:40:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8986572;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91842;2460982.81984215;9.67619583;1.3;_
2025-11-03T09:40:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8986572, teldec = -24.256611
2025-11-03T09:40:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8986572 -24.256611
2025-11-03T09:40:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8986572 -24.256611
2025-11-03T09:40:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8986572 -24.256611
2025-11-03T09:40:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8986572;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91842;2460982.8198422;9.67619583;1.3;_14.873991125505 -24.1513374808347
2025-11-03T09:40:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.873991125505     dec_j2k = -24.1513374808347
2025-11-03T09:40:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967670937345105;171.162357330327;_
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967670937345105;171.162357330327;_
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:34.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49665)
2025-11-03T09:40:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:34.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:34.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:34.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:34.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81984215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967670937345105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.8986572, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.873991125505, telescope_dec_j2k=-24.1513374808347, observability=1)
2025-11-03T09:40:34.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:34
2025-11-03T09:40:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3766493797302246s
2025-11-03T09:40:34.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3766493797302246
2025-11-03T09:40:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:35
2025-11-03T09:40:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9816782474517822s
2025-11-03T09:40:35.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9816782474517822
2025-11-03T09:40:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:36
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815492630004883s
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:36.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8991942;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91896;2460982.8198653;9.67673139;1.3;_
2025-11-03T09:40:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.8991942;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91896;2460982.8198653;9.67673139;1.3;_
2025-11-03T09:40:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.8991942, teldec = -24.256611
2025-11-03T09:40:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.8991942 -24.256611
2025-11-03T09:40:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.8991942 -24.256611
2025-11-03T09:40:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.8991942 -24.256611
2025-11-03T09:40:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.8991942;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91896;2460982.81986532;9.67673139;1.3;_14.8745276752009 -24.1513508190212
2025-11-03T09:40:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8745276752009     dec_j2k = -24.1513508190212
2025-11-03T09:40:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967676553017098;171.162351965909;_
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967676553017098;171.162351965909;_
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55387)
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:36.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8198653, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967676553017098, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.8991942, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91896, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8745276752009, telescope_dec_j2k=-24.1513508190212, observability=1)
2025-11-03T09:40:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:36
2025-11-03T09:40:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38314318656921387s
2025-11-03T09:40:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38314318656921387
2025-11-03T09:40:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:37
2025-11-03T09:40:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9798765182495117s
2025-11-03T09:40:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9798765182495117
2025-11-03T09:40:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:38
2025-11-03T09:40:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979985237121582s
2025-11-03T09:40:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.899773;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91954;2460982.81988845;9.67730861;1.3;_
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.899773;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91954;2460982.81988845;9.67730861;1.3;_
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.899773, teldec = -24.256611
2025-11-03T09:40:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.899773 -24.256611
2025-11-03T09:40:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.899773 -24.256611
2025-11-03T09:40:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.899773 -24.256611
2025-11-03T09:40:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.899773;-24.256611;50.108564;89.993054;50.08601;90.12017;11.91954;2460982.81988847;9.67730861;1.3;_14.8751059899003 -24.1513651978131
2025-11-03T09:40:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8751059899003     dec_j2k = -24.1513651978131
2025-11-03T09:40:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967676553017098;171.162351965909;_
2025-11-03T09:40:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967676553017098;171.162351965909;_
2025-11-03T09:40:38.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45743)
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81988845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967676553017098, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.899773, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.91954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8751059899003, telescope_dec_j2k=-24.1513651978131, observability=1)
2025-11-03T09:40:38.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:38
2025-11-03T09:40:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37795066833496094s
2025-11-03T09:40:38.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37795066833496094
2025-11-03T09:40:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:39
2025-11-03T09:40:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9785556793212891s
2025-11-03T09:40:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9785556793212891
2025-11-03T09:40:40.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:40
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799392223358154s
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9003059;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92007;2460982.81991162;9.67784;1.3;_
2025-11-03T09:40:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9003059;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92007;2460982.81991162;9.67784;1.3;_
2025-11-03T09:40:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:40.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9003059, teldec = -24.256611
2025-11-03T09:40:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9003059 -24.256611
2025-11-03T09:40:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9003059 -24.256611
2025-11-03T09:40:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9003059 -24.256611
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9003059;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92007;2460982.81991166;9.67784;1.3;_14.8756384431354 -24.1513784385052
2025-11-03T09:40:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8756384431354     dec_j2k = -24.1513784385052
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967682569808519;171.162357330327;_
2025-11-03T09:40:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967682569808519;171.162357330327;_
2025-11-03T09:40:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:40.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43727)
2025-11-03T09:40:40.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:40.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:40.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:40.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:40.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81991162, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967682569808519, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9003059, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92007, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8756384431354, telescope_dec_j2k=-24.1513784385052, observability=1)
2025-11-03T09:40:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:40
2025-11-03T09:40:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3776969909667969s
2025-11-03T09:40:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3776969909667969
2025-11-03T09:40:41.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:41
2025-11-03T09:40:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812445640563965s
2025-11-03T09:40:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812445640563965
2025-11-03T09:40:42.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:42
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816768169403076s
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9008657;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92063;2460982.81993477;9.67839833;1.3;_
2025-11-03T09:40:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9008657;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92063;2460982.81993477;9.67839833;1.3;_
2025-11-03T09:40:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:42.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9008657, teldec = -24.256611
2025-11-03T09:40:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9008657 -24.256611
2025-11-03T09:40:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9008657 -24.256611
2025-11-03T09:40:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9008657 -24.256611
2025-11-03T09:40:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9008657;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92063;2460982.8199348;9.67839833;1.3;_14.8761977738707 -24.1513923498053
2025-11-03T09:40:42.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8761977738707     dec_j2k = -24.1513923498053
2025-11-03T09:40:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096767815749481;171.162357330327;_
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096767815749481;171.162357330327;_
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34023)
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:42.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:42.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:42.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81993477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096767815749481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9008657, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8761977738707, telescope_dec_j2k=-24.1513923498053, observability=1)
2025-11-03T09:40:42.581 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:42.581 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:42.581 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:42.581 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:42.581 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:42.582 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:40:42.583 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:40:42.584 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:42.637 [DEBUG] [Thread-88703 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:42.637 [DEBUG] [Thread-88703 (handle)] [server.py] [get_status()] Status age = 0.2585000991821289s
2025-11-03T09:40:42.637 [DEBUG] [Thread-88703 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2585000991821289
2025-11-03T09:40:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:42
2025-11-03T09:40:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3819408416748047s
2025-11-03T09:40:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3819408416748047
2025-11-03T09:40:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:43
2025-11-03T09:40:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9803991317749023s
2025-11-03T09:40:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9803991317749023
2025-11-03T09:40:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:44
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814136028289795s
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9014175;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92118;2460982.81995789;9.67894861;1.3;_
2025-11-03T09:40:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9014175;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92118;2460982.81995789;9.67894861;1.3;_
2025-11-03T09:40:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9014175, teldec = -24.256611
2025-11-03T09:40:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9014175 -24.256611
2025-11-03T09:40:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9014175 -24.256611
2025-11-03T09:40:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9014175 -24.256611
2025-11-03T09:40:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9014457;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92121;2460982.81995792;9.67897667;1.3;_14.8767491113644 -24.151406064545
2025-11-03T09:40:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8767491113644     dec_j2k = -24.151406064545
2025-11-03T09:40:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967682970927947;171.162357330327;_
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967682970927947;171.162357330327;_
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47465)
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:44.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:44.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:44.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:44.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81995789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967682970927947, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9014175, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92118, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8767491113644, telescope_dec_j2k=-24.151406064545, observability=1)
2025-11-03T09:40:44.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:44
2025-11-03T09:40:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3927779197692871s
2025-11-03T09:40:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3927779197692871
2025-11-03T09:40:45.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:45
2025-11-03T09:40:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.985759973526001s
2025-11-03T09:40:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.985759973526001
2025-11-03T09:40:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:46
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840984344482422s
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9019782;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92174;2460982.81998105;9.67950778;1.3;_
2025-11-03T09:40:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9019782;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92174;2460982.81998105;9.67950778;1.3;_
2025-11-03T09:40:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9019782, teldec = -24.256611
2025-11-03T09:40:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9019782 -24.256611
2025-11-03T09:40:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9019782 -24.256611
2025-11-03T09:40:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9019782 -24.256611
2025-11-03T09:40:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9019782;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92174;2460982.81998108;9.67950778;1.3;_14.8773093414515 -24.1514200027712
2025-11-03T09:40:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8773093414515     dec_j2k = -24.1514200027712
2025-11-03T09:40:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967684976525087;171.162351965909;_
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967684976525087;171.162351965909;_
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37303)
2025-11-03T09:40:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:46.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:46.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:46.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:46.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.81998105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967684976525087, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9019782, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92174, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8773093414515, telescope_dec_j2k=-24.1514200027712, observability=1)
2025-11-03T09:40:46.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:46
2025-11-03T09:40:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38211703300476074s
2025-11-03T09:40:46.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38211703300476074
2025-11-03T09:40:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:47
2025-11-03T09:40:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820427894592285s
2025-11-03T09:40:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820427894592285
2025-11-03T09:40:48.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:48
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821803569793701s
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9025381;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9223;2460982.82000421;9.68006611;1.3;_
2025-11-03T09:40:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9025381;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9223;2460982.82000421;9.68006611;1.3;_
2025-11-03T09:40:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9025381, teldec = -24.256611
2025-11-03T09:40:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9025381 -24.256611
2025-11-03T09:40:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9025381 -24.256611
2025-11-03T09:40:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9025381 -24.256611
2025-11-03T09:40:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9025381;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9223;2460982.82000424;9.68006611;1.3;_14.8778687722626 -24.1514339234046
2025-11-03T09:40:48.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8778687722626     dec_j2k = -24.1514339234046
2025-11-03T09:40:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967678558614238;171.162346601491;_
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967678558614238;171.162346601491;_
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36185)
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:48.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:48.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82000421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967678558614238, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9025381, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8778687722626, telescope_dec_j2k=-24.1514339234046, observability=1)
2025-11-03T09:40:48.752 [DEBUG] [Thread-88704 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:48.752 [DEBUG] [Thread-88704 (handle)] [server.py] [get_status()] Status age = 0.36781930923461914s
2025-11-03T09:40:48.752 [DEBUG] [Thread-88704 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36781930923461914
2025-11-03T09:40:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:48
2025-11-03T09:40:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38135313987731934s
2025-11-03T09:40:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38135313987731934
2025-11-03T09:40:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:49
2025-11-03T09:40:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9763054847717285s
2025-11-03T09:40:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9763054847717285
2025-11-03T09:40:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:50
2025-11-03T09:40:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764690399169922s
2025-11-03T09:40:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9030907;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92286;2460982.82002734;9.68061722;1.3;_
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9030907;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92286;2460982.82002734;9.68061722;1.3;_
2025-11-03T09:40:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9030907, teldec = -24.256611
2025-11-03T09:40:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9030907 -24.256611
2025-11-03T09:40:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9030907 -24.256611
2025-11-03T09:40:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9030907 -24.256611
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9030907;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92286;2460982.82002737;9.68061722;1.3;_14.8784209092435 -24.1514476647878
2025-11-03T09:40:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8784209092435     dec_j2k = -24.1514476647878
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967684575405659;171.162351965909;_
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967684575405659;171.162351965909;_
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59145)
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:50.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:50.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:50.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82002734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967684575405659, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9030907, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92286, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8784209092435, telescope_dec_j2k=-24.1514476647878, observability=1)
2025-11-03T09:40:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:50
2025-11-03T09:40:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3881044387817383s
2025-11-03T09:40:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3881044387817383
2025-11-03T09:40:51.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:51
2025-11-03T09:40:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9854624271392822s
2025-11-03T09:40:51.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9854624271392822
2025-11-03T09:40:52.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:52
2025-11-03T09:40:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985900640487671s
2025-11-03T09:40:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9036511;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92342;2460982.82005051;9.68117611;1.3;_
2025-11-03T09:40:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9036511;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92342;2460982.82005051;9.68117611;1.3;_
2025-11-03T09:40:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9036511, teldec = -24.256611
2025-11-03T09:40:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9036511 -24.256611
2025-11-03T09:40:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9036511 -24.256611
2025-11-03T09:40:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9036511 -24.256611
2025-11-03T09:40:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9036511;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92342;2460982.82005053;9.68117611;1.3;_14.8789808397419 -24.151461602412
2025-11-03T09:40:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8789808397419     dec_j2k = -24.151461602412
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967682569808519;171.162346601491;_
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967682569808519;171.162346601491;_
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:52.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45345)
2025-11-03T09:40:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:52.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:52.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:52.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82005051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967682569808519, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9036511, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8789808397419, telescope_dec_j2k=-24.151461602412, observability=1)
2025-11-03T09:40:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:52
2025-11-03T09:40:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38578033447265625s
2025-11-03T09:40:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38578033447265625
2025-11-03T09:40:53.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:53
2025-11-03T09:40:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9845292568206787s
2025-11-03T09:40:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9845292568206787
2025-11-03T09:40:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:54
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834599494934082s
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9042012;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92397;2460982.82007365;9.68172472;1.3;_
2025-11-03T09:40:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9042012;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92397;2460982.82007365;9.68172472;1.3;_
2025-11-03T09:40:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9042012, teldec = -24.256611
2025-11-03T09:40:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9042012 -24.256611
2025-11-03T09:40:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9042012 -24.256611
2025-11-03T09:40:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9042012 -24.256611
2025-11-03T09:40:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9042012;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92397;2460982.82007367;9.68172472;1.3;_14.8795304789219 -24.1514752860992
2025-11-03T09:40:54.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8795304789219     dec_j2k = -24.1514752860992
2025-11-03T09:40:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967682168689091;171.162351965909;_
2025-11-03T09:40:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967682168689091;171.162351965909;_
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33247)
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:54.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82007365, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967682168689091, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9042012, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92397, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8795304789219, telescope_dec_j2k=-24.1514752860992, observability=1)
2025-11-03T09:40:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:54
2025-11-03T09:40:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.378140926361084s
2025-11-03T09:40:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.378140926361084
2025-11-03T09:40:55.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:55
2025-11-03T09:40:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9805862903594971s
2025-11-03T09:40:55.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9805862903594971
2025-11-03T09:40:56.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:56
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812839031219482s
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9047625;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92453;2460982.82009682;9.68228444;1.3;_
2025-11-03T09:40:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9047625;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92453;2460982.82009682;9.68228444;1.3;_
2025-11-03T09:40:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9047625, teldec = -24.256611
2025-11-03T09:40:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9047625 -24.256611
2025-11-03T09:40:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9047625 -24.256611
2025-11-03T09:40:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9047625 -24.256611
2025-11-03T09:40:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9047625;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92453;2460982.82009684;9.68228444;1.3;_14.8800913087727 -24.1514892506652
2025-11-03T09:40:56.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8800913087727     dec_j2k = -24.1514892506652
2025-11-03T09:40:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967681366450235;171.162357330327;_
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967681366450235;171.162357330327;_
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40027)
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:56.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:56.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82009682, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967681366450235, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9047625, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92453, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8800913087727, telescope_dec_j2k=-24.1514892506652, observability=1)
2025-11-03T09:40:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:56
2025-11-03T09:40:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3804922103881836s
2025-11-03T09:40:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3804922103881836
2025-11-03T09:40:57.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:57
2025-11-03T09:40:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9788203239440918s
2025-11-03T09:40:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9788203239440918
2025-11-03T09:40:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5811166763305664s
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9052107;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92498;2460982.82011531;9.68273139;1.3;_
2025-11-03T09:40:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.9052107;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92498;2460982.82011531;9.68273139;1.3;_
2025-11-03T09:40:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.9052107, teldec = -24.256611
2025-11-03T09:40:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9052107 -24.256611
2025-11-03T09:40:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9052107 -24.256611
2025-11-03T09:40:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9052107 -24.256611
2025-11-03T09:40:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9052107;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92498;2460982.82011534;9.68273139;1.3;_14.8805391333957 -24.151500403073
2025-11-03T09:40:57.966 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.8805391333957     dec_j2k = -24.151500403073
2025-11-03T09:40:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967685377644515;171.162351965909;_
2025-11-03T09:40:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967685377644515;171.162351965909;_
2025-11-03T09:40:57.967 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:40:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:40:57.974 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36043)
2025-11-03T09:40:57.974 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:57.975 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:57.975 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:57.982 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82011531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967685377644515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9052107, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92498, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8805391333957, telescope_dec_j2k=-24.151500403073, observability=1)
2025-11-03T09:40:58.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:58
2025-11-03T09:40:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37667083740234375s
2025-11-03T09:40:58.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37667083740234375
2025-11-03T09:40:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:58
2025-11-03T09:40:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7789196968078613s
2025-11-03T09:40:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7789196968078613
2025-11-03T09:40:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:40:59
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3790028095245361s
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:40:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:40:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:40:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9056024;-24.256604;50.108564;89.993043;50.08601;90.12016;11.92537;2460982.82013152;9.68312222;1.3;_
2025-11-03T09:40:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9056024;-24.256604;50.108564;89.993043;50.08601;90.12016;11.92537;2460982.82013152;9.68312222;1.3;_
2025-11-03T09:40:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:40:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:40:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:40:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:40:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9056024, teldec = -24.256604
2025-11-03T09:40:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9056024 -24.256604
2025-11-03T09:40:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9056024 -24.256604
2025-11-03T09:40:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9056024 -24.256604
2025-11-03T09:40:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9056024;-24.256604;50.108564;89.993043;50.08601;90.12016;11.92537;2460982.82013154;9.68312222;1.3;_14.8809305062973 -24.1515031509049
2025-11-03T09:40:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8809305062973     dec_j2k = -24.1515031509049
2025-11-03T09:40:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:40:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967684976525087;171.162357330327;_
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967684976525087;171.162357330327;_
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:40:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57573)
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:40:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:40:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:40:59.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:40:59.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:40:59.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82013152, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967684976525087, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993043, telescope_ra=14.9056024, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92537, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8809305062973, telescope_dec_j2k=-24.1515031509049, observability=1)
2025-11-03T09:41:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:00
2025-11-03T09:41:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9787158966064453s
2025-11-03T09:41:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9787158966064453
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Status age = 1.3202769756317139s
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:00.702 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:00.703 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 17;14.9059856;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92575;2460982.82014703;9.68350417;1.3;_
2025-11-03T09:41:00.704 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response 17;14.9059856;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92575;2460982.82014703;9.68350417;1.3;_
2025-11-03T09:41:00.704 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:00.704 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:00.704 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:00.705 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:00.705 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:00.705 [INFO] [Thread-88705 (handle)] [driver.py] [get_status()] Telra = 14.9059856, teldec = -24.256611
2025-11-03T09:41:00.705 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9059856 -24.256611
2025-11-03T09:41:00.705 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9059856 -24.256611
2025-11-03T09:41:00.705 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9059856 -24.256611
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 17;14.9059856;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92575;2460982.82014706;9.68350417;1.3;_14.8813133844813 -24.1515196881083
2025-11-03T09:41:00.706 [INFO] [Thread-88705 (handle)] [driver.py] [get_status()] ra_j2k = 14.8813133844813     dec_j2k = -24.1515196881083
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 140;0.0967686581002799;171.162346601491;_
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response 140;0.0967686581002799;171.162346601491;_
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:00.706 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:00.707 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:00.707 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:00.707 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:00.707 [DEBUG] [Thread-88705 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:00.707 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:00.708 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:00.708 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:00.708 [DEBUG] [Thread-88705 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:00.708 [DEBUG] [Thread-88705 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:00.709 [DEBUG] [Thread-88705 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55969)
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:00.711 [DEBUG] [Thread-88705 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:00.718 [DEBUG] [Thread-88705 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:00.719 [INFO] [Thread-88705 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82014703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967686581002799, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9059856, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92575, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8813133844813, telescope_dec_j2k=-24.1515196881083, observability=1)
2025-11-03T09:41:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:00
2025-11-03T09:41:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04190802574157715s
2025-11-03T09:41:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04190802574157715
2025-11-03T09:41:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:01
2025-11-03T09:41:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.642136812210083s
2025-11-03T09:41:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.642136812210083
2025-11-03T09:41:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:02
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.642054796218872s
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9064354;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9262;2460982.82016624;9.68395278;1.3;_
2025-11-03T09:41:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9064354;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9262;2460982.82016624;9.68395278;1.3;_
2025-11-03T09:41:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9064354, teldec = -24.256611
2025-11-03T09:41:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9064354 -24.256611
2025-11-03T09:41:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9064354 -24.256611
2025-11-03T09:41:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9064354 -24.256611
2025-11-03T09:41:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9064354;-24.256611;50.108564;89.993054;50.08601;90.12017;11.9262;2460982.82016626;9.68395278;1.3;_14.8817628078581 -24.1515308843508
2025-11-03T09:41:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8817628078581     dec_j2k = -24.1515308843508
2025-11-03T09:41:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967684976525087;171.162351965909;_
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967684976525087;171.162351965909;_
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58373)
2025-11-03T09:41:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:02.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:02.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:02.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82016624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967684976525087, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9064354, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9262, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8817628078581, telescope_dec_j2k=-24.1515308843508, observability=1)
2025-11-03T09:41:02.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:02
2025-11-03T09:41:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39788031578063965s
2025-11-03T09:41:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39788031578063965
2025-11-03T09:41:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:03
2025-11-03T09:41:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9813761711120605s
2025-11-03T09:41:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9813761711120605
2025-11-03T09:41:04.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:04
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9886438846588135s
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9069964;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92676;2460982.82018946;9.68451222;1.3;_
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9069964;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92676;2460982.82018946;9.68451222;1.3;_
2025-11-03T09:41:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:04.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9069964, teldec = -24.256611
2025-11-03T09:41:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9069964 -24.256611
2025-11-03T09:41:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9069964 -24.256611
2025-11-03T09:41:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9069964 -24.256611
2025-11-03T09:41:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9069964;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92676;2460982.82018949;9.68451222;1.3;_14.8823233381743 -24.1515448506107
2025-11-03T09:41:04.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8823233381743     dec_j2k = -24.1515448506107
2025-11-03T09:41:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967685377644515;171.162357330327;_
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967685377644515;171.162357330327;_
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56857)
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:04.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:04.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82018946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967685377644515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.9069964, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92676, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8823233381743, telescope_dec_j2k=-24.1515448506107, observability=1)
2025-11-03T09:41:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:04
2025-11-03T09:41:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3765683174133301s
2025-11-03T09:41:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3765683174133301
2025-11-03T09:41:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:05
2025-11-03T09:41:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9768335819244385s
2025-11-03T09:41:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9768335819244385
2025-11-03T09:41:06.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:06
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981086015701294s
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.907576;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92734;2460982.82021258;9.68509028;1.3;_
2025-11-03T09:41:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.907576;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92734;2460982.82021258;9.68509028;1.3;_
2025-11-03T09:41:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:06.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.907576, teldec = -24.256611
2025-11-03T09:41:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.907576 -24.256611
2025-11-03T09:41:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.907576 -24.256611
2025-11-03T09:41:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.907576 -24.256611
2025-11-03T09:41:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.907576;-24.256611;50.108564;89.993054;50.08601;90.12017;11.92734;2460982.8202126;9.68509028;1.3;_14.8829024529746 -24.1515592823374
2025-11-03T09:41:06.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8829024529746     dec_j2k = -24.1515592823374
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967685377644515;171.162362694745;_
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967685377644515;171.162362694745;_
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54819)
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:06.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:06.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:06.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82021258, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967685377644515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993054, telescope_ra=14.907576, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8829024529746, telescope_dec_j2k=-24.1515592823374, observability=1)
2025-11-03T09:41:06.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:06
2025-11-03T09:41:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37922143936157227s
2025-11-03T09:41:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37922143936157227
2025-11-03T09:41:07.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:07
2025-11-03T09:41:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9740879535675049s
2025-11-03T09:41:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9740879535675049
2025-11-03T09:41:08.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:08
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9743938446044922s
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9081089;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92787;2460982.82023568;9.68562167;1.3;_
2025-11-03T09:41:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9081089;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92787;2460982.82023568;9.68562167;1.3;_
2025-11-03T09:41:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9081089, teldec = -24.256611
2025-11-03T09:41:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9081089 -24.256611
2025-11-03T09:41:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9081089 -24.256611
2025-11-03T09:41:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9081089 -24.256611
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9081089;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92787;2460982.82023571;9.68562167;1.3;_14.8834349069194 -24.1515725534243
2025-11-03T09:41:08.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8834349069194     dec_j2k = -24.1515725534243
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967691394435936;171.162368059163;_
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967691394435936;171.162368059163;_
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33239)
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:08.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:08.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:08.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82023568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967691394435936, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9081089, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92787, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8834349069194, telescope_dec_j2k=-24.1515725534243, observability=1)
2025-11-03T09:41:08.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:08
2025-11-03T09:41:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37458181381225586s
2025-11-03T09:41:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37458181381225586
2025-11-03T09:41:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:09
2025-11-03T09:41:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9757418632507324s
2025-11-03T09:41:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9757418632507324
2025-11-03T09:41:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:10
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3749442100524902s
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9087726;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92854;2460982.82026344;9.68628361;1.3;_
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9087726;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92854;2460982.82026344;9.68628361;1.3;_
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:10.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9087726, teldec = -24.256611
2025-11-03T09:41:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9087726 -24.256611
2025-11-03T09:41:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9087726 -24.256611
2025-11-03T09:41:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9087726 -24.256611
2025-11-03T09:41:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9087726;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92854;2460982.82026346;9.68628361;1.3;_14.884098051448 -24.1515890847916
2025-11-03T09:41:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.884098051448     dec_j2k = -24.1515890847916
2025-11-03T09:41:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967686982122227;171.162368059163;_
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967686982122227;171.162368059163;_
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50189)
2025-11-03T09:41:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:10.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:10.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:10.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:10.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82026344, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967686982122227, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9087726, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92854, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.884098051448, telescope_dec_j2k=-24.1515890847916, observability=1)
2025-11-03T09:41:12.630 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:41:12
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.849672794342041s
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:12.630 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:12.631 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:12.631 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:12.632 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:12.632 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:12.632 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:12.632 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:12.632 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:12.633 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.9093066;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92907;2460982.8202851;9.68681611;1.3;_
2025-11-03T09:41:12.633 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;14.9093066;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92907;2460982.8202851;9.68681611;1.3;_
2025-11-03T09:41:12.633 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:12.633 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:12.633 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:12.634 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:12.634 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:12.634 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 14.9093066, teldec = -24.256611
2025-11-03T09:41:12.634 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9093066 -24.256611
2025-11-03T09:41:12.634 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9093066 -24.256611
2025-11-03T09:41:12.634 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9093066 -24.256611
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;14.9093066;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92907;2460982.82028513;9.68681611;1.3;_14.8846316045814 -24.1516023879404
2025-11-03T09:41:12.635 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 14.8846316045814     dec_j2k = -24.1516023879404
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0967687784361084;171.162357330327;_
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0967687784361084;171.162357330327;_
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:12.635 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:12.636 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:12.637 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:12.637 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:12.637 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:12.641 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50721)
2025-11-03T09:41:12.641 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:12.641 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:12.641 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:12.642 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:12.642 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:12.648 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:12.649 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:12.649 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8202851, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967687784361084, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9093066, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92907, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8846316045814, telescope_dec_j2k=-24.1516023879404, observability=1)
2025-11-03T09:41:12.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:12
2025-11-03T09:41:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.018128395080566406s
2025-11-03T09:41:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.018128395080566406
2025-11-03T09:41:12.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:12
2025-11-03T09:41:12.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:12.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03975701332092285s
2025-11-03T09:41:12.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03975701332092285
2025-11-03T09:41:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:12
2025-11-03T09:41:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11411809921264648s
2025-11-03T09:41:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11411809921264648
2025-11-03T09:41:14.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:14
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1263301372528076s
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:14.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9099138;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92968;2460982.82030993;9.68742167;1.3;_
2025-11-03T09:41:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9099138;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92968;2460982.82030993;9.68742167;1.3;_
2025-11-03T09:41:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:14.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9099138, teldec = -24.256611
2025-11-03T09:41:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9099138 -24.256611
2025-11-03T09:41:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9099138 -24.256611
2025-11-03T09:41:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9099138 -24.256611
2025-11-03T09:41:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9099138;-24.256611;50.108564;89.993053;50.08601;90.12017;11.92968;2460982.82030995;9.68742167;1.3;_14.8852382965181 -24.1516175171961
2025-11-03T09:41:14.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8852382965181     dec_j2k = -24.1516175171961
2025-11-03T09:41:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096768858659994;171.162351965909;_
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096768858659994;171.162351965909;_
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:14.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:14.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:14.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:14.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43371)
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:14.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:14.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82030993, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096768858659994, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9099138, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.92968, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8852382965181, telescope_dec_j2k=-24.1516175171961, observability=1)
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.2527828216552734s
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:16.047 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:16.048 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:16.048 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:16.048 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:16.048 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:16.049 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9102503;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93002;2460982.82032464;9.68775722;1.3;_
2025-11-03T09:41:16.049 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9102503;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93002;2460982.82032464;9.68775722;1.3;_
2025-11-03T09:41:16.049 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:16.049 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:16.049 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:16.050 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:16.050 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:16.050 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9102503, teldec = -24.256611
2025-11-03T09:41:16.050 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9102503 -24.256611
2025-11-03T09:41:16.050 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9102503 -24.256611
2025-11-03T09:41:16.050 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9102503 -24.256611
2025-11-03T09:41:16.051 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9102503;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93002;2460982.82032466;9.68775722;1.3;_14.8855745149851 -24.1516259027335
2025-11-03T09:41:16.051 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.8855745149851     dec_j2k = -24.1516259027335
2025-11-03T09:41:16.051 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:16.051 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:16.051 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967692196674792;171.162351965909;_
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967692196674792;171.162351965909;_
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:16.052 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:16.053 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:16.054 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:16.054 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:16.054 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43129)
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:16.058 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:16.065 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:16.065 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:16.065 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:16.065 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:16.066 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:16.066 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:16.066 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:16.066 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:16.066 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:41:16.066 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82032464, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967692196674792, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9102503, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93002, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:40:16.561558', telescope_ra_j2k=14.8855745149851, telescope_dec_j2k=-24.1516259027335, observability=1)
2025-11-03T09:41:16.066 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4359679222106934 seconds ago
2025-11-03T09:41:16.704 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:16.704 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:16.704 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:16.704 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:16.704 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:16.705 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:16.705 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:16.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:16.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:16.706 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:16.706 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:41:16.706 [INFO] [ThreadPoolExecutor-3417_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:41:16.707 [INFO] [ThreadPoolExecutor-3417_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:41:16.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:16
2025-11-03T09:41:16.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:16.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.708824872970581s
2025-11-03T09:41:16.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.708824872970581
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Status age = 2.700192928314209s
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:18.766 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:18.767 [DEBUG] [Thread-88706 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:18.767 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:18.767 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:18.767 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:18.767 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:18.768 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.8203561;9.68851167;1.3;_
2025-11-03T09:41:18.768 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.8203561;9.68851167;1.3;_
2025-11-03T09:41:18.768 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:18.768 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:18.768 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:18.769 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:18.769 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:18.769 [INFO] [Thread-88706 (handle)] [driver.py] [get_status()] Telra = 14.9110068, teldec = -24.256611
2025-11-03T09:41:18.769 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.769 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.769 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.82035613;9.68851167;1.3;_14.8863303821295 -24.1516447576352
2025-11-03T09:41:18.770 [INFO] [Thread-88706 (handle)] [driver.py] [get_status()] ra_j2k = 14.8863303821295     dec_j2k = -24.1516447576352
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 140;0.0967697010107929;171.162357330327;_
2025-11-03T09:41:18.770 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response 140;0.0967697010107929;171.162357330327;_
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:18.771 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:18.772 [DEBUG] [Thread-88706 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.772 [DEBUG] [Thread-88706 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.772 [DEBUG] [Thread-88706 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:18.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:18
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47187)
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7070326805114746s
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:18.773 [DEBUG] [Thread-88706 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.82035619;9.68851167;1.3;_
2025-11-03T09:41:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.82035619;9.68851167;1.3;_
2025-11-03T09:41:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:18.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9110068, teldec = -24.256611
2025-11-03T09:41:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9110068 -24.256611
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9110068;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93077;2460982.82035622;9.68851167;1.3;_14.8863303821295 -24.1516447576352
2025-11-03T09:41:18.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8863303821295     dec_j2k = -24.1516447576352
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967697010107929;171.162357330327;_
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967697010107929;171.162357330327;_
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:18.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:18.780 [DEBUG] [Thread-88706 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:18.780 [INFO] [Thread-88706 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8203561, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967697010107929, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9110068, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8863303821295, telescope_dec_j2k=-24.1516447576352, observability=1)
2025-11-03T09:41:18.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38665)
2025-11-03T09:41:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:18.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:18.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:18.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:18.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82035619, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967697010107929, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9110068, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8863303821295, telescope_dec_j2k=-24.1516447576352, observability=1)
2025-11-03T09:41:19.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:19
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1068592071533203s
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:19.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:19.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:19.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9113146;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93108;2460982.82036918;9.68881861;1.3;_
2025-11-03T09:41:19.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9113146;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93108;2460982.82036918;9.68881861;1.3;_
2025-11-03T09:41:19.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:19.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:19.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:19.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:19.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:19.898 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9113146, teldec = -24.256611
2025-11-03T09:41:19.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9113146 -24.256611
2025-11-03T09:41:19.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9113146 -24.256611
2025-11-03T09:41:19.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9113146 -24.256611
2025-11-03T09:41:19.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9113146;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93108;2460982.8203692;9.68881861;1.3;_14.8866379246652 -24.1516524303953
2025-11-03T09:41:19.899 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8866379246652     dec_j2k = -24.1516524303953
2025-11-03T09:41:19.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:19.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:19.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967689789958224;171.162357330327;_
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967689789958224;171.162357330327;_
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:19.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:19.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:19.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:19.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:19.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:19.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:19.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:19.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:19.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:19.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:19.906 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59049)
2025-11-03T09:41:19.906 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:19.906 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:19.906 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:19.907 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:19.907 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:19.914 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:19.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:19.915 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:19.915 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:19.915 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82036918, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967689789958224, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9113146, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93108, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8866379246652, telescope_dec_j2k=-24.1516524303953, observability=1)
2025-11-03T09:41:19.936 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:19
2025-11-03T09:41:19.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:19.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.020999431610107422s
2025-11-03T09:41:19.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.020999431610107422
2025-11-03T09:41:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:20
2025-11-03T09:41:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8502166271209717s
2025-11-03T09:41:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8502166271209717
2025-11-03T09:41:21.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:21
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5524561405181885s
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:21.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9117533;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93155;2460982.82038736;9.68928417;1.3;_
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9117533;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93155;2460982.82038736;9.68928417;1.3;_
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:21.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:21.470 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9117533, teldec = -24.256611
2025-11-03T09:41:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9117533 -24.256611
2025-11-03T09:41:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9117533 -24.256611
2025-11-03T09:41:21.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9117533 -24.256611
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9117814;-24.256611;50.108564;89.993053;50.08601;90.12017;11.93155;2460982.82038738;9.68928417;1.3;_14.8870762577355 -24.1516633673922
2025-11-03T09:41:21.471 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8870762577355     dec_j2k = -24.1516633673922
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967692998913648;171.162357330327;_
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967692998913648;171.162357330327;_
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:21.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60177)
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:21.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:21.481 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:21.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82038736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967692998913648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108564, telescope_az=89.993053, telescope_ra=14.9117533, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8870762577355, telescope_dec_j2k=-24.1516633673922, observability=1)
2025-11-03T09:41:21.504 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:21
2025-11-03T09:41:21.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:21.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02281641960144043s
2025-11-03T09:41:21.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02281641960144043
2025-11-03T09:41:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:22
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2821335792541504s
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9121176;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93188;2460982.82040237;9.68961944;1.3;_
2025-11-03T09:41:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9121176;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93188;2460982.82040237;9.68961944;1.3;_
2025-11-03T09:41:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9121176, teldec = -24.256611
2025-11-03T09:41:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9121176 -24.256611
2025-11-03T09:41:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9121176 -24.256611
2025-11-03T09:41:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9121176 -24.256611
2025-11-03T09:41:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9121176;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93188;2460982.8204024;9.68961944;1.3;_14.8874402530591 -24.1516724506293
2025-11-03T09:41:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8874402530591     dec_j2k = -24.1516724506293
2025-11-03T09:41:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967690191077652;171.162362694745;_
2025-11-03T09:41:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967690191077652;171.162362694745;_
2025-11-03T09:41:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57791)
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:22.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82040237, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967690191077652, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9121176, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93188, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8874402530591, telescope_dec_j2k=-24.1516724506293, observability=1)
2025-11-03T09:41:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:23
2025-11-03T09:41:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5786428451538086s
2025-11-03T09:41:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5786428451538086
2025-11-03T09:41:23.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:23
2025-11-03T09:41:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6004681587219238s
2025-11-03T09:41:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6004681587219238
2025-11-03T09:41:24.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:24
2025-11-03T09:41:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984494924545288s
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.912678;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93244;2460982.82042556;9.69017833;1.3;_
2025-11-03T09:41:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.912678;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93244;2460982.82042556;9.69017833;1.3;_
2025-11-03T09:41:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.912678, teldec = -24.256611
2025-11-03T09:41:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.912678 -24.256611
2025-11-03T09:41:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.912678 -24.256611
2025-11-03T09:41:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.912678 -24.256611
2025-11-03T09:41:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.912678;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93244;2460982.82042558;9.69017833;1.3;_14.8880001844221 -24.1516864251962
2025-11-03T09:41:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8880001844221     dec_j2k = -24.1516864251962
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967692998913648;171.162357330327;_
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967692998913648;171.162357330327;_
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43385)
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:24.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:24.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:24.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:24.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:24.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82042556, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967692998913648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.912678, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93244, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8880001844221, telescope_dec_j2k=-24.1516864251962, observability=1)
2025-11-03T09:41:25.416 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:25.416 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6317076683044434s
2025-11-03T09:41:25.417 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6317076683044434
2025-11-03T09:41:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:26
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790499210357666s
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9132376;-24.256611;50.108563;89.993053;50.08601;90.12017;11.933;2460982.82044868;9.69073639;1.3;_
2025-11-03T09:41:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9132376;-24.256611;50.108563;89.993053;50.08601;90.12017;11.933;2460982.82044868;9.69073639;1.3;_
2025-11-03T09:41:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9132376, teldec = -24.256611
2025-11-03T09:41:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9132376 -24.256611
2025-11-03T09:41:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9132376 -24.256611
2025-11-03T09:41:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9132376 -24.256611
2025-11-03T09:41:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9132376;-24.256611;50.108563;89.993053;50.08601;90.12017;11.933;2460982.8204487;9.69073639;1.3;_14.8885593165077 -24.1517003820997
2025-11-03T09:41:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8885593165077     dec_j2k = -24.1517003820997
2025-11-03T09:41:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967701021302209;171.162351965909;_
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967701021302209;171.162351965909;_
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33533)
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:26.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:26.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82044868, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967701021302209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9132376, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.933, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8885593165077, telescope_dec_j2k=-24.1517003820997, observability=1)
2025-11-03T09:41:28.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:28
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835789203643799s
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9137894;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93356;2460982.82047189;9.69128667;1.3;_
2025-11-03T09:41:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9137894;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93356;2460982.82047189;9.69128667;1.3;_
2025-11-03T09:41:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:28.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9137894, teldec = -24.256611
2025-11-03T09:41:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9137894 -24.256611
2025-11-03T09:41:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9137894 -24.256611
2025-11-03T09:41:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9137894 -24.256611
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9137894;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93356;2460982.82047192;9.69128667;1.3;_14.8891106551678 -24.151714146701
2025-11-03T09:41:28.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8891106551678     dec_j2k = -24.151714146701
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967695806749645;171.162357330327;_
2025-11-03T09:41:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967695806749645;171.162357330327;_
2025-11-03T09:41:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43577)
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:28.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:28.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:28.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82047189, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967695806749645, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9137894, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93356, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8891106551678, telescope_dec_j2k=-24.151714146701, observability=1)
2025-11-03T09:41:30.749 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:30
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9580795764923096s
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:30.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:30.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:30.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9143496;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93412;2460982.8204948;9.69184528;1.3;_
2025-11-03T09:41:30.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9143496;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93412;2460982.8204948;9.69184528;1.3;_
2025-11-03T09:41:30.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:30.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:30.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:30.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:30.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:30.752 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9143496, teldec = -24.256611
2025-11-03T09:41:30.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9143496 -24.256611
2025-11-03T09:41:30.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9143496 -24.256611
2025-11-03T09:41:30.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9143496 -24.256611
2025-11-03T09:41:30.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9143496;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93412;2460982.82049483;9.69184528;1.3;_14.8896703868583 -24.151728123111
2025-11-03T09:41:30.753 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8896703868583     dec_j2k = -24.151728123111
2025-11-03T09:41:30.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:30.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:30.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:30.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967699416824497;171.162351965909;_
2025-11-03T09:41:30.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967699416824497;171.162351965909;_
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:30.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:30.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44939)
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:30.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:30.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8204948, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967699416824497, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9143496, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93412, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8896703868583, telescope_dec_j2k=-24.151728123111, observability=1)
2025-11-03T09:41:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:30
2025-11-03T09:41:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0058519840240478516s
2025-11-03T09:41:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0058519840240478516
2025-11-03T09:41:30.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:30
2025-11-03T09:41:30.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:30.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021117687225341797s
2025-11-03T09:41:30.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021117687225341797
2025-11-03T09:41:32.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:32
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.89750075340271s
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:32.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:32.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9148813;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93465;2460982.82051701;9.69237556;1.3;_
2025-11-03T09:41:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9148813;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93465;2460982.82051701;9.69237556;1.3;_
2025-11-03T09:41:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:32.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:32.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9148813, teldec = -24.256611
2025-11-03T09:41:32.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9148813 -24.256611
2025-11-03T09:41:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9148813 -24.256611
2025-11-03T09:41:32.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9148813 -24.256611
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9148813;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93465;2460982.82051704;9.69237556;1.3;_14.8902016424237 -24.1517413905922
2025-11-03T09:41:32.673 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8902016424237     dec_j2k = -24.1517413905922
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967693801152504;171.162351965909;_
2025-11-03T09:41:32.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967693801152504;171.162351965909;_
2025-11-03T09:41:32.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:32.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:32.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:32.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:32.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:32.676 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40325)
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:32.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:32.688 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:32.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82051701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967693801152504, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9148813, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93465, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8902016424237, telescope_dec_j2k=-24.1517413905922, observability=1)
2025-11-03T09:41:32.711 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:32
2025-11-03T09:41:32.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:32.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022231101989746094s
2025-11-03T09:41:32.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022231101989746094
2025-11-03T09:41:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:32
2025-11-03T09:41:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07301640510559082s
2025-11-03T09:41:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07301640510559082
2025-11-03T09:41:34.526 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:34
2025-11-03T09:41:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.837949514389038s
2025-11-03T09:41:34.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:34.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:34.528 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9154041;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93517;2460982.82053852;9.69289694;1.3;_
2025-11-03T09:41:34.528 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9154041;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93517;2460982.82053852;9.69289694;1.3;_
2025-11-03T09:41:34.528 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:34.528 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:34.528 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:34.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:34.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:34.529 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9154041, teldec = -24.256611
2025-11-03T09:41:34.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9154041 -24.256611
2025-11-03T09:41:34.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9154041 -24.256611
2025-11-03T09:41:34.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9154041 -24.256611
2025-11-03T09:41:34.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9154041;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93517;2460982.82053854;9.69289694;1.3;_14.8907240054755 -24.151754438002
2025-11-03T09:41:34.530 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8907240054755     dec_j2k = -24.151754438002
2025-11-03T09:41:34.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:34.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:34.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967699416824497;171.162362694745;_
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967699416824497;171.162362694745;_
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:34.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:34.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:34.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:34.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:34.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41137)
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:34.534 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:34.541 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:34.541 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:34.541 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:34.541 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:34.542 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:34.542 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:34.542 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:34.542 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:34.542 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82053852, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967699416824497, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9154041, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8907240054755, telescope_dec_j2k=-24.151754438002, observability=1)
2025-11-03T09:41:34.564 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:34
2025-11-03T09:41:34.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:34.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022255420684814453s
2025-11-03T09:41:34.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022255420684814453
2025-11-03T09:41:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:34
2025-11-03T09:41:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21880316734313965s
2025-11-03T09:41:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21880316734313965
2025-11-03T09:41:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:36
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8190884590148926s
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9159085;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93567;2460982.82055976;9.6934;1.3;_
2025-11-03T09:41:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9159085;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93567;2460982.82055976;9.6934;1.3;_
2025-11-03T09:41:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9159085, teldec = -24.256611
2025-11-03T09:41:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9159085 -24.256611
2025-11-03T09:41:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9159085 -24.256611
2025-11-03T09:41:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9159085 -24.256611
2025-11-03T09:41:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9159085;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93567;2460982.82055978;9.6934;1.3;_14.8912279839502 -24.1517670280953
2025-11-03T09:41:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8912279839502     dec_j2k = -24.1517670280953
2025-11-03T09:41:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967705834735346;171.162351965909;_
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967705834735346;171.162351965909;_
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54779)
2025-11-03T09:41:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:36.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82055976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967705834735346, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9159085, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93567, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8912279839502, telescope_dec_j2k=-24.1517670280953, observability=1)
2025-11-03T09:41:36.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:36
2025-11-03T09:41:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02192974090576172s
2025-11-03T09:41:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02192974090576172
2025-11-03T09:41:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:36
2025-11-03T09:41:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3874094486236572s
2025-11-03T09:41:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3874094486236572
2025-11-03T09:41:36.911 [DEBUG] [Thread-88707 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:36.911 [DEBUG] [Thread-88707 (handle)] [server.py] [get_status()] Status age = 0.5310699939727783s
2025-11-03T09:41:36.911 [DEBUG] [Thread-88707 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5310699939727783
2025-11-03T09:41:37.584 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.584 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.584 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:37.584 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:37.584 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:41:37.585 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:37.586 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:37.587 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:37.588 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:41:37.589 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:37.590 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Park
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:41:37.591 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:41:37.592 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 29;14.9162447;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93601;2460982.82057398;9.69373528;1.3;_Park Command Successful
2025-11-03T09:41:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:38
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826045036315918s
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.916469;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93623;2460982.82058292;9.69395889;1.3;_
2025-11-03T09:41:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.916469;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93623;2460982.82058292;9.69395889;1.3;_
2025-11-03T09:41:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.916469, teldec = -24.256611
2025-11-03T09:41:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.916469 -24.256611
2025-11-03T09:41:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.916469 -24.256611
2025-11-03T09:41:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.916469 -24.256611
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.916469;-24.256611;50.108563;89.993053;50.08601;90.12017;11.93623;2460982.82058294;9.69395889;1.3;_14.8917880155934 -24.15178102065
2025-11-03T09:41:38.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8917880155934     dec_j2k = -24.15178102065
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967702224660494;171.162357330327;_
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967702224660494;171.162357330327;_
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:38.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34199)
2025-11-03T09:41:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:38.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:38.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82058292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967702224660494, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.916469, telescope_dec=-24.256611, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8917880155934, telescope_dec_j2k=-24.15178102065, observability=1)
2025-11-03T09:41:38.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:38
2025-11-03T09:41:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022565841674804688s
2025-11-03T09:41:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022565841674804688
2025-11-03T09:41:38.592 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:41:38.592 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:41:38.592 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:41:38.593 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:41:38.593 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:41:38.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:38
2025-11-03T09:41:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3784775733947754s
2025-11-03T09:41:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3784775733947754
2025-11-03T09:41:39.593 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:41:39.593 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:41:39.593 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:41:39.594 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:41:39.594 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:41:40.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:40
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9876585006713867s
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9170194;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93679;2460982.82060611;9.69450778;1.3;_
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9170194;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93679;2460982.82060611;9.69450778;1.3;_
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:40.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9170194, teldec = -24.25661
2025-11-03T09:41:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9170194 -24.25661
2025-11-03T09:41:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9170194 -24.25661
2025-11-03T09:41:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9170194 -24.25661
2025-11-03T09:41:40.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9170194;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93679;2460982.82060613;9.69450778;1.3;_14.892337955862 -24.1517937633057
2025-11-03T09:41:40.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.892337955862     dec_j2k = -24.1517937633057
2025-11-03T09:41:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:40.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967704230257634;171.162351965909;_
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967704230257634;171.162351965909;_
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:40.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43481)
2025-11-03T09:41:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:40.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:40.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:40.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82060611, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967704230257634, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9170194, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93679, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.892337955862, telescope_dec_j2k=-24.1517937633057, observability=1)
2025-11-03T09:41:40.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:40
2025-11-03T09:41:40.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:40.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022222518920898438s
2025-11-03T09:41:40.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022222518920898438
2025-11-03T09:41:40.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:41:40.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:41:40.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:41:40.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:41:40.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:41:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:40
2025-11-03T09:41:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37358903884887695s
2025-11-03T09:41:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37358903884887695
2025-11-03T09:41:41.595 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:41:41.596 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:41:41.596 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:41.597 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:41.598 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:41.598 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:41.598 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:41.598 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:41.599 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:41.599 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:41:41.599 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:41:41.599 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:41:41.599 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:41:42.600 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:41:42.601 [DEBUG] [ThreadPoolExecutor-3416_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:42.601 [INFO] [ThreadPoolExecutor-3416_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:41:42.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:42
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2799198627471924s
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:42.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:42.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9176642;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93743;2460982.82063274;9.69515083;1.3;_
2025-11-03T09:41:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9176642;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93743;2460982.82063274;9.69515083;1.3;_
2025-11-03T09:41:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:42.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:42.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9176642, teldec = -24.25661
2025-11-03T09:41:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9176642 -24.25661
2025-11-03T09:41:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9176642 -24.25661
2025-11-03T09:41:42.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9176642 -24.25661
2025-11-03T09:41:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9176642;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93743;2460982.82063277;9.69515083;1.3;_14.8929822171912 -24.1518098657789
2025-11-03T09:41:42.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8929822171912     dec_j2k = -24.1518098657789
2025-11-03T09:41:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:42.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096770302689935;171.162346601491;_
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096770302689935;171.162346601491;_
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:42.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:42.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:42.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:42.676 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48203)
2025-11-03T09:41:42.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:42.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:42.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:42.677 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:42.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:42.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:42.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:42.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82063274, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096770302689935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9176642, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8929822171912, telescope_dec_j2k=-24.1518098657789, observability=1)
2025-11-03T09:41:42.707 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:42
2025-11-03T09:41:42.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:42.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02273416519165039s
2025-11-03T09:41:42.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02273416519165039
2025-11-03T09:41:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:42
2025-11-03T09:41:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07676267623901367s
2025-11-03T09:41:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07676267623901367
2025-11-03T09:41:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:44
2025-11-03T09:41:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0785772800445557s
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9182519;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93802;2460982.82065699;9.69573694;1.3;_
2025-11-03T09:41:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9182519;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93802;2460982.82065699;9.69573694;1.3;_
2025-11-03T09:41:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:44.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9182519, teldec = -24.25661
2025-11-03T09:41:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9182519 -24.25661
2025-11-03T09:41:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9182519 -24.25661
2025-11-03T09:41:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9182519 -24.25661
2025-11-03T09:41:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9182519;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93802;2460982.82065701;9.69573694;1.3;_14.8935694262842 -24.151824544943
2025-11-03T09:41:44.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8935694262842     dec_j2k = -24.151824544943
2025-11-03T09:41:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967702224660494;171.162368059163;_
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967702224660494;171.162368059163;_
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34905)
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:44.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82065699, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967702224660494, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9182519, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8935694262842, telescope_dec_j2k=-24.151824544943, observability=1)
2025-11-03T09:41:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:46
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803736209869385s
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9188026;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93857;2460982.82068015;9.69628611;1.3;_
2025-11-03T09:41:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9188026;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93857;2460982.82068015;9.69628611;1.3;_
2025-11-03T09:41:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:46.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9188026, teldec = -24.25661
2025-11-03T09:41:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9188026 -24.25661
2025-11-03T09:41:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9188026 -24.25661
2025-11-03T09:41:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9188026 -24.25661
2025-11-03T09:41:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9188026;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93857;2460982.82068017;9.69628611;1.3;_14.8941196663371 -24.1518383022303
2025-11-03T09:41:46.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8941196663371     dec_j2k = -24.1518383022303
2025-11-03T09:41:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967705834735346;171.162357330327;_
2025-11-03T09:41:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967705834735346;171.162357330327;_
2025-11-03T09:41:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44035)
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:46.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:46.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82068015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967705834735346, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9188026, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93857, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8941196663371, telescope_dec_j2k=-24.1518383022303, observability=1)
2025-11-03T09:41:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:48
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9755134582519531s
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9193633;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93913;2460982.82070326;9.69684528;1.3;_
2025-11-03T09:41:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9193633;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93913;2460982.82070326;9.69684528;1.3;_
2025-11-03T09:41:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9193633, teldec = -24.25661
2025-11-03T09:41:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9193633 -24.25661
2025-11-03T09:41:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9193633 -24.25661
2025-11-03T09:41:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9193633 -24.25661
2025-11-03T09:41:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9193633;-24.25661;50.108563;89.993053;50.08601;90.12017;11.93913;2460982.82070331;9.69684528;1.3;_14.8946798980914 -24.1518523116018
2025-11-03T09:41:48.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8946798980914     dec_j2k = -24.1518523116018
2025-11-03T09:41:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967709845929627;171.162362694745;_
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967709845929627;171.162362694745;_
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47507)
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:48.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:48.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:48.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82070326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967709845929627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9193633, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8946798980914, telescope_dec_j2k=-24.1518523116018, observability=1)
2025-11-03T09:41:48.788 [DEBUG] [Thread-88708 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:48.788 [DEBUG] [Thread-88708 (handle)] [server.py] [get_status()] Status age = 0.007050037384033203s
2025-11-03T09:41:48.788 [DEBUG] [Thread-88708 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.007050037384033203
2025-11-03T09:41:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:50
2025-11-03T09:41:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98366117477417s
2025-11-03T09:41:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9199229;-24.256604;50.108563;89.993043;50.08601;90.12016;11.93969;2460982.82072646;9.69740361;1.3;_
2025-11-03T09:41:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9199229;-24.256604;50.108563;89.993043;50.08601;90.12016;11.93969;2460982.82072646;9.69740361;1.3;_
2025-11-03T09:41:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9199229, teldec = -24.256604
2025-11-03T09:41:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9199229 -24.256604
2025-11-03T09:41:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9199229 -24.256604
2025-11-03T09:41:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9199229 -24.256604
2025-11-03T09:41:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9199229;-24.256604;50.108563;89.993043;50.08601;90.12016;11.93969;2460982.82072648;9.69740361;1.3;_14.8952390316193 -24.1518602958534
2025-11-03T09:41:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8952390316193     dec_j2k = -24.1518602958534
2025-11-03T09:41:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967704631377062;171.162346601491;_
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967704631377062;171.162346601491;_
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60365)
2025-11-03T09:41:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:50.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:50.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82072646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967704631377062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993043, telescope_ra=14.9199229, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.93969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8952390316193, telescope_dec_j2k=-24.1518602958534, observability=1)
2025-11-03T09:41:52.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:52
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.883218765258789s
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:52.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9204457;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94021;2460982.82074848;9.69792472;1.3;_
2025-11-03T09:41:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9204457;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94021;2460982.82074848;9.69792472;1.3;_
2025-11-03T09:41:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:52.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9204457, teldec = -24.25661
2025-11-03T09:41:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9204457 -24.25661
2025-11-03T09:41:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9204457 -24.25661
2025-11-03T09:41:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9204457 -24.25661
2025-11-03T09:41:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9204457;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94021;2460982.82074851;9.69792472;1.3;_14.8957613943219 -24.1518793623866
2025-11-03T09:41:52.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8957613943219     dec_j2k = -24.1518793623866
2025-11-03T09:41:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967707840332486;171.162362694745;_
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967707840332486;171.162362694745;_
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45523)
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:52.678 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:52.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:52.685 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:52.685 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:52.685 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:52.686 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:52.686 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:52.686 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:52.686 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:52.686 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:52.686 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82074848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967707840332486, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9204457, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94021, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8957613943219, telescope_dec_j2k=-24.1518793623866, observability=1)
2025-11-03T09:41:52.707 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:52
2025-11-03T09:41:52.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:52.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021200895309448242s
2025-11-03T09:41:52.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021200895309448242
2025-11-03T09:41:52.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:52
2025-11-03T09:41:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08329939842224121s
2025-11-03T09:41:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08329939842224121
2025-11-03T09:41:54.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:54
2025-11-03T09:41:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0965652465820312s
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:54.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.921034;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9408;2460982.82077296;9.69851139;1.3;_
2025-11-03T09:41:54.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.921034;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9408;2460982.82077296;9.69851139;1.3;_
2025-11-03T09:41:54.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:54.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:54.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:54.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:54.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:54.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.921034, teldec = -24.25661
2025-11-03T09:41:54.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.921034 -24.25661
2025-11-03T09:41:54.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.921034 -24.25661
2025-11-03T09:41:54.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.921034 -24.25661
2025-11-03T09:41:54.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.921034;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9408;2460982.820773;9.69851139;1.3;_14.8963492031945 -24.1518940684564
2025-11-03T09:41:54.787 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8963492031945     dec_j2k = -24.1518940684564
2025-11-03T09:41:54.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:54.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:54.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967705433615918;171.162362694745;_
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967705433615918;171.162362694745;_
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:54.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:54.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:54.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:54.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:54.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33381)
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:54.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:54.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:54.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82077296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967705433615918, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.921034, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8963492031945, telescope_dec_j2k=-24.1518940684564, observability=1)
2025-11-03T09:41:54.963 [DEBUG] [Thread-88709 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:54.963 [DEBUG] [Thread-88709 (handle)] [server.py] [get_status()] Status age = 0.1626899242401123s
2025-11-03T09:41:54.963 [DEBUG] [Thread-88709 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1626899242401123
2025-11-03T09:41:55.024 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:55
2025-11-03T09:41:55.024 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:55.024 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2240912914276123s
2025-11-03T09:41:55.024 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2240912914276123
2025-11-03T09:41:55.046 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:55
2025-11-03T09:41:55.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:55.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24599719047546387s
2025-11-03T09:41:55.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24599719047546387
2025-11-03T09:41:56.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:56
2025-11-03T09:41:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764063358306885s
2025-11-03T09:41:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9215944;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94136;2460982.82079604;9.69907028;1.3;_
2025-11-03T09:41:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9215944;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94136;2460982.82079604;9.69907028;1.3;_
2025-11-03T09:41:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:56.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9215944, teldec = -24.25661
2025-11-03T09:41:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9215944 -24.25661
2025-11-03T09:41:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9215944 -24.25661
2025-11-03T09:41:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9215944 -24.25661
2025-11-03T09:41:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9215944;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94136;2460982.82079606;9.69907028;1.3;_14.8969091354139 -24.1519080794375
2025-11-03T09:41:56.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8969091354139     dec_j2k = -24.1519080794375
2025-11-03T09:41:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967708642571342;171.162351965909;_
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967708642571342;171.162351965909;_
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:56.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52107)
2025-11-03T09:41:56.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:56.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:56.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:56.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:56.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:56.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:56.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82079604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967708642571342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9215944, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94136, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8969091354139, telescope_dec_j2k=-24.1519080794375, observability=1)
2025-11-03T09:41:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1658554077148438s
2025-11-03T09:41:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:41:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:41:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:41:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:41:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:41:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:41:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.92193;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9417;2460982.82080975;9.699405;1.3;_
2025-11-03T09:41:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.92193;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9417;2460982.82080975;9.699405;1.3;_
2025-11-03T09:41:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:41:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:41:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:41:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:41:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.92193, teldec = -24.25661
2025-11-03T09:41:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.92193 -24.25661
2025-11-03T09:41:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.92193 -24.25661
2025-11-03T09:41:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.92193 -24.25661
2025-11-03T09:41:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.92193;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9417;2460982.82080978;9.699405;1.3;_14.8972444553056 -24.1519164711194
2025-11-03T09:41:57.965 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.8972444553056     dec_j2k = -24.1519164711194
2025-11-03T09:41:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:41:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:41:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967710648168483;171.162362694745;_
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967710648168483;171.162362694745;_
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:41:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50205)
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:41:57.969 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:41:57.976 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:41:57.976 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82080975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967710648168483, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.92193, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9417, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8972444553056, telescope_dec_j2k=-24.1519164711194, observability=1)
2025-11-03T09:41:58.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:41:58
2025-11-03T09:41:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:41:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7881741523742676s
2025-11-03T09:41:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7881741523742676
2025-11-03T09:42:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:00
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7834320068359375s
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9227052;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94247;2460982.82084214;9.70017806;1.3;_
2025-11-03T09:42:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9227052;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94247;2460982.82084214;9.70017806;1.3;_
2025-11-03T09:42:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9227052, teldec = -24.25661
2025-11-03T09:42:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9227052 -24.25661
2025-11-03T09:42:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9227052 -24.25661
2025-11-03T09:42:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9227052 -24.25661
2025-11-03T09:42:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9227052;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94247;2460982.82084218;9.70017806;1.3;_14.8980190083594 -24.1519358581384
2025-11-03T09:42:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8980190083594     dec_j2k = -24.1519358581384
2025-11-03T09:42:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967711851526767;171.162351965909;_
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967711851526767;171.162351965909;_
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:00.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39183)
2025-11-03T09:42:00.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:00.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:00.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82084214, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967711851526767, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9227052, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94247, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8980190083594, telescope_dec_j2k=-24.1519358581384, observability=1)
2025-11-03T09:42:01.604 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:01
2025-11-03T09:42:01.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:01.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8281593322753906s
2025-11-03T09:42:01.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8281593322753906
2025-11-03T09:42:01.641 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:01
2025-11-03T09:42:01.641 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:01.641 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8653061389923096s
2025-11-03T09:42:01.642 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8653061389923096
2025-11-03T09:42:02.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:02
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.889986276626587s
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:02.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:02.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9232378;-24.25661;50.108563;89.993053;50.08601;90.12017;11.943;2460982.82086421;9.70070917;1.3;_
2025-11-03T09:42:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9232378;-24.25661;50.108563;89.993053;50.08601;90.12017;11.943;2460982.82086421;9.70070917;1.3;_
2025-11-03T09:42:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:02.669 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9232378, teldec = -24.25661
2025-11-03T09:42:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9232378 -24.25661
2025-11-03T09:42:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9232378 -24.25661
2025-11-03T09:42:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9232378 -24.25661
2025-11-03T09:42:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9232378;-24.25661;50.108563;89.993053;50.08601;90.12017;11.943;2460982.82086424;9.70070917;1.3;_14.8985511639358 -24.1519491804953
2025-11-03T09:42:02.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8985511639358     dec_j2k = -24.1519491804953
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967709444810198;171.162357330327;_
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967709444810198;171.162357330327;_
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35989)
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:02.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:02.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:02.687 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:02.687 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:02.688 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:02.688 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82086421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967709444810198, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9232378, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.943, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8985511639358, telescope_dec_j2k=-24.1519491804953, observability=1)
2025-11-03T09:42:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:02
2025-11-03T09:42:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07160687446594238s
2025-11-03T09:42:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07160687446594238
2025-11-03T09:42:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:03
2025-11-03T09:42:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.67221999168396s
2025-11-03T09:42:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.67221999168396
2025-11-03T09:42:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:04
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6721282005310059s
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9237138;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94348;2460982.82088382;9.70118389;1.3;_
2025-11-03T09:42:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9237138;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94348;2460982.82088382;9.70118389;1.3;_
2025-11-03T09:42:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9237138, teldec = -24.25661
2025-11-03T09:42:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9237138 -24.25661
2025-11-03T09:42:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9237138 -24.25661
2025-11-03T09:42:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9237138 -24.25661
2025-11-03T09:42:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9237138;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94348;2460982.82088384;9.70118389;1.3;_14.8990267667828 -24.1519610888172
2025-11-03T09:42:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.8990267667828     dec_j2k = -24.1519610888172
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967714258243335;171.162357330327;_
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967714258243335;171.162357330327;_
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48237)
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:04.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82088382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967714258243335, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9237138, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.8990267667828, telescope_dec_j2k=-24.1519610888172, observability=1)
2025-11-03T09:42:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:04
2025-11-03T09:42:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798973560333252s
2025-11-03T09:42:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798973560333252
2025-11-03T09:42:05.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:05
2025-11-03T09:42:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9787464141845703s
2025-11-03T09:42:05.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9787464141845703
2025-11-03T09:42:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:06
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802780151367188s
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9242645;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94403;2460982.82090697;9.70173306;1.3;_
2025-11-03T09:42:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9242645;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94403;2460982.82090697;9.70173306;1.3;_
2025-11-03T09:42:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9242645, teldec = -24.25661
2025-11-03T09:42:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9242645 -24.25661
2025-11-03T09:42:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9242645 -24.25661
2025-11-03T09:42:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9242645 -24.25661
2025-11-03T09:42:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9242645;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94403;2460982.82090699;9.70173306;1.3;_14.899577007352 -24.1519748680019
2025-11-03T09:42:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.899577007352     dec_j2k = -24.1519748680019
2025-11-03T09:42:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967714659362763;171.162357330327;_
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967714659362763;171.162357330327;_
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39723)
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:06.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:06.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82090697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967714659362763, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9242645, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94403, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.899577007352, telescope_dec_j2k=-24.1519748680019, observability=1)
2025-11-03T09:42:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:06
2025-11-03T09:42:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38546323776245117s
2025-11-03T09:42:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38546323776245117
2025-11-03T09:42:07.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:07
2025-11-03T09:42:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9872560501098633s
2025-11-03T09:42:07.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9872560501098633
2025-11-03T09:42:08.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:08
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857585430145264s
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9248254;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94459;2460982.82093015;9.7022925;1.3;_
2025-11-03T09:42:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9248254;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94459;2460982.82093015;9.7022925;1.3;_
2025-11-03T09:42:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9248254, teldec = -24.25661
2025-11-03T09:42:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9248254 -24.25661
2025-11-03T09:42:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9248254 -24.25661
2025-11-03T09:42:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9248254 -24.25661
2025-11-03T09:42:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9248254;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94459;2460982.82093017;9.7022925;1.3;_14.9001374394653 -24.151988904671
2025-11-03T09:42:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9001374394653     dec_j2k = -24.151988904671
2025-11-03T09:42:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967713857123907;171.162357330327;_
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967713857123907;171.162357330327;_
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36275)
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:08.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:08.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82093015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967713857123907, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9248254, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94459, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.9001374394653, telescope_dec_j2k=-24.151988904671, observability=1)
2025-11-03T09:42:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:08
2025-11-03T09:42:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37689781188964844s
2025-11-03T09:42:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37689781188964844
2025-11-03T09:42:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:09
2025-11-03T09:42:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9771173000335693s
2025-11-03T09:42:09.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9771173000335693
2025-11-03T09:42:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:10
2025-11-03T09:42:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768295288085938s
2025-11-03T09:42:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9253856;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94515;2460982.82095328;9.70285111;1.3;_
2025-11-03T09:42:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9253856;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94515;2460982.82095328;9.70285111;1.3;_
2025-11-03T09:42:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9253856, teldec = -24.25661
2025-11-03T09:42:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9253856 -24.25661
2025-11-03T09:42:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9253856 -24.25661
2025-11-03T09:42:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9253856 -24.25661
2025-11-03T09:42:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9253856;-24.25661;50.108563;89.993053;50.08601;90.12017;11.94515;2460982.8209533;9.70285111;1.3;_14.9006971722165 -24.1520029261066
2025-11-03T09:42:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9006971722165     dec_j2k = -24.1520029261066
2025-11-03T09:42:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967714258243335;171.162357330327;_
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967714258243335;171.162357330327;_
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47279)
2025-11-03T09:42:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:10.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:10.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:10.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:10.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82095328, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967714258243335, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.9253856, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94515, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.9006971722165, telescope_dec_j2k=-24.1520029261066, observability=1)
2025-11-03T09:42:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:10
2025-11-03T09:42:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3793759346008301s
2025-11-03T09:42:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3793759346008301
2025-11-03T09:42:11.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:11
2025-11-03T09:42:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9786765575408936s
2025-11-03T09:42:11.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9786765575408936
2025-11-03T09:42:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:12
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808037281036377s
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.925936;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9457;2460982.82097642;9.7034;1.3;_
2025-11-03T09:42:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.925936;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9457;2460982.82097642;9.7034;1.3;_
2025-11-03T09:42:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.925936, teldec = -24.25661
2025-11-03T09:42:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.925936 -24.25661
2025-11-03T09:42:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.925936 -24.25661
2025-11-03T09:42:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.925936 -24.25661
2025-11-03T09:42:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.925936;-24.25661;50.108563;89.993053;50.08601;90.12017;11.9457;2460982.82097645;9.7034;1.3;_14.9012471131942 -24.1520167044775
2025-11-03T09:42:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9012471131942     dec_j2k = -24.1520167044775
2025-11-03T09:42:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09677194727959;171.162351965909;_
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09677194727959;171.162351965909;_
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42951)
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:12.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:12.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82097642, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09677194727959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108563, telescope_az=89.993053, telescope_ra=14.925936, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9457, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.9012471131942, telescope_dec_j2k=-24.1520167044775, observability=1)
2025-11-03T09:42:12.710 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:42:12
2025-11-03T09:42:12.710 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:12.710 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3288288116455078s
2025-11-03T09:42:12.710 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3288288116455078
2025-11-03T09:42:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:12
2025-11-03T09:42:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795289993286133s
2025-11-03T09:42:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795289993286133
2025-11-03T09:42:13.105 [DEBUG] [Thread-88710 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:13.105 [DEBUG] [Thread-88710 (handle)] [server.py] [get_status()] Status age = 0.723963737487793s
2025-11-03T09:42:13.105 [DEBUG] [Thread-88710 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.723963737487793
2025-11-03T09:42:13.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:13
2025-11-03T09:42:13.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9782695770263672s
2025-11-03T09:42:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9782695770263672
2025-11-03T09:42:14.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:14
2025-11-03T09:42:14.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:14.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781804084777832s
2025-11-03T09:42:14.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:14.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9264964;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94626;2460982.82099955;9.70395889;1.3;_
2025-11-03T09:42:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9264964;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94626;2460982.82099955;9.70395889;1.3;_
2025-11-03T09:42:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:14.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9264964, teldec = -24.25661
2025-11-03T09:42:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9264964 -24.25661
2025-11-03T09:42:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9264964 -24.25661
2025-11-03T09:42:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9264964 -24.25661
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9264964;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94626;2460982.82099958;9.70395889;1.3;_14.9018070458855 -24.1520307354456
2025-11-03T09:42:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9018070458855     dec_j2k = -24.1520307354456
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967713054885051;171.162346601491;_
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967713054885051;171.162346601491;_
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:14.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60837)
2025-11-03T09:42:14.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:14.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:14.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:14.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:14.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82099955, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967713054885051, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9264964, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94626, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.9018070458855, telescope_dec_j2k=-24.1520307354456, observability=1)
2025-11-03T09:42:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:14
2025-11-03T09:42:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38461732864379883s
2025-11-03T09:42:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38461732864379883
2025-11-03T09:42:15.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:15
2025-11-03T09:42:15.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:15.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834163188934326s
2025-11-03T09:42:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834163188934326
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.7496137619018555s
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:16.126 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:16.127 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9270008;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94677;2460982.82101999;9.70446194;1.3;_
2025-11-03T09:42:16.127 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9270008;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94677;2460982.82101999;9.70446194;1.3;_
2025-11-03T09:42:16.127 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:16.127 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:16.127 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:16.128 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:16.128 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:16.128 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9270008, teldec = -24.25661
2025-11-03T09:42:16.128 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9270008 -24.25661
2025-11-03T09:42:16.128 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9270008 -24.25661
2025-11-03T09:42:16.129 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9270008 -24.25661
2025-11-03T09:42:16.129 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9270008;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94677;2460982.82102001;9.70446194;1.3;_14.9023110253206 -24.152043366271
2025-11-03T09:42:16.130 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9023110253206     dec_j2k = -24.152043366271
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967722280631896;171.162362694745;_
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967722280631896;171.162362694745;_
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:16.130 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:16.131 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:16.131 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:16.131 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:16.131 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:16.132 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:16.132 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:16.132 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:16.132 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:16.133 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:16.133 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:16.133 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58287)
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:16.136 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:16.143 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:16.144 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:16.144 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:42:16.144 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82101999, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967722280631896, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9270008, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:41:16.704191', telescope_ra_j2k=14.9023110253206, telescope_dec_j2k=-24.152043366271, observability=1)
2025-11-03T09:42:16.144 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.433927536010742 seconds ago
2025-11-03T09:42:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:16
2025-11-03T09:42:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2179253101348877s
2025-11-03T09:42:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2179253101348877
2025-11-03T09:42:16.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:16
2025-11-03T09:42:16.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:16.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6454136371612549s
2025-11-03T09:42:16.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6454136371612549
2025-11-03T09:42:16.846 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:16.846 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:16.846 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:16.846 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:16.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:16.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:16.847 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:16.848 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:16.848 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:16.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:16.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:16.849 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:16.849 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:42:16.849 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:16.849 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:16.849 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:16.849 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:16.849 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:42:16.850 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:42:16.851 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:17
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2166705131530762s
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:17.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:17.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9273365;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9471;2460982.82103428;9.70479667;1.3;_
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9273365;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9471;2460982.82103428;9.70479667;1.3;_
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:17.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:17.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9273365, teldec = -24.25661
2025-11-03T09:42:17.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9273365 -24.25661
2025-11-03T09:42:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9273365 -24.25661
2025-11-03T09:42:17.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9273365 -24.25661
2025-11-03T09:42:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9273365;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9471;2460982.82103432;9.70479667;1.3;_14.9026464454407 -24.1520517736564
2025-11-03T09:42:17.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9026464454407     dec_j2k = -24.1520517736564
2025-11-03T09:42:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:17.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967714258243335;171.162368059163;_
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967714258243335;171.162368059163;_
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:17.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:17.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:17.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53961)
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:17.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:17.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:17.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82103428, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967714258243335, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9273365, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9026464454407, telescope_dec_j2k=-24.1520517736564, observability=1)
2025-11-03T09:42:17.851 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:17.851 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:17.851 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:17.851 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:17.851 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:42:17.852 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:17.853 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:17.854 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:17.854 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:17.854 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:17.854 [DEBUG] [ThreadPoolExecutor-3418_0] [payload.py] [to_registers()] [0]
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46585)
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:17.855 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:17.863 [DEBUG] [ThreadPoolExecutor-3418_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:18.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:18
2025-11-03T09:42:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9810826778411865s
2025-11-03T09:42:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9810826778411865
2025-11-03T09:42:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:18
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.385416030883789s
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9277197;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94749;2460982.82105052;9.70517889;1.3;_
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9277197;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94749;2460982.82105052;9.70517889;1.3;_
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9277197, teldec = -24.25661
2025-11-03T09:42:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9277197 -24.25661
2025-11-03T09:42:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9277197 -24.25661
2025-11-03T09:42:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9277197 -24.25661
2025-11-03T09:42:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9277197;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94749;2460982.82105056;9.70517889;1.3;_14.9030293259828 -24.1520613716493
2025-11-03T09:42:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9030293259828     dec_j2k = -24.1520613716493
2025-11-03T09:42:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967717868318188;171.162357330327;_
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967717868318188;171.162357330327;_
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36231)
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82105052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967717868318188, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9277197, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94749, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9030293259828, telescope_dec_j2k=-24.1520613716493, observability=1)
2025-11-03T09:42:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:19
2025-11-03T09:42:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5790464878082275s
2025-11-03T09:42:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5790464878082275
2025-11-03T09:42:20.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:20
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5765395164489746s
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:20.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9281679;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94793;2460982.82106899;9.70562583;1.3;_
2025-11-03T09:42:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9281679;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94793;2460982.82106899;9.70562583;1.3;_
2025-11-03T09:42:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:20.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9281679, teldec = -24.25661
2025-11-03T09:42:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9281679 -24.25661
2025-11-03T09:42:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9281679 -24.25661
2025-11-03T09:42:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9281679 -24.25661
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9281679;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94793;2460982.82106902;9.70562583;1.3;_14.9034771523691 -24.1520725990486
2025-11-03T09:42:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9034771523691     dec_j2k = -24.1520725990486
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967725890706749;171.162346601491;_
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967725890706749;171.162346601491;_
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49657)
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:20.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:20.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:20.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:20.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82106899, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967725890706749, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9281679, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9034771523691, telescope_dec_j2k=-24.1520725990486, observability=1)
2025-11-03T09:42:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:20
2025-11-03T09:42:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38036322593688965s
2025-11-03T09:42:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38036322593688965
2025-11-03T09:42:21.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:21
2025-11-03T09:42:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0566327571868896s
2025-11-03T09:42:21.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:21.437 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:21.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:21.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9284763;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94824;2460982.82108146;9.70593333;1.3;_
2025-11-03T09:42:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9284763;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94824;2460982.82108146;9.70593333;1.3;_
2025-11-03T09:42:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:21.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:21.440 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9284763, teldec = -24.25661
2025-11-03T09:42:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9284763 -24.25661
2025-11-03T09:42:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9284763 -24.25661
2025-11-03T09:42:21.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9284763 -24.25661
2025-11-03T09:42:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9284763;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94824;2460982.82108149;9.70593333;1.3;_14.903785295311 -24.1520803253092
2025-11-03T09:42:21.441 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.903785295311     dec_j2k = -24.1520803253092
2025-11-03T09:42:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:21.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967719071676472;171.162351965909;_
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967719071676472;171.162351965909;_
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:21.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:21.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:21.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:21.445 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35313)
2025-11-03T09:42:21.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:21.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:21.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:21.446 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:21.446 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:21.452 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:21.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82108146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967719071676472, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9284763, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94824, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.903785295311, telescope_dec_j2k=-24.1520803253092, observability=1)
2025-11-03T09:42:22.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:22
2025-11-03T09:42:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.907813549041748s
2025-11-03T09:42:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.907813549041748
2025-11-03T09:42:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:22
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3082036972045898s
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.92884;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94861;2460982.82109679;9.70629611;1.3;_
2025-11-03T09:42:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.92884;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94861;2460982.82109679;9.70629611;1.3;_
2025-11-03T09:42:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.92884, teldec = -24.25661
2025-11-03T09:42:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.92884 -24.25661
2025-11-03T09:42:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.92884 -24.25661
2025-11-03T09:42:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.92884 -24.25661
2025-11-03T09:42:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.92884;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94861;2460982.82109682;9.70629611;1.3;_14.9041486921801 -24.1520894378738
2025-11-03T09:42:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9041486921801     dec_j2k = -24.1520894378738
2025-11-03T09:42:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096772147839304;171.162362694745;_
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096772147839304;171.162362694745;_
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47525)
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82109679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096772147839304, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.92884, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94861, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9041486921801, telescope_dec_j2k=-24.1520894378738, observability=1)
2025-11-03T09:42:23.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:23
2025-11-03T09:42:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5826928615570068s
2025-11-03T09:42:23.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5826928615570068
2025-11-03T09:42:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:24
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5801000595092773s
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9292787;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94904;2460982.8211153;9.70673361;1.3;_
2025-11-03T09:42:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9292787;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94904;2460982.8211153;9.70673361;1.3;_
2025-11-03T09:42:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9292787, teldec = -24.25661
2025-11-03T09:42:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9292787 -24.25661
2025-11-03T09:42:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9292787 -24.25661
2025-11-03T09:42:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9292787 -24.25661
2025-11-03T09:42:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9292787;-24.25661;50.108562;89.993053;50.08601;90.12017;11.94904;2460982.82111532;9.70673361;1.3;_14.9045870265697 -24.1521004308551
2025-11-03T09:42:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9045870265697     dec_j2k = -24.1521004308551
2025-11-03T09:42:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967721879512468;171.162351965909;_
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967721879512468;171.162351965909;_
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38441)
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:24.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:24.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8211153, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967721879512468, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9292787, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.94904, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9045870265697, telescope_dec_j2k=-24.1521004308551, observability=1)
2025-11-03T09:42:24.509 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:24.510 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.13228988647460938s
2025-11-03T09:42:24.510 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13228988647460938
2025-11-03T09:42:24.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:24
2025-11-03T09:42:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3805253505706787s
2025-11-03T09:42:24.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3805253505706787
2025-11-03T09:42:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:25
2025-11-03T09:42:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9824991226196289s
2025-11-03T09:42:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9824991226196289
2025-11-03T09:42:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:26
2025-11-03T09:42:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984196662902832s
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9298389;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9496;2460982.82113847;9.70729222;1.3;_
2025-11-03T09:42:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9298389;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9496;2460982.82113847;9.70729222;1.3;_
2025-11-03T09:42:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9298389, teldec = -24.25661
2025-11-03T09:42:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9298389 -24.25661
2025-11-03T09:42:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9298389 -24.25661
2025-11-03T09:42:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9298389 -24.25661
2025-11-03T09:42:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9298389;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9496;2460982.8211385;9.70729222;1.3;_14.90514675975 -24.1521144704265
2025-11-03T09:42:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.90514675975     dec_j2k = -24.1521144704265
2025-11-03T09:42:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967723885109608;171.162362694745;_
2025-11-03T09:42:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967723885109608;171.162362694745;_
2025-11-03T09:42:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:26.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50949)
2025-11-03T09:42:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:26.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:26.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82113847, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967723885109608, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9298389, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9496, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.90514675975, telescope_dec_j2k=-24.1521144704265, observability=1)
2025-11-03T09:42:26.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:26
2025-11-03T09:42:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37942957878112793s
2025-11-03T09:42:26.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37942957878112793
2025-11-03T09:42:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:27
2025-11-03T09:42:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9809403419494629s
2025-11-03T09:42:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9809403419494629
2025-11-03T09:42:28.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:28
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809894561767578s
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:28.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9303993;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95017;2460982.8211616;9.70785111;1.3;_
2025-11-03T09:42:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9303993;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95017;2460982.8211616;9.70785111;1.3;_
2025-11-03T09:42:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:28.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9303993, teldec = -24.25661
2025-11-03T09:42:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9303993 -24.25661
2025-11-03T09:42:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9303993 -24.25661
2025-11-03T09:42:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9303993 -24.25661
2025-11-03T09:42:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9303993;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95017;2460982.82116162;9.70785111;1.3;_14.9057066928177 -24.1521285172916
2025-11-03T09:42:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9057066928177     dec_j2k = -24.1521285172916
2025-11-03T09:42:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967729099662173;171.162362694745;_
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967729099662173;171.162362694745;_
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57215)
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:28.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:28.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8211616, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967729099662173, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9303993, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9057066928177, telescope_dec_j2k=-24.1521285172916, observability=1)
2025-11-03T09:42:28.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:28
2025-11-03T09:42:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.381702184677124s
2025-11-03T09:42:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.381702184677124
2025-11-03T09:42:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:29
2025-11-03T09:42:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.981635332107544s
2025-11-03T09:42:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.981635332107544
2025-11-03T09:42:30.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:30
2025-11-03T09:42:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808385372161865s
2025-11-03T09:42:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:30.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9309592;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95073;2460982.82118473;9.70840944;1.3;_
2025-11-03T09:42:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9309592;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95073;2460982.82118473;9.70840944;1.3;_
2025-11-03T09:42:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9309592, teldec = -24.25661
2025-11-03T09:42:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9309592 -24.25661
2025-11-03T09:42:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9309592 -24.25661
2025-11-03T09:42:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9309592 -24.25661
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9309592;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95073;2460982.82118477;9.70840944;1.3;_14.906266126356 -24.152142553902
2025-11-03T09:42:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.906266126356     dec_j2k = -24.152142553902
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967722280631896;171.162357330327;_
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967722280631896;171.162357330327;_
2025-11-03T09:42:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33399)
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:30.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:30.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82118473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967722280631896, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9309592, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95073, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.906266126356, telescope_dec_j2k=-24.152142553902, observability=1)
2025-11-03T09:42:30.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:30
2025-11-03T09:42:30.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.379086971282959s
2025-11-03T09:42:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.379086971282959
2025-11-03T09:42:31.156 [DEBUG] [Thread-88711 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:31.156 [DEBUG] [Thread-88711 (handle)] [server.py] [get_status()] Status age = 0.775585412979126s
2025-11-03T09:42:31.156 [DEBUG] [Thread-88711 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.775585412979126
2025-11-03T09:42:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:31
2025-11-03T09:42:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9800491333007812s
2025-11-03T09:42:31.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9800491333007812
2025-11-03T09:42:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:32
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796268939971924s
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9315104;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95128;2460982.82120789;9.70895917;1.3;_
2025-11-03T09:42:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9315104;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95128;2460982.82120789;9.70895917;1.3;_
2025-11-03T09:42:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9315104, teldec = -24.25661
2025-11-03T09:42:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9315104 -24.25661
2025-11-03T09:42:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9315104 -24.25661
2025-11-03T09:42:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9315104 -24.25661
2025-11-03T09:42:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9315104;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95128;2460982.82120792;9.70895917;1.3;_14.9068168671951 -24.152156374629
2025-11-03T09:42:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9068168671951     dec_j2k = -24.152156374629
2025-11-03T09:42:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967726692945605;171.162357330327;_
2025-11-03T09:42:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967726692945605;171.162357330327;_
2025-11-03T09:42:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35829)
2025-11-03T09:42:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:32.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:32.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:32.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82120789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967726692945605, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9315104, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95128, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9068168671951, telescope_dec_j2k=-24.152156374629, observability=1)
2025-11-03T09:42:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:32
2025-11-03T09:42:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37955403327941895s
2025-11-03T09:42:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37955403327941895
2025-11-03T09:42:33.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:33
2025-11-03T09:42:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9779243469238281s
2025-11-03T09:42:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9779243469238281
2025-11-03T09:42:34.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:34
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983180046081543s
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9320705;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95184;2460982.82123109;9.70951778;1.3;_
2025-11-03T09:42:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9320705;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95184;2460982.82123109;9.70951778;1.3;_
2025-11-03T09:42:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:34.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9320705, teldec = -24.25661
2025-11-03T09:42:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9320705 -24.25661
2025-11-03T09:42:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9320705 -24.25661
2025-11-03T09:42:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9320705 -24.25661
2025-11-03T09:42:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9320705;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95184;2460982.82123111;9.70951778;1.3;_14.9073765006739 -24.1521704207738
2025-11-03T09:42:34.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9073765006739     dec_j2k = -24.1521704207738
2025-11-03T09:42:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967726692945605;171.162357330327;_
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967726692945605;171.162357330327;_
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45119)
2025-11-03T09:42:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:34.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:34.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:34.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82123109, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967726692945605, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9320705, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95184, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9073765006739, telescope_dec_j2k=-24.1521704207738, observability=1)
2025-11-03T09:42:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:34
2025-11-03T09:42:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37966322898864746s
2025-11-03T09:42:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37966322898864746
2025-11-03T09:42:35.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:35
2025-11-03T09:42:35.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:35.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9845666885375977s
2025-11-03T09:42:35.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9845666885375977
2025-11-03T09:42:36.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:36
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.006992816925049s
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9326304;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9524;2460982.82125451;9.71007611;1.3;_
2025-11-03T09:42:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9326304;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9524;2460982.82125451;9.71007611;1.3;_
2025-11-03T09:42:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:36.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9326304, teldec = -24.25661
2025-11-03T09:42:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9326304 -24.25661
2025-11-03T09:42:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9326304 -24.25661
2025-11-03T09:42:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9326304 -24.25661
2025-11-03T09:42:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9326304;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9524;2460982.82125454;9.71007611;1.3;_14.9079359343734 -24.1521844641798
2025-11-03T09:42:36.392 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9079359343734     dec_j2k = -24.1521844641798
2025-11-03T09:42:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967729500781601;171.162351965909;_
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967729500781601;171.162351965909;_
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:36.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:36.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:36.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:36.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:36.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:36.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:36.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:36.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:36.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:36.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51935)
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:36.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:36.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:36.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:36.404 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:36.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:36.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82125451, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967729500781601, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9326304, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9079359343734, telescope_dec_j2k=-24.1521844641798, observability=1)
2025-11-03T09:42:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:36
2025-11-03T09:42:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35724687576293945s
2025-11-03T09:42:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35724687576293945
2025-11-03T09:42:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:37
2025-11-03T09:42:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9556119441986084s
2025-11-03T09:42:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9556119441986084
2025-11-03T09:42:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:38
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9561944007873535s
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9331808;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95295;2460982.82127734;9.710625;1.3;_
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9331808;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95295;2460982.82127734;9.710625;1.3;_
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9331808, teldec = -24.25661
2025-11-03T09:42:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9331808 -24.25661
2025-11-03T09:42:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9331808 -24.25661
2025-11-03T09:42:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9331808 -24.25661
2025-11-03T09:42:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9331808;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95295;2460982.82127736;9.710625;1.3;_14.9084858760373 -24.1521982715254
2025-11-03T09:42:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9084858760373     dec_j2k = -24.1521982715254
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967726692945605;171.162346601491;_
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967726692945605;171.162346601491;_
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37941)
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:38.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82127734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967726692945605, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9331808, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95295, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9084858760373, telescope_dec_j2k=-24.1521982715254, observability=1)
2025-11-03T09:42:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:38
2025-11-03T09:42:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38066649436950684s
2025-11-03T09:42:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38066649436950684
2025-11-03T09:42:39.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:39
2025-11-03T09:42:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9768369197845459s
2025-11-03T09:42:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9768369197845459
2025-11-03T09:42:40.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:40
2025-11-03T09:42:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0289738178253174s
2025-11-03T09:42:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:40.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9337415;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95354;2460982.82130108;9.71121222;1.3;_
2025-11-03T09:42:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9337415;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95354;2460982.82130108;9.71121222;1.3;_
2025-11-03T09:42:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:40.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:40.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:40.415 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9337415, teldec = -24.25661
2025-11-03T09:42:40.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9337415 -24.25661
2025-11-03T09:42:40.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9337415 -24.25661
2025-11-03T09:42:40.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9337415 -24.25661
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9337696;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95354;2460982.82130111;9.71121222;1.3;_14.9090461091778 -24.1522123395183
2025-11-03T09:42:40.416 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9090461091778     dec_j2k = -24.1522123395183
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:40.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44779)
2025-11-03T09:42:40.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:40.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:40.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:40.422 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:40.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:40.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:40.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82130108, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967731506378742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9337415, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95354, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9090461091778, telescope_dec_j2k=-24.1522123395183, observability=1)
2025-11-03T09:42:40.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:40
2025-11-03T09:42:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.329270601272583s
2025-11-03T09:42:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.329270601272583
2025-11-03T09:42:41.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:41
2025-11-03T09:42:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9564082622528076s
2025-11-03T09:42:41.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9564082622528076
2025-11-03T09:42:42.458 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:42
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.028879165649414s
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:42.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:42.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:42.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9343292;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9541;2460982.82132477;9.71177028;1.3;_
2025-11-03T09:42:42.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9343292;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9541;2460982.82132477;9.71177028;1.3;_
2025-11-03T09:42:42.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:42.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:42.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:42.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:42.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:42.461 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9343292, teldec = -24.25661
2025-11-03T09:42:42.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9343292 -24.25661
2025-11-03T09:42:42.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9343292 -24.25661
2025-11-03T09:42:42.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9343292 -24.25661
2025-11-03T09:42:42.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9343292;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9541;2460982.82132479;9.71177028;1.3;_14.9096333198953 -24.1522270873922
2025-11-03T09:42:42.463 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9096333198953     dec_j2k = -24.1522270873922
2025-11-03T09:42:42.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:42.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:42.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967728297423317;171.162368059163;_
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967728297423317;171.162368059163;_
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:42.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:42.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32931)
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:42.468 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:42.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:42.476 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:42.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:42.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82132477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967728297423317, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9343292, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9541, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9096333198953, telescope_dec_j2k=-24.1522270873922, observability=1)
2025-11-03T09:42:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:42
2025-11-03T09:42:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.284198522567749s
2025-11-03T09:42:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.284198522567749
2025-11-03T09:42:42.863 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:42.863 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:42.863 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:42.863 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:42.863 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:42.864 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:42:42.865 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:43
2025-11-03T09:42:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8836522102355957s
2025-11-03T09:42:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8836522102355957
2025-11-03T09:42:44.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:44
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8883147239685059s
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9348517;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95462;2460982.82134683;9.71229139;1.3;_
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9348517;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95462;2460982.82134683;9.71229139;1.3;_
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9348517, teldec = -24.25661
2025-11-03T09:42:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9348517 -24.25661
2025-11-03T09:42:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9348517 -24.25661
2025-11-03T09:42:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9348517 -24.25661
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9348517;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95462;2460982.82134686;9.71229139;1.3;_14.9101553849442 -24.1522402012279
2025-11-03T09:42:44.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9101553849442     dec_j2k = -24.1522402012279
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096773190749817;171.162368059163;_
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096773190749817;171.162368059163;_
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35025)
2025-11-03T09:42:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:44.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:44.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:44.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82134683, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096773190749817, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9348517, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95462, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9101553849442, telescope_dec_j2k=-24.1522402012279, observability=1)
2025-11-03T09:42:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:44
2025-11-03T09:42:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37891507148742676s
2025-11-03T09:42:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37891507148742676
2025-11-03T09:42:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:45
2025-11-03T09:42:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796688556671143s
2025-11-03T09:42:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796688556671143
2025-11-03T09:42:46.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:46
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812092781066895s
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9354124;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95518;2460982.82136994;9.71285056;1.3;_
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9354124;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95518;2460982.82136994;9.71285056;1.3;_
2025-11-03T09:42:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9354124, teldec = -24.25661
2025-11-03T09:42:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9354124 -24.25661
2025-11-03T09:42:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9354124 -24.25661
2025-11-03T09:42:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9354124 -24.25661
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9354124;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95518;2460982.82136998;9.71285056;1.3;_14.9107156182462 -24.1522542760204
2025-11-03T09:42:46.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9107156182462     dec_j2k = -24.1522542760204
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967734314214738;171.162351965909;_
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967734314214738;171.162351965909;_
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37567)
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:46.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:46.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82136994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967734314214738, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9354124, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95518, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9107156182462, telescope_dec_j2k=-24.1522542760204, observability=1)
2025-11-03T09:42:46.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:46
2025-11-03T09:42:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3849666118621826s
2025-11-03T09:42:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3849666118621826
2025-11-03T09:42:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:47
2025-11-03T09:42:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9802587032318115s
2025-11-03T09:42:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9802587032318115
2025-11-03T09:42:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:48
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782419204711914s
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9359726;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95574;2460982.82139308;9.71340917;1.3;_
2025-11-03T09:42:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9359726;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95574;2460982.82139308;9.71340917;1.3;_
2025-11-03T09:42:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9359726, teldec = -24.25661
2025-11-03T09:42:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9359726 -24.25661
2025-11-03T09:42:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9359726 -24.25661
2025-11-03T09:42:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9359726 -24.25661
2025-11-03T09:42:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9359726;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95574;2460982.8213931;9.71340917;1.3;_14.9112753520186 -24.1522683405399
2025-11-03T09:42:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9112753520186     dec_j2k = -24.1522683405399
2025-11-03T09:42:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096773591869245;171.162357330327;_
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096773591869245;171.162357330327;_
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:48.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45771)
2025-11-03T09:42:48.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:48.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:48.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:48.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:48.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:48.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82139308, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096773591869245, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9359726, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95574, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9112753520186, telescope_dec_j2k=-24.1522683405399, observability=1)
2025-11-03T09:42:48.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:48
2025-11-03T09:42:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3828086853027344s
2025-11-03T09:42:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3828086853027344
2025-11-03T09:42:48.831 [DEBUG] [Thread-88712 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:48.831 [DEBUG] [Thread-88712 (handle)] [server.py] [get_status()] Status age = 0.44956183433532715s
2025-11-03T09:42:48.831 [DEBUG] [Thread-88712 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44956183433532715
2025-11-03T09:42:49.239 [DEBUG] [Thread-88713 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:49.239 [DEBUG] [Thread-88713 (handle)] [server.py] [get_status()] Status age = 0.8579146862030029s
2025-11-03T09:42:49.239 [DEBUG] [Thread-88713 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8579146862030029
2025-11-03T09:42:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:49
2025-11-03T09:42:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9788141250610352s
2025-11-03T09:42:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9788141250610352
2025-11-03T09:42:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:50
2025-11-03T09:42:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3790698051452637s
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.936635;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9564;2460982.82142087;9.71406972;1.3;_
2025-11-03T09:42:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.936635;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9564;2460982.82142087;9.71406972;1.3;_
2025-11-03T09:42:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.936635, teldec = -24.25661
2025-11-03T09:42:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.936635 -24.25661
2025-11-03T09:42:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.936635 -24.25661
2025-11-03T09:42:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.936635 -24.25661
2025-11-03T09:42:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.936635;-24.25661;50.108562;89.993053;50.08601;90.12017;11.9564;2460982.82142089;9.71406972;1.3;_14.9119372008046 -24.1522849738555
2025-11-03T09:42:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9119372008046     dec_j2k = -24.1522849738555
2025-11-03T09:42:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45113)
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:50.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:50.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:50.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82142087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967731506378742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.936635, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9119372008046, telescope_dec_j2k=-24.1522849738555, observability=1)
2025-11-03T09:42:51.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:51
2025-11-03T09:42:51.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:51.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9761264324188232s
2025-11-03T09:42:51.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9761264324188232
2025-11-03T09:42:51.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:51
2025-11-03T09:42:51.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:51.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9982664585113525s
2025-11-03T09:42:51.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9982664585113525
2025-11-03T09:42:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:52
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831387996673584s
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9371951;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95696;2460982.82144399;9.71462833;1.3;_
2025-11-03T09:42:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9371951;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95696;2460982.82144399;9.71462833;1.3;_
2025-11-03T09:42:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9371951, teldec = -24.25661
2025-11-03T09:42:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9371951 -24.25661
2025-11-03T09:42:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9371951 -24.25661
2025-11-03T09:42:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9371951 -24.25661
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9371951;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95696;2460982.82144403;9.71462833;1.3;_14.9124968347783 -24.1522990408317
2025-11-03T09:42:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9124968347783     dec_j2k = -24.1522990408317
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967731506378742;171.162357330327;_
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44347)
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:52.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:52.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:52.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:52.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82144399, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967731506378742, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9371951, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9124968347783, telescope_dec_j2k=-24.1522990408317, observability=1)
2025-11-03T09:42:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:53
2025-11-03T09:42:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5790915489196777s
2025-11-03T09:42:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5790915489196777
2025-11-03T09:42:53.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:53
2025-11-03T09:42:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6015985012054443s
2025-11-03T09:42:53.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6015985012054443
2025-11-03T09:42:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:54
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782304763793945s
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9377555;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95752;2460982.82146715;9.71518722;1.3;_
2025-11-03T09:42:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9377555;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95752;2460982.82146715;9.71518722;1.3;_
2025-11-03T09:42:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9377555, teldec = -24.25661
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9377555 -24.25661
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9377555 -24.25661
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9377555 -24.25661
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9377555;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95752;2460982.82146718;9.71518722;1.3;_14.9130567685565 -24.1523131176196
2025-11-03T09:42:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9130567685565     dec_j2k = -24.1523131176196
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967741133245015;171.162368059163;_
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967741133245015;171.162368059163;_
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56907)
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82146715, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967741133245015, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9377555, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95752, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9130567685565, telescope_dec_j2k=-24.1523131176196, observability=1)
2025-11-03T09:42:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:55
2025-11-03T09:42:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5807781219482422s
2025-11-03T09:42:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5807781219482422
2025-11-03T09:42:55.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:55
2025-11-03T09:42:55.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:55.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6080048084259033s
2025-11-03T09:42:55.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6080048084259033
2025-11-03T09:42:56.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:56
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9992890357971191s
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9383148;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95808;2460982.82149051;9.715745;1.3;_
2025-11-03T09:42:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9383148;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95808;2460982.82149051;9.715745;1.3;_
2025-11-03T09:42:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:56.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9383148, teldec = -24.25661
2025-11-03T09:42:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9383148 -24.25661
2025-11-03T09:42:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9383148 -24.25661
2025-11-03T09:42:56.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9383148 -24.25661
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9383148;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95808;2460982.82149054;9.715745;1.3;_14.913615603304 -24.1523271690471
2025-11-03T09:42:56.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.913615603304     dec_j2k = -24.1523271690471
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967739528767303;171.162351965909;_
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967739528767303;171.162351965909;_
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:56.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:56.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:56.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:56.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:42:56.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60681)
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:56.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:56.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:56.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:56.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82149051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739528767303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9383148, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95808, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.913615603304, telescope_dec_j2k=-24.1523271690471, observability=1)
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3240630626678467s
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:42:58.123 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9386978;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95846;2460982.82150606;9.71612694;1.3;_
2025-11-03T09:42:58.124 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.9386978;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95846;2460982.82150606;9.71612694;1.3;_
2025-11-03T09:42:58.125 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:42:58.125 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:42:58.125 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:42:58.126 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:58.126 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:42:58.126 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.9386978, teldec = -24.25661
2025-11-03T09:42:58.126 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9386978 -24.25661
2025-11-03T09:42:58.126 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9386978 -24.25661
2025-11-03T09:42:58.126 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9386978 -24.25661
2025-11-03T09:42:58.127 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9386978;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95846;2460982.8215061;9.71612694;1.3;_14.9139982847373 -24.152336792556
2025-11-03T09:42:58.127 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.9139982847373     dec_j2k = -24.152336792556
2025-11-03T09:42:58.127 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:42:58.127 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:42:58.127 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967739929886731;171.162357330327;_
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967739929886731;171.162357330327;_
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:58.128 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:42:58.129 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:42:58.130 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:58.130 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:42:58.130 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49521)
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:42:58.132 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:42:58.139 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:42:58.139 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:42:58.140 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:42:58.140 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82150606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739929886731, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9386978, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95846, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9139982847373, telescope_dec_j2k=-24.152336792556, observability=1)
2025-11-03T09:42:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:42:58
2025-11-03T09:42:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:42:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6204814910888672s
2025-11-03T09:42:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6204814910888672
2025-11-03T09:43:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:00
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.62018084526062s
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9394268;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95919;2460982.82153659;9.71685389;1.3;_
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9394268;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95919;2460982.82153659;9.71685389;1.3;_
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9394268, teldec = -24.25661
2025-11-03T09:43:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9394268 -24.25661
2025-11-03T09:43:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9394268 -24.25661
2025-11-03T09:43:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9394268 -24.25661
2025-11-03T09:43:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9394268;-24.25661;50.108562;89.993053;50.08601;90.12017;11.95919;2460982.82153661;9.71685389;1.3;_14.9147266784494 -24.1523551128261
2025-11-03T09:43:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9147266784494     dec_j2k = -24.1523551128261
2025-11-03T09:43:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967737122050734;171.162357330327;_
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967737122050734;171.162357330327;_
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53619)
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:00.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82153659, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967737122050734, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108562, telescope_az=89.993053, telescope_ra=14.9394268, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95919, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9147266784494, telescope_dec_j2k=-24.1523551128261, observability=1)
2025-11-03T09:43:02.340 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:02
2025-11-03T09:43:02.340 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:02.340 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5605690479278564s
2025-11-03T09:43:02.340 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:02.341 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:02.341 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:02.341 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:02.341 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:02.341 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:02.342 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:02.343 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9398747;-24.25661;50.108561;89.993053;50.08601;90.12017;11.95964;2460982.8215549;9.71730056;1.3;_
2025-11-03T09:43:02.343 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9398747;-24.25661;50.108561;89.993053;50.08601;90.12017;11.95964;2460982.8215549;9.71730056;1.3;_
2025-11-03T09:43:02.343 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:02.343 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:02.343 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:02.344 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:02.344 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:02.344 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9398747, teldec = -24.25661
2025-11-03T09:43:02.344 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9398747 -24.25661
2025-11-03T09:43:02.344 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9398747 -24.25661
2025-11-03T09:43:02.344 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9398747 -24.25661
2025-11-03T09:43:02.345 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9398747;-24.25661;50.108561;89.993053;50.08601;90.12017;11.95964;2460982.82155492;9.71730056;1.3;_14.9151742059897 -24.152366370771
2025-11-03T09:43:02.345 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9151742059897     dec_j2k = -24.152366370771
2025-11-03T09:43:02.345 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:02.345 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:02.345 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967743138842155;171.162351965909;_
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967743138842155;171.162351965909;_
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:02.346 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:02.347 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:02.348 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:02.348 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:02.348 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56059)
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:02.349 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:02.356 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:02.356 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8215549, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967743138842155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9398747, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.95964, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9151742059897, telescope_dec_j2k=-24.152366370771, observability=1)
2025-11-03T09:43:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:02
2025-11-03T09:43:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02459406852722168s
2025-11-03T09:43:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02459406852722168
2025-11-03T09:43:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:02
2025-11-03T09:43:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4046053886413574s
2025-11-03T09:43:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4046053886413574
2025-11-03T09:43:04.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:04
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.006404161453247s
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.940425;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96019;2460982.8215783;9.71784944;1.3;_
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.940425;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96019;2460982.8215783;9.71784944;1.3;_
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.940425, teldec = -24.25661
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.940425 -24.25661
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.940425 -24.25661
2025-11-03T09:43:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.940425 -24.25661
2025-11-03T09:43:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.940425;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96019;2460982.82157831;9.71784944;1.3;_14.9157240484247 -24.1523802045257
2025-11-03T09:43:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9157240484247     dec_j2k = -24.1523802045257
2025-11-03T09:43:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967738325409018;171.162357330327;_
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967738325409018;171.162357330327;_
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:04.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43743)
2025-11-03T09:43:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:04.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:04.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:04.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:04.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8215783, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967738325409018, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.940425, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9157240484247, telescope_dec_j2k=-24.1523802045257, observability=1)
2025-11-03T09:43:04.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:04
2025-11-03T09:43:04.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:04.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027523040771484375s
2025-11-03T09:43:04.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027523040771484375
2025-11-03T09:43:04.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:04
2025-11-03T09:43:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38167667388916016s
2025-11-03T09:43:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38167667388916016
2025-11-03T09:43:06.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:06
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803786277770996s
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9409894;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96076;2460982.82160144;9.71841222;1.3;_
2025-11-03T09:43:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9409894;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96076;2460982.82160144;9.71841222;1.3;_
2025-11-03T09:43:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9409894, teldec = -24.25661
2025-11-03T09:43:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9409894 -24.25661
2025-11-03T09:43:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9409894 -24.25661
2025-11-03T09:43:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9409894 -24.25661
2025-11-03T09:43:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9409894;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96076;2460982.82160147;9.71841222;1.3;_14.9162879791901 -24.152394395014
2025-11-03T09:43:06.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9162879791901     dec_j2k = -24.152394395014
2025-11-03T09:43:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967739528767303;171.162351965909;_
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967739528767303;171.162351965909;_
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41491)
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:06.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:06.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82160144, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739528767303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9409894, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96076, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9162879791901, telescope_dec_j2k=-24.152394395014, observability=1)
2025-11-03T09:43:06.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:06
2025-11-03T09:43:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02254939079284668s
2025-11-03T09:43:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02254939079284668
2025-11-03T09:43:06.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:06
2025-11-03T09:43:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824644088745117s
2025-11-03T09:43:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824644088745117
2025-11-03T09:43:07.359 [DEBUG] [Thread-88714 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:07.359 [DEBUG] [Thread-88714 (handle)] [server.py] [get_status()] Status age = 0.9742512702941895s
2025-11-03T09:43:07.359 [DEBUG] [Thread-88714 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9742512702941895
2025-11-03T09:43:08.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:08
2025-11-03T09:43:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9761831760406494s
2025-11-03T09:43:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9415412;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96131;2460982.82162457;9.7189625;1.3;_
2025-11-03T09:43:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9415412;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96131;2460982.82162457;9.7189625;1.3;_
2025-11-03T09:43:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9415412, teldec = -24.25661
2025-11-03T09:43:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9415412 -24.25661
2025-11-03T09:43:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9415412 -24.25661
2025-11-03T09:43:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9415412 -24.25661
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9415412;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96131;2460982.82162461;9.7189625;1.3;_14.9168393204843 -24.1524082709369
2025-11-03T09:43:08.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9168393204843     dec_j2k = -24.1524082709369
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967733511975882;171.162357330327;_
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967733511975882;171.162357330327;_
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40315)
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:08.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:08.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82162457, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967733511975882, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9415412, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96131, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9168393204843, telescope_dec_j2k=-24.1524082709369, observability=1)
2025-11-03T09:43:08.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:08
2025-11-03T09:43:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022755146026611328s
2025-11-03T09:43:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022755146026611328
2025-11-03T09:43:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:08
2025-11-03T09:43:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38285231590270996s
2025-11-03T09:43:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38285231590270996
2025-11-03T09:43:10.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:10
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9856388568878174s
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9421035;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96187;2460982.82164775;9.71952333;1.3;_
2025-11-03T09:43:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9421035;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96187;2460982.82164775;9.71952333;1.3;_
2025-11-03T09:43:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:10.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9421035, teldec = -24.25661
2025-11-03T09:43:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9421035 -24.25661
2025-11-03T09:43:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9421035 -24.25661
2025-11-03T09:43:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9421035 -24.25661
2025-11-03T09:43:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9421035;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96187;2460982.82164778;9.71952333;1.3;_14.917401153104 -24.1524224131691
2025-11-03T09:43:10.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.917401153104     dec_j2k = -24.1524224131691
2025-11-03T09:43:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096773591869245;171.162351965909;_
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096773591869245;171.162351965909;_
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41221)
2025-11-03T09:43:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:10.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:10.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:10.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:10.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:10.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82164775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096773591869245, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9421035, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96187, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.917401153104, telescope_dec_j2k=-24.1524224131691, observability=1)
2025-11-03T09:43:10.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:10
2025-11-03T09:43:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023177623748779297s
2025-11-03T09:43:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023177623748779297
2025-11-03T09:43:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:10
2025-11-03T09:43:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37456488609313965s
2025-11-03T09:43:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37456488609313965
2025-11-03T09:43:12.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:12
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9741921424865723s
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9426539;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96242;2460982.82167084;9.72007222;1.3;_
2025-11-03T09:43:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9426539;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96242;2460982.82167084;9.72007222;1.3;_
2025-11-03T09:43:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:12.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9426539, teldec = -24.25661
2025-11-03T09:43:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9426539 -24.25661
2025-11-03T09:43:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9426539 -24.25661
2025-11-03T09:43:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9426539 -24.25661
2025-11-03T09:43:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9426539;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96242;2460982.82167087;9.72007222;1.3;_14.9179510956678 -24.1524362583264
2025-11-03T09:43:12.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9179510956678     dec_j2k = -24.1524362583264
2025-11-03T09:43:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967739127647875;171.162357330327;_
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967739127647875;171.162357330327;_
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57461)
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:12.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:12.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82167084, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739127647875, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9426539, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96242, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9179510956678, telescope_dec_j2k=-24.1524362583264, observability=1)
2025-11-03T09:43:12.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:12
2025-11-03T09:43:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02342367172241211s
2025-11-03T09:43:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02342367172241211
2025-11-03T09:43:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:12
2025-11-03T09:43:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3801405429840088s
2025-11-03T09:43:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3801405429840088
2025-11-03T09:43:12.771 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:43:12
2025-11-03T09:43:12.771 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:12.771 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3905332088470459s
2025-11-03T09:43:12.771 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3905332088470459
2025-11-03T09:43:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:14
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980485200881958s
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9432143;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96298;2460982.82169402;9.72063111;1.3;_
2025-11-03T09:43:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9432143;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96298;2460982.82169402;9.72063111;1.3;_
2025-11-03T09:43:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9432143, teldec = -24.25661
2025-11-03T09:43:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9432143 -24.25661
2025-11-03T09:43:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9432143 -24.25661
2025-11-03T09:43:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9432143 -24.25661
2025-11-03T09:43:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9432143;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96298;2460982.82169404;9.72063111;1.3;_14.9185110299745 -24.1524503572854
2025-11-03T09:43:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9185110299745     dec_j2k = -24.1524503572854
2025-11-03T09:43:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967738726528447;171.162351965909;_
2025-11-03T09:43:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967738726528447;171.162351965909;_
2025-11-03T09:43:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34639)
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:14.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:14.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82169402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967738726528447, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9432143, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96298, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9185110299745, telescope_dec_j2k=-24.1524503572854, observability=1)
2025-11-03T09:43:14.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:14
2025-11-03T09:43:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0224606990814209s
2025-11-03T09:43:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0224606990814209
2025-11-03T09:43:14.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:14
2025-11-03T09:43:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38585519790649414s
2025-11-03T09:43:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38585519790649414
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.824462652206421s
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:16.204 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:16.205 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:16.206 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9437185;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96348;2460982.82171535;9.72113389;1.3;_
2025-11-03T09:43:16.206 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9437185;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96348;2460982.82171535;9.72113389;1.3;_
2025-11-03T09:43:16.206 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:16.206 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:16.206 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:16.207 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:16.207 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:16.207 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9437185, teldec = -24.25661
2025-11-03T09:43:16.207 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9437185 -24.25661
2025-11-03T09:43:16.207 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9437185 -24.25661
2025-11-03T09:43:16.207 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9437185 -24.25661
2025-11-03T09:43:16.208 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9437185;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96348;2460982.82171537;9.72113389;1.3;_14.9190148110298 -24.1524630442668
2025-11-03T09:43:16.208 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9190148110298     dec_j2k = -24.1524630442668
2025-11-03T09:43:16.208 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967739929886731;171.162357330327;_
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967739929886731;171.162357330327;_
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:16.209 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:16.210 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:16.210 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:16.210 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:16.210 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:16.210 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:16.211 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:16.211 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:16.211 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:16.211 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50293)
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:16.216 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:16.223 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:16.223 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:16.223 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:16.224 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:43:16.224 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82171535, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739929886731, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9437185, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:42:16.846199', telescope_ra_j2k=14.9190148110298, telescope_dec_j2k=-24.1524630442668, observability=1)
2025-11-03T09:43:16.224 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4530160427093506 seconds ago
2025-11-03T09:43:16.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:16
2025-11-03T09:43:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5410678386688232s
2025-11-03T09:43:16.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5410678386688232
2025-11-03T09:43:16.989 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:16.989 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:16.989 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:16.989 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:16.989 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:16.990 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:16.990 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:16.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:16.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:16.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:16.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:16.991 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:16.991 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:43:16.991 [INFO] [ThreadPoolExecutor-3419_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:43:16.992 [INFO] [ThreadPoolExecutor-3419_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:43:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:18
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.545292615890503s
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9444371;-24.25661;50.108561;89.993053;50.08601;90.12017;11.9642;2460982.82174503;9.72185056;1.3;_
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9444371;-24.25661;50.108561;89.993053;50.08601;90.12017;11.9642;2460982.82174503;9.72185056;1.3;_
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9444371, teldec = -24.25661
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9444371 -24.25661
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9444371 -24.25661
2025-11-03T09:43:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9444371 -24.25661
2025-11-03T09:43:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9444371;-24.25661;50.108561;89.993053;50.08601;90.12017;11.9642;2460982.82174505;9.72185056;1.3;_14.9197328140142 -24.1524811292906
2025-11-03T09:43:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9197328140142     dec_j2k = -24.1524811292906
2025-11-03T09:43:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967744743319867;171.162362694745;_
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967744743319867;171.162362694745;_
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48129)
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:18.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:18.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82174503, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967744743319867, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9444371, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9642, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9197328140142, telescope_dec_j2k=-24.1524811292906, observability=1)
2025-11-03T09:43:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:20
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9700944423675537s
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9449976;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96476;2460982.82176808;9.72240944;1.3;_
2025-11-03T09:43:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9449976;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96476;2460982.82176808;9.72240944;1.3;_
2025-11-03T09:43:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9449976, teldec = -24.25661
2025-11-03T09:43:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9449976 -24.25661
2025-11-03T09:43:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9449976 -24.25661
2025-11-03T09:43:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9449976 -24.25661
2025-11-03T09:43:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9449976;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96476;2460982.8217681;9.72240944;1.3;_14.9202928484106 -24.1524952380033
2025-11-03T09:43:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9202928484106     dec_j2k = -24.1524952380033
2025-11-03T09:43:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967743941081011;171.162357330327;_
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967743941081011;171.162357330327;_
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48323)
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:20.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:20.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:20.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82176808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967743941081011, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9449976, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9202928484106, telescope_dec_j2k=-24.1524952380033, observability=1)
2025-11-03T09:43:21.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:21
2025-11-03T09:43:21.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:21.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6374819278717041s
2025-11-03T09:43:21.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6374819278717041
2025-11-03T09:43:21.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:21
2025-11-03T09:43:21.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:21.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6645069122314453s
2025-11-03T09:43:21.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6645069122314453
2025-11-03T09:43:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:22
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9846913814544678s
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9455577;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96532;2460982.82179124;9.72296806;1.3;_
2025-11-03T09:43:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9455577;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96532;2460982.82179124;9.72296806;1.3;_
2025-11-03T09:43:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9455577, teldec = -24.25661
2025-11-03T09:43:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9455577 -24.25661
2025-11-03T09:43:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9455577 -24.25661
2025-11-03T09:43:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9455577 -24.25661
2025-11-03T09:43:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9455577;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96532;2460982.82179126;9.72296806;1.3;_14.9208524831936 -24.1525093389192
2025-11-03T09:43:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9208524831936     dec_j2k = -24.1525093389192
2025-11-03T09:43:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967733511975882;171.162357330327;_
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967733511975882;171.162357330327;_
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40535)
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:22.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82179124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967733511975882, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9455577, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96532, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9208524831936, telescope_dec_j2k=-24.1525093389192, observability=1)
2025-11-03T09:43:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:23
2025-11-03T09:43:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5807223320007324s
2025-11-03T09:43:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5807223320007324
2025-11-03T09:43:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:23
2025-11-03T09:43:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6022977828979492s
2025-11-03T09:43:23.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6022977828979492
2025-11-03T09:43:23.598 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:23.598 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8165998458862305s
2025-11-03T09:43:23.598 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8165998458862305
2025-11-03T09:43:24.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:24
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843707084655762s
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9461081;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96587;2460982.82181444;9.72351694;1.3;_
2025-11-03T09:43:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9461081;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96587;2460982.82181444;9.72351694;1.3;_
2025-11-03T09:43:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9461081, teldec = -24.25661
2025-11-03T09:43:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9461081 -24.25661
2025-11-03T09:43:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9461081 -24.25661
2025-11-03T09:43:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9461081 -24.25661
2025-11-03T09:43:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9461081;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96587;2460982.82181447;9.72351694;1.3;_14.9214024260862 -24.1525231978428
2025-11-03T09:43:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9214024260862     dec_j2k = -24.1525231978428
2025-11-03T09:43:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967747150036436;171.162362694745;_
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967747150036436;171.162362694745;_
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44389)
2025-11-03T09:43:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:24.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:24.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:24.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82181444, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967747150036436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9461081, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9214024260862, telescope_dec_j2k=-24.1525231978428, observability=1)
2025-11-03T09:43:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:25
2025-11-03T09:43:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.577075719833374s
2025-11-03T09:43:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.577075719833374
2025-11-03T09:43:25.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:25
2025-11-03T09:43:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5995628833770752s
2025-11-03T09:43:25.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5995628833770752
2025-11-03T09:43:25.427 [DEBUG] [Thread-88715 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:25.427 [DEBUG] [Thread-88715 (handle)] [server.py] [get_status()] Status age = 0.6442689895629883s
2025-11-03T09:43:25.427 [DEBUG] [Thread-88715 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6442689895629883
2025-11-03T09:43:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:26
2025-11-03T09:43:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854321479797363s
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9466688;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96643;2460982.82183763;9.72407611;1.3;_
2025-11-03T09:43:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9466688;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96643;2460982.82183763;9.72407611;1.3;_
2025-11-03T09:43:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9466688, teldec = -24.25661
2025-11-03T09:43:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9466688 -24.25661
2025-11-03T09:43:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9466688 -24.25661
2025-11-03T09:43:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9466688 -24.25661
2025-11-03T09:43:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9466688;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96643;2460982.82183765;9.72407611;1.3;_14.9219626604787 -24.152537318372
2025-11-03T09:43:26.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9219626604787     dec_j2k = -24.152537318372
2025-11-03T09:43:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096774835339472;171.162357330327;_
2025-11-03T09:43:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096774835339472;171.162357330327;_
2025-11-03T09:43:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:26.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56645)
2025-11-03T09:43:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:26.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:26.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:26.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82183763, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096774835339472, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9466688, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9219626604787, telescope_dec_j2k=-24.152537318372, observability=1)
2025-11-03T09:43:27.977 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:27
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1869926452636719s
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:27.977 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:27.978 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:27.979 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.947005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96677;2460982.8218516;9.72441139;1.3;_
2025-11-03T09:43:27.979 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.947005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96677;2460982.8218516;9.72441139;1.3;_
2025-11-03T09:43:27.979 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:27.979 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:27.979 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:27.980 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:27.980 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:27.980 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.947005, teldec = -24.25661
2025-11-03T09:43:27.980 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.947005 -24.25661
2025-11-03T09:43:27.980 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.947005 -24.25661
2025-11-03T09:43:27.980 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.947005 -24.25661
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.947005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96677;2460982.82185163;9.72441139;1.3;_14.9222985813229 -24.1525457862402
2025-11-03T09:43:27.981 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9222985813229     dec_j2k = -24.1525457862402
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967743138842155;171.162351965909;_
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967743138842155;171.162351965909;_
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:27.981 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:27.982 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:27.982 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:27.982 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:27.982 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:27.982 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:27.983 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:27.983 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:27.983 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:27.983 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34621)
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:27.987 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:27.994 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:27.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:27.995 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8218516, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967743138842155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.947005, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9222985813229, telescope_dec_j2k=-24.1525457862402, observability=1)
2025-11-03T09:43:28.016 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:28
2025-11-03T09:43:28.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:28.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02192068099975586s
2025-11-03T09:43:28.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02192068099975586
2025-11-03T09:43:28.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:28
2025-11-03T09:43:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7725684642791748s
2025-11-03T09:43:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7725684642791748
2025-11-03T09:43:30.156 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:30
2025-11-03T09:43:30.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1619012355804443s
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:30.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:30.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:30.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9476208;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96739;2460982.82187684;9.72502556;1.3;_
2025-11-03T09:43:30.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9476208;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96739;2460982.82187684;9.72502556;1.3;_
2025-11-03T09:43:30.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:30.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:30.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:30.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:30.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:30.160 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9476208, teldec = -24.25661
2025-11-03T09:43:30.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9476208 -24.25661
2025-11-03T09:43:30.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9476208 -24.25661
2025-11-03T09:43:30.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9476208 -24.25661
2025-11-03T09:43:30.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9476208;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96739;2460982.82187686;9.72502556;1.3;_14.9229138700586 -24.1525612985134
2025-11-03T09:43:30.161 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9229138700586     dec_j2k = -24.1525612985134
2025-11-03T09:43:30.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:30.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:30.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967744342200439;171.162357330327;_
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967744342200439;171.162357330327;_
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:30.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:30.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:30.164 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:30.164 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:30.164 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34161)
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:30.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:30.173 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:30.173 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:30.173 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:30.174 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:30.174 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82187684, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967744342200439, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9476208, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9229138700586, telescope_dec_j2k=-24.1525612985134, observability=1)
2025-11-03T09:43:30.196 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:30
2025-11-03T09:43:30.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:30.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022330760955810547s
2025-11-03T09:43:30.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022330760955810547
2025-11-03T09:43:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:30
2025-11-03T09:43:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.592667818069458s
2025-11-03T09:43:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.592667818069458
2025-11-03T09:43:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:31
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1863789558410645s
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:31.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:31.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:31.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9479478;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96771;2460982.82189078;9.72535167;1.3;_
2025-11-03T09:43:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9479478;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96771;2460982.82189078;9.72535167;1.3;_
2025-11-03T09:43:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:31.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:31.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9479478, teldec = -24.25661
2025-11-03T09:43:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9479478 -24.25661
2025-11-03T09:43:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9479478 -24.25661
2025-11-03T09:43:31.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9479478 -24.25661
2025-11-03T09:43:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9479478;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96771;2460982.8218908;9.72535167;1.3;_14.9232405985955 -24.1525695369028
2025-11-03T09:43:31.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9232405985955     dec_j2k = -24.1525695369028
2025-11-03T09:43:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:31.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967739127647875;171.162368059163;_
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967739127647875;171.162368059163;_
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:31.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:31.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:31.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49415)
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:31.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:31.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:31.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:31.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82189078, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967739127647875, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9479478, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96771, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9232405985955, telescope_dec_j2k=-24.1525695369028, observability=1)
2025-11-03T09:43:31.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:31
2025-11-03T09:43:31.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:31.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02183818817138672s
2025-11-03T09:43:31.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02183818817138672
2025-11-03T09:43:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:32
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3793330192565918s
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.94834;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96811;2460982.82190697;9.72574278;1.3;_
2025-11-03T09:43:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.94834;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96811;2460982.82190697;9.72574278;1.3;_
2025-11-03T09:43:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.94834, teldec = -24.25661
2025-11-03T09:43:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.94834 -24.25661
2025-11-03T09:43:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.94834 -24.25661
2025-11-03T09:43:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.94834 -24.25661
2025-11-03T09:43:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.94834;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96811;2460982.82190699;9.72574278;1.3;_14.9236324730302 -24.1525794189514
2025-11-03T09:43:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9236324730302     dec_j2k = -24.1525794189514
2025-11-03T09:43:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967745144439295;171.162362694745;_
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967745144439295;171.162362694745;_
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51593)
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:32.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:32.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:32.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82190697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967745144439295, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.94834, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96811, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9236324730302, telescope_dec_j2k=-24.1525794189514, observability=1)
2025-11-03T09:43:33.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:33
2025-11-03T09:43:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:33.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5830583572387695s
2025-11-03T09:43:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5830583572387695
2025-11-03T09:43:33.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:33
2025-11-03T09:43:33.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:33.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041264533996582s
2025-11-03T09:43:33.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041264533996582
2025-11-03T09:43:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:34
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852688312530518s
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9489005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96867;2460982.82193014;9.72630167;1.3;_
2025-11-03T09:43:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9489005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96867;2460982.82193014;9.72630167;1.3;_
2025-11-03T09:43:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:34.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9489005, teldec = -24.25661
2025-11-03T09:43:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9489005 -24.25661
2025-11-03T09:43:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9489005 -24.25661
2025-11-03T09:43:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9489005 -24.25661
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9489005;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96867;2460982.82193016;9.72630167;1.3;_14.9241925078053 -24.1525935434944
2025-11-03T09:43:34.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9241925078053     dec_j2k = -24.1525935434944
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967746748917008;171.162357330327;_
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967746748917008;171.162357330327;_
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:34.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42429)
2025-11-03T09:43:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:34.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:34.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:34.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82193014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967746748917008, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9489005, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9241925078053, telescope_dec_j2k=-24.1525935434944, observability=1)
2025-11-03T09:43:35.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:35
2025-11-03T09:43:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5832235813140869s
2025-11-03T09:43:35.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5832235813140869
2025-11-03T09:43:35.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:35
2025-11-03T09:43:35.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:35.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6058733463287354s
2025-11-03T09:43:35.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6058733463287354
2025-11-03T09:43:36.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:36
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786243438720703s
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9494598;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96923;2460982.82195324;9.72685944;1.3;_
2025-11-03T09:43:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9494598;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96923;2460982.82195324;9.72685944;1.3;_
2025-11-03T09:43:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:36.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9494598, teldec = -24.25661
2025-11-03T09:43:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9494598 -24.25661
2025-11-03T09:43:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9494598 -24.25661
2025-11-03T09:43:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9494598 -24.25661
2025-11-03T09:43:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9494598;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96923;2460982.82195326;9.72685944;1.3;_14.9247513436307 -24.1526076400623
2025-11-03T09:43:36.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9247513436307     dec_j2k = -24.1526076400623
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096774634779758;171.162362694745;_
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096774634779758;171.162362694745;_
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37183)
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:36.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:36.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:36.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82195324, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096774634779758, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9494598, telescope_dec=-24.25661, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96923, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9247513436307, telescope_dec_j2k=-24.1526076400623, observability=1)
2025-11-03T09:43:37.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:37
2025-11-03T09:43:37.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:37.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6398091316223145s
2025-11-03T09:43:37.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6398091316223145
2025-11-03T09:43:37.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:37
2025-11-03T09:43:37.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:37.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6613428592681885s
2025-11-03T09:43:37.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6613428592681885
2025-11-03T09:43:37.865 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:37.866 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.867 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.868 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.868 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:37.868 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:37.868 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:37.869 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:43:37.870 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:37.871 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Park
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:43:37.872 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 29;14.9497592;-24.25661;50.108561;89.993053;50.08601;90.12017;11.96952;2460982.82196611;9.72715806;1.3;_Park Command Successful
2025-11-03T09:43:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:38
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822802543640137s
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9500127;-24.256609;50.108561;89.993053;50.08601;90.12017;11.96978;2460982.82197642;9.72741083;1.3;_
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9500127;-24.256609;50.108561;89.993053;50.08601;90.12017;11.96978;2460982.82197642;9.72741083;1.3;_
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9500127, teldec = -24.256609
2025-11-03T09:43:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9500127 -24.256609
2025-11-03T09:43:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9500127 -24.256609
2025-11-03T09:43:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9500127 -24.256609
2025-11-03T09:43:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9500127;-24.256609;50.108561;89.993053;50.08601;90.12017;11.96978;2460982.82197645;9.72741083;1.3;_14.9253037849555 -24.1526205775628
2025-11-03T09:43:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9253037849555     dec_j2k = -24.1526205775628
2025-11-03T09:43:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967755172424997;171.162362694745;_
2025-11-03T09:43:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967755172424997;171.162362694745;_
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44687)
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:38.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:38.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:38.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82197642, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967755172424997, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9500127, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.96978, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9253037849555, telescope_dec_j2k=-24.1526205775628, observability=1)
2025-11-03T09:43:38.873 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:43:38.873 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:43:38.873 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:43:38.873 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:43:38.873 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:43:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:39
2025-11-03T09:43:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814435482025146s
2025-11-03T09:43:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814435482025146
2025-11-03T09:43:39.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:39
2025-11-03T09:43:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6036064624786377s
2025-11-03T09:43:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6036064624786377
2025-11-03T09:43:39.874 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:43:39.874 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:43:39.874 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:43:39.874 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:43:39.874 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:43:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:40
2025-11-03T09:43:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827172756195068s
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9505739;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97034;2460982.82199958;9.72797056;1.3;_
2025-11-03T09:43:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9505739;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97034;2460982.82199958;9.72797056;1.3;_
2025-11-03T09:43:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9505739, teldec = -24.256609
2025-11-03T09:43:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9505739 -24.256609
2025-11-03T09:43:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9505739 -24.256609
2025-11-03T09:43:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9505739 -24.256609
2025-11-03T09:43:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9505739;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97034;2460982.82199961;9.72797056;1.3;_14.9258645193123 -24.1526347265356
2025-11-03T09:43:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9258645193123     dec_j2k = -24.1526347265356
2025-11-03T09:43:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967753567947285;171.162362694745;_
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967753567947285;171.162362694745;_
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38363)
2025-11-03T09:43:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:40.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:40.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:40.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82199958, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967753567947285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9505739, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9258645193123, telescope_dec_j2k=-24.1526347265356, observability=1)
2025-11-03T09:43:40.875 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:43:40.875 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:43:40.875 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:43:40.875 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:43:40.875 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:43:41.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:41
2025-11-03T09:43:41.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.57718825340271s
2025-11-03T09:43:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.57718825340271
2025-11-03T09:43:41.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:41
2025-11-03T09:43:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.598944902420044s
2025-11-03T09:43:41.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.598944902420044
2025-11-03T09:43:41.876 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:43:41.876 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:43:41.876 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:41.877 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:43:41.878 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:43:41.879 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:42
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779279232025146s
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.951126;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97089;2460982.82202271;9.72852111;1.3;_
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.951126;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97089;2460982.82202271;9.72852111;1.3;_
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.951126, teldec = -24.256609
2025-11-03T09:43:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.951126 -24.256609
2025-11-03T09:43:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.951126 -24.256609
2025-11-03T09:43:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.951126 -24.256609
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.951126;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97089;2460982.82202273;9.72852111;1.3;_14.9264161612729 -24.152648648301
2025-11-03T09:43:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9264161612729     dec_j2k = -24.152648648301
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967754370186141;171.162351965909;_
2025-11-03T09:43:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967754370186141;171.162351965909;_
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55467)
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:42.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82202271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967754370186141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.951126, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97089, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9264161612729, telescope_dec_j2k=-24.152648648301, observability=1)
2025-11-03T09:43:42.879 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:42.879 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:42.879 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:42.879 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:42.879 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:43:42.880 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:43:42.881 [DEBUG] [ThreadPoolExecutor-3418_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:42.881 [INFO] [ThreadPoolExecutor-3418_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:43:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:43
2025-11-03T09:43:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582078218460083s
2025-11-03T09:43:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582078218460083
2025-11-03T09:43:43.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:43
2025-11-03T09:43:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6048357486724854s
2025-11-03T09:43:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6048357486724854
2025-11-03T09:43:43.504 [DEBUG] [Thread-88716 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:43.504 [DEBUG] [Thread-88716 (handle)] [server.py] [get_status()] Status age = 0.7254054546356201s
2025-11-03T09:43:43.505 [DEBUG] [Thread-88716 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7254054546356201
2025-11-03T09:43:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:44
2025-11-03T09:43:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981440782546997s
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9516875;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97145;2460982.82204586;9.72908111;1.3;_
2025-11-03T09:43:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9516875;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97145;2460982.82204586;9.72908111;1.3;_
2025-11-03T09:43:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9516875, teldec = -24.256609
2025-11-03T09:43:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9516875 -24.256609
2025-11-03T09:43:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9516875 -24.256609
2025-11-03T09:43:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9516875 -24.256609
2025-11-03T09:43:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9516875;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97145;2460982.82204588;9.72908111;1.3;_14.9269771954891 -24.1526628093572
2025-11-03T09:43:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9269771954891     dec_j2k = -24.1526628093572
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967751161230716;171.162357330327;_
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967751161230716;171.162357330327;_
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:44.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45889)
2025-11-03T09:43:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:44.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:44.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:44.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:44.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:44.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82204586, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967751161230716, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9516875, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9269771954891, telescope_dec_j2k=-24.1526628093572, observability=1)
2025-11-03T09:43:45.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:45
2025-11-03T09:43:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5880398750305176s
2025-11-03T09:43:45.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5880398750305176
2025-11-03T09:43:45.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:45
2025-11-03T09:43:45.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:45.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6137161254882812s
2025-11-03T09:43:45.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6137161254882812
2025-11-03T09:43:46.529 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:46
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7528669834136963s
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:46.529 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9521828;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97195;2460982.82206632;9.729575;1.3;_
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9521828;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97195;2460982.82206632;9.729575;1.3;_
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:46.530 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:46.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:46.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:46.531 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9521828, teldec = -24.256609
2025-11-03T09:43:46.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9521828 -24.256609
2025-11-03T09:43:46.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9521828 -24.256609
2025-11-03T09:43:46.531 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9521828 -24.256609
2025-11-03T09:43:46.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9521828;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97195;2460982.82206634;9.729575;1.3;_14.9274720846659 -24.1526753027378
2025-11-03T09:43:46.532 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9274720846659     dec_j2k = -24.1526753027378
2025-11-03T09:43:46.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:46.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:46.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967755172424997;171.162362694745;_
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967755172424997;171.162362694745;_
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:46.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:46.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:46.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:46.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:46.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:46.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:46.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:46.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:46.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50917)
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:46.536 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:46.543 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:46.544 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82206632, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967755172424997, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9521828, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97195, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9274720846659, telescope_dec_j2k=-24.1526753027378, observability=1)
2025-11-03T09:43:46.573 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:46
2025-11-03T09:43:46.573 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:46.573 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.029671430587768555s
2025-11-03T09:43:46.573 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.029671430587768555
2025-11-03T09:43:46.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:46
2025-11-03T09:43:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21772027015686035s
2025-11-03T09:43:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21772027015686035
2025-11-03T09:43:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:48
2025-11-03T09:43:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.217005491256714s
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9527997;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97257;2460982.82209215;9.73019028;1.3;_
2025-11-03T09:43:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9527997;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97257;2460982.82209215;9.73019028;1.3;_
2025-11-03T09:43:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9527997, teldec = -24.256609
2025-11-03T09:43:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9527997 -24.256609
2025-11-03T09:43:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9527997 -24.256609
2025-11-03T09:43:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9527997 -24.256609
2025-11-03T09:43:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9527997;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97257;2460982.82209219;9.73019028;1.3;_14.928088473042 -24.1526908658198
2025-11-03T09:43:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.928088473042     dec_j2k = -24.1526908658198
2025-11-03T09:43:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967755172424997;171.162351965909;_
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967755172424997;171.162351965909;_
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54519)
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:48.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:48.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82209215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967755172424997, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9527997, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97257, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.928088473042, telescope_dec_j2k=-24.1526908658198, observability=1)
2025-11-03T09:43:48.880 [DEBUG] [Thread-88717 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:48.880 [DEBUG] [Thread-88717 (handle)] [server.py] [get_status()] Status age = 0.0974574089050293s
2025-11-03T09:43:48.880 [DEBUG] [Thread-88717 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0974574089050293
2025-11-03T09:43:50.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:50
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9748172760009766s
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:50.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:50.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9533596;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97313;2460982.82211527;9.73074861;1.3;_
2025-11-03T09:43:50.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9533596;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97313;2460982.82211527;9.73074861;1.3;_
2025-11-03T09:43:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:50.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9533596, teldec = -24.256609
2025-11-03T09:43:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9533596 -24.256609
2025-11-03T09:43:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9533596 -24.256609
2025-11-03T09:43:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9533596 -24.256609
2025-11-03T09:43:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9533596;-24.256609;50.108561;89.993053;50.08601;90.12017;11.97313;2460982.8221153;9.73074861;1.3;_14.9286479087479 -24.152704993293
2025-11-03T09:43:50.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9286479087479     dec_j2k = -24.152704993293
2025-11-03T09:43:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967754771305569;171.162362694745;_
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967754771305569;171.162362694745;_
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56325)
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:50.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:50.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82211527, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967754771305569, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108561, telescope_az=89.993053, telescope_ra=14.9533596, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97313, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9286479087479, telescope_dec_j2k=-24.152704993293, observability=1)
2025-11-03T09:43:52.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:52
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8894915580749512s
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:52.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9538821;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97365;2460982.82213736;9.73126972;1.3;_
2025-11-03T09:43:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9538821;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97365;2460982.82213736;9.73126972;1.3;_
2025-11-03T09:43:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:52.669 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9538821, teldec = -24.256609
2025-11-03T09:43:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9538821 -24.256609
2025-11-03T09:43:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9538821 -24.256609
2025-11-03T09:43:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9538821 -24.256609
2025-11-03T09:43:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9538821;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97365;2460982.82213738;9.73126972;1.3;_14.9291699755166 -24.1527181791272
2025-11-03T09:43:52.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9291699755166     dec_j2k = -24.1527181791272
2025-11-03T09:43:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967756375783281;171.162351965909;_
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967756375783281;171.162351965909;_
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:52.676 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46649)
2025-11-03T09:43:52.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:52.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:52.677 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:52.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:52.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82213736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967756375783281, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9538821, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9291699755166, telescope_dec_j2k=-24.1527181791272, observability=1)
2025-11-03T09:43:52.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:52
2025-11-03T09:43:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0221250057220459s
2025-11-03T09:43:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0221250057220459
2025-11-03T09:43:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:52
2025-11-03T09:43:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07555842399597168s
2025-11-03T09:43:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07555842399597168
2025-11-03T09:43:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:54
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.075033187866211s
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9544704;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97424;2460982.82216159;9.73185639;1.3;_
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9544704;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97424;2460982.82216159;9.73185639;1.3;_
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9544704, teldec = -24.256609
2025-11-03T09:43:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9544704 -24.256609
2025-11-03T09:43:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9544704 -24.256609
2025-11-03T09:43:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9544704 -24.256609
2025-11-03T09:43:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9544704;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97424;2460982.82216161;9.73185639;1.3;_14.929757787784 -24.1527330278537
2025-11-03T09:43:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.929757787784     dec_j2k = -24.1527330278537
2025-11-03T09:43:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967758782499849;171.162368059163;_
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967758782499849;171.162368059163;_
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54779)
2025-11-03T09:43:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82216159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967758782499849, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9544704, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97424, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.929757787784, telescope_dec_j2k=-24.1527330278537, observability=1)
2025-11-03T09:43:55.028 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:55
2025-11-03T09:43:55.028 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:55.028 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24899506568908691s
2025-11-03T09:43:55.029 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24899506568908691
2025-11-03T09:43:55.050 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:55
2025-11-03T09:43:55.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:55.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27098512649536133s
2025-11-03T09:43:55.050 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27098512649536133
2025-11-03T09:43:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:56
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831442832946777s
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9550308;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9748;2460982.82218478;9.73241528;1.3;_
2025-11-03T09:43:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9550308;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9748;2460982.82218478;9.73241528;1.3;_
2025-11-03T09:43:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:56.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9550308, teldec = -24.256609
2025-11-03T09:43:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9550308 -24.256609
2025-11-03T09:43:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9550308 -24.256609
2025-11-03T09:43:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9550308 -24.256609
2025-11-03T09:43:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9550308;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9748;2460982.8221848;9.73241528;1.3;_14.9303177232377 -24.1527471747074
2025-11-03T09:43:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9303177232377     dec_j2k = -24.1527471747074
2025-11-03T09:43:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967756375783281;171.162346601491;_
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967756375783281;171.162346601491;_
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:43:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53015)
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:56.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82218478, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967756375783281, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9550308, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9748, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9303177232377, telescope_dec_j2k=-24.1527471747074, observability=1)
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1578407287597656s
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:43:57.941 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9553386;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9751;2460982.8221984;9.73272222;1.3;_
2025-11-03T09:43:57.942 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.9553386;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9751;2460982.8221984;9.73272222;1.3;_
2025-11-03T09:43:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:43:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:43:57.943 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:43:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:43:57.944 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.9553386, teldec = -24.256609
2025-11-03T09:43:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9553386 -24.256609
2025-11-03T09:43:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9553386 -24.256609
2025-11-03T09:43:57.944 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9553386 -24.256609
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9553386;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9751;2460982.82219844;9.73272222;1.3;_14.9306252681087 -24.1527549458394
2025-11-03T09:43:57.945 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.9306252681087     dec_j2k = -24.1527549458394
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967754370186141;171.162351965909;_
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967754370186141;171.162351965909;_
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:57.945 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:43:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:43:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:43:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:43:57.951 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53303)
2025-11-03T09:43:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:43:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:43:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:43:57.952 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:43:57.952 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:43:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:43:57.959 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:43:57.959 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8221984, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967754370186141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9553386, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9751, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9306252681087, telescope_dec_j2k=-24.1527549458394, observability=1)
2025-11-03T09:43:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:43:58
2025-11-03T09:43:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:43:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8016273975372314s
2025-11-03T09:43:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8016273975372314
2025-11-03T09:44:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:00
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.8018958568573s
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9561419;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97591;2460982.82223104;9.73352333;1.3;_
2025-11-03T09:44:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9561419;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97591;2460982.82223104;9.73352333;1.3;_
2025-11-03T09:44:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9561419, teldec = -24.256609
2025-11-03T09:44:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9561419 -24.256609
2025-11-03T09:44:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9561419 -24.256609
2025-11-03T09:44:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9561419 -24.256609
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9561419;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97591;2460982.82223108;9.73352333;1.3;_14.9314279023474 -24.1527752302521
2025-11-03T09:44:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9314279023474     dec_j2k = -24.1527752302521
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967763194813558;171.162368059163;_
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967763194813558;171.162368059163;_
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46119)
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82223104, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967763194813558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9561419, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9314279023474, telescope_dec_j2k=-24.1527752302521, observability=1)
2025-11-03T09:44:01.607 [DEBUG] [Thread-88718 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:01.607 [DEBUG] [Thread-88718 (handle)] [server.py] [get_status()] Status age = 0.8284428119659424s
2025-11-03T09:44:01.607 [DEBUG] [Thread-88718 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8284428119659424
2025-11-03T09:44:02.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:02
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8898108005523682s
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:02.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:02.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9566742;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97644;2460982.82225312;9.73405417;1.3;_
2025-11-03T09:44:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9566742;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97644;2460982.82225312;9.73405417;1.3;_
2025-11-03T09:44:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:02.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:02.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9566742, teldec = -24.256609
2025-11-03T09:44:02.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9566742 -24.256609
2025-11-03T09:44:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9566742 -24.256609
2025-11-03T09:44:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9566742 -24.256609
2025-11-03T09:44:02.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9566742;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97644;2460982.82225315;9.73405417;1.3;_14.931959761248 -24.1527886741145
2025-11-03T09:44:02.673 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.931959761248     dec_j2k = -24.1527886741145
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967761590335846;171.162362694745;_
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967761590335846;171.162362694745;_
2025-11-03T09:44:02.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:02.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:02.675 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36655)
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:02.683 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:02.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:02.691 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82225312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967761590335846, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9566742, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97644, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.931959761248, telescope_dec_j2k=-24.1527886741145, observability=1)
2025-11-03T09:44:02.713 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:02
2025-11-03T09:44:02.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:02.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022043228149414062s
2025-11-03T09:44:02.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022043228149414062
2025-11-03T09:44:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:02
2025-11-03T09:44:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06847572326660156s
2025-11-03T09:44:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06847572326660156
2025-11-03T09:44:04.532 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:04
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8404529094696045s
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:04.532 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:04.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9571778;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97694;2460982.82227468;9.73455639;1.3;_
2025-11-03T09:44:04.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9571778;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97694;2460982.82227468;9.73455639;1.3;_
2025-11-03T09:44:04.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:04.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:04.533 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:04.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:04.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:04.534 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9571778, teldec = -24.256609
2025-11-03T09:44:04.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9571778 -24.256609
2025-11-03T09:44:04.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9571778 -24.256609
2025-11-03T09:44:04.534 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9571778 -24.256609
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9571778;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97694;2460982.82227471;9.73455639;1.3;_14.9324629439766 -24.1528013950076
2025-11-03T09:44:04.535 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9324629439766     dec_j2k = -24.1528013950076
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967762392574702;171.162362694745;_
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967762392574702;171.162362694745;_
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:04.535 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:04.536 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:04.536 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:04.536 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:04.536 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:04.537 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:04.537 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:04.537 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:04.538 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:04.538 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:04.538 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:04.543 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41265)
2025-11-03T09:44:04.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:04.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:04.543 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:04.544 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:04.544 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:04.551 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:04.551 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82227468, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967762392574702, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9571778, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9324629439766, telescope_dec_j2k=-24.1528013950076, observability=1)
2025-11-03T09:44:04.574 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:04
2025-11-03T09:44:04.574 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:04.574 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022933483123779297s
2025-11-03T09:44:04.574 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022933483123779297
2025-11-03T09:44:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:04
2025-11-03T09:44:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20859646797180176s
2025-11-03T09:44:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20859646797180176
2025-11-03T09:44:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:06
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2087156772613525s
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9578132;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97758;2460982.82230049;9.73519;1.3;_
2025-11-03T09:44:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9578132;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97758;2460982.82230049;9.73519;1.3;_
2025-11-03T09:44:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9578132, teldec = -24.256609
2025-11-03T09:44:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9578132 -24.256609
2025-11-03T09:44:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9578132 -24.256609
2025-11-03T09:44:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9578132 -24.256609
2025-11-03T09:44:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9578132;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97758;2460982.82230051;9.73519;1.3;_14.9330978175616 -24.1528174477696
2025-11-03T09:44:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9330978175616     dec_j2k = -24.1528174477696
2025-11-03T09:44:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967763194813558;171.162357330327;_
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967763194813558;171.162357330327;_
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40395)
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:06.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:06.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82230049, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967763194813558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9578132, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97758, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9330978175616, telescope_dec_j2k=-24.1528174477696, observability=1)
2025-11-03T09:44:08.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:08
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984755277633667s
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9583744;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97814;2460982.82232365;9.73574972;1.3;_
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9583744;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97814;2460982.82232365;9.73574972;1.3;_
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:08.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9583744, teldec = -24.256609
2025-11-03T09:44:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9583744 -24.256609
2025-11-03T09:44:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9583744 -24.256609
2025-11-03T09:44:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9583744 -24.256609
2025-11-03T09:44:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9583744;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97814;2460982.82232368;9.73574972;1.3;_14.9336585526781 -24.1528316283642
2025-11-03T09:44:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9336585526781     dec_j2k = -24.1528316283642
2025-11-03T09:44:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967761189216418;171.162351965909;_
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967761189216418;171.162351965909;_
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50087)
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:08.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:08.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82232365, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967761189216418, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9583744, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97814, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9336585526781, telescope_dec_j2k=-24.1528316283642, observability=1)
2025-11-03T09:44:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:10
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789276123046875s
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:10.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.958934;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9787;2460982.82234677;9.73630778;1.3;_
2025-11-03T09:44:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.958934;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9787;2460982.82234677;9.73630778;1.3;_
2025-11-03T09:44:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:10.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.958934, teldec = -24.256609
2025-11-03T09:44:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.958934 -24.256609
2025-11-03T09:44:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.958934 -24.256609
2025-11-03T09:44:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.958934 -24.256609
2025-11-03T09:44:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.958934;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9787;2460982.82234679;9.73630778;1.3;_14.9342176891744 -24.1528457707924
2025-11-03T09:44:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9342176891744     dec_j2k = -24.1528457707924
2025-11-03T09:44:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967767607127266;171.162357330327;_
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967767607127266;171.162357330327;_
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41791)
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:10.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:10.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:10.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82234677, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967767607127266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.958934, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9787, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9342176891744, telescope_dec_j2k=-24.1528457707924, observability=1)
2025-11-03T09:44:12.665 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:12
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.889934778213501s
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:12.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:12.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9594571;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97922;2460982.82236884;9.73682944;1.3;_
2025-11-03T09:44:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9594571;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97922;2460982.82236884;9.73682944;1.3;_
2025-11-03T09:44:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:12.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:12.669 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9594571, teldec = -24.256609
2025-11-03T09:44:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9594571 -24.256609
2025-11-03T09:44:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9594571 -24.256609
2025-11-03T09:44:12.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9594571 -24.256609
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9594571;-24.256609;50.10856;89.993053;50.08601;90.12017;11.97922;2460982.82236887;9.73682944;1.3;_14.9347403559521 -24.1528589928217
2025-11-03T09:44:12.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9347403559521     dec_j2k = -24.1528589928217
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967763194813558;171.162351965909;_
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967763194813558;171.162351965909;_
2025-11-03T09:44:12.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:12.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:12.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:12.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38055)
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:12.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:12.681 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:12.682 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:12.682 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82236884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967763194813558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9594571, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.97922, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9347403559521, telescope_dec_j2k=-24.1528589928217, observability=1)
2025-11-03T09:44:12.703 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:12
2025-11-03T09:44:12.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:12.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02111673355102539s
2025-11-03T09:44:12.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02111673355102539
2025-11-03T09:44:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:12
2025-11-03T09:44:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07975339889526367s
2025-11-03T09:44:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07975339889526367
2025-11-03T09:44:12.832 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:44:12
2025-11-03T09:44:12.832 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:12.832 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.15040302276611328s
2025-11-03T09:44:12.832 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15040302276611328
2025-11-03T09:44:14.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:14
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6812498569488525s
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9599331;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9797;2460982.82238848;9.73730417;1.3;_
2025-11-03T09:44:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9599331;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9797;2460982.82238848;9.73730417;1.3;_
2025-11-03T09:44:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:14.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9599331, teldec = -24.256609
2025-11-03T09:44:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9599331 -24.256609
2025-11-03T09:44:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9599331 -24.256609
2025-11-03T09:44:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9599331 -24.256609
2025-11-03T09:44:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9599331;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9797;2460982.82238851;9.73730417;1.3;_14.9352159617785 -24.152871026053
2025-11-03T09:44:14.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9352159617785     dec_j2k = -24.152871026053
2025-11-03T09:44:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967770816082691;171.162357330327;_
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967770816082691;171.162357330327;_
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50241)
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:14.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:14.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:14.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82238848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967770816082691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9599331, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9352159617785, telescope_dec_j2k=-24.152871026053, observability=1)
2025-11-03T09:44:14.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:14
2025-11-03T09:44:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02212214469909668s
2025-11-03T09:44:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02212214469909668
2025-11-03T09:44:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:14
2025-11-03T09:44:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38228654861450195s
2025-11-03T09:44:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38228654861450195
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.9042856693267822s
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:16.284 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:16.285 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:16.285 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:16.285 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9604654;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98023;2460982.82241072;9.737835;1.3;_
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9604654;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98023;2460982.82241072;9.737835;1.3;_
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:16.286 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:16.287 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:16.288 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:16.288 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:16.288 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9604654, teldec = -24.256609
2025-11-03T09:44:16.288 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9604654 -24.256609
2025-11-03T09:44:16.288 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9604654 -24.256609
2025-11-03T09:44:16.288 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9604654 -24.256609
2025-11-03T09:44:16.289 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9604654;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98023;2460982.82241075;9.737835;1.3;_14.9357478210297 -24.1528844844785
2025-11-03T09:44:16.289 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9357478210297     dec_j2k = -24.1528844844785
2025-11-03T09:44:16.289 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:16.289 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:16.289 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967772019440975;171.162362694745;_
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967772019440975;171.162362694745;_
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:16.290 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:16.291 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:16.292 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:16.292 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:16.292 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48913)
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:16.297 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:16.305 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:44:16.305 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82241072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967772019440975, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9604654, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98023, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:43:16.988643', telescope_ra_j2k=14.9357478210297, telescope_dec_j2k=-24.1528844844785, observability=1)
2025-11-03T09:44:16.305 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.473193407058716 seconds ago
2025-11-03T09:44:16.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:16
2025-11-03T09:44:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05407524108886719s
2025-11-03T09:44:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05407524108886719
2025-11-03T09:44:16.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:16
2025-11-03T09:44:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07726573944091797s
2025-11-03T09:44:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07726573944091797
2025-11-03T09:44:16.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:16
2025-11-03T09:44:16.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:16.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.49450182914733887s
2025-11-03T09:44:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.49450182914733887
2025-11-03T09:44:17.131 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:17.131 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:17.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:17.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:17.131 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:17.132 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:17.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:17.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:17.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:17.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:17.133 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:44:17.133 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:17.133 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:17.133 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:44:17.134 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:44:17.135 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:18.135 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:18.135 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:18.135 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:18.135 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:18.135 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:44:18.136 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:44:18.137 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:18.137 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:18.137 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:18.137 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:18.137 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:18.138 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:18.138 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:18.138 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:18.139 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:18.139 [DEBUG] [ThreadPoolExecutor-3420_0] [payload.py] [to_registers()] [0]
2025-11-03T09:44:18.142 [DEBUG] [ThreadPoolExecutor-3420_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57333)
2025-11-03T09:44:18.142 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:18.142 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:18.143 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:44:18.143 [DEBUG] [ThreadPoolExecutor-3420_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:18.143 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:18.150 [DEBUG] [ThreadPoolExecutor-3420_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:18
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0549895763397217s
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9610439;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98081;2460982.82243475;9.73841194;1.3;_
2025-11-03T09:44:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9610439;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98081;2460982.82243475;9.73841194;1.3;_
2025-11-03T09:44:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9610439, teldec = -24.256609
2025-11-03T09:44:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9610439 -24.256609
2025-11-03T09:44:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9610439 -24.256609
2025-11-03T09:44:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9610439 -24.256609
2025-11-03T09:44:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9610439;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98081;2460982.82243477;9.73841194;1.3;_14.9363258420829 -24.1528991133206
2025-11-03T09:44:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9363258420829     dec_j2k = -24.1528991133206
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967778838471252;171.162368059163;_
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967778838471252;171.162368059163;_
2025-11-03T09:44:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54189)
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:18.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:18.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:18.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:18.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:18.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82243475, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967778838471252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9610439, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98081, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9363258420829, telescope_dec_j2k=-24.1528991133206, observability=1)
2025-11-03T09:44:18.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:18
2025-11-03T09:44:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02198648452758789s
2025-11-03T09:44:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02198648452758789
2025-11-03T09:44:18.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:18
2025-11-03T09:44:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38387393951416016s
2025-11-03T09:44:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38387393951416016
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Status age = 1.2931914329528809s
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:19.674 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:19.675 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:19.676 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 17;14.9614086;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98117;2460982.82244995;9.73877556;1.3;_
2025-11-03T09:44:19.676 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response 17;14.9614086;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98117;2460982.82244995;9.73877556;1.3;_
2025-11-03T09:44:19.676 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:19.676 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:19.676 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:19.677 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:19.677 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:19.677 [INFO] [Thread-88719 (handle)] [driver.py] [get_status()] Telra = 14.9614086, teldec = -24.256609
2025-11-03T09:44:19.677 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9614086 -24.256609
2025-11-03T09:44:19.677 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9614086 -24.256609
2025-11-03T09:44:19.677 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9614086 -24.256609
2025-11-03T09:44:19.678 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 17;14.9614086;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98117;2460982.82244998;9.73877556;1.3;_14.9366902401734 -24.1529083369269
2025-11-03T09:44:19.678 [INFO] [Thread-88719 (handle)] [driver.py] [get_status()] ra_j2k = 14.9366902401734     dec_j2k = -24.1529083369269
2025-11-03T09:44:19.678 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:19.678 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:19.678 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:19.679 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 140;0.0967774426157543;171.162357330327;_
2025-11-03T09:44:19.679 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response 140;0.0967774426157543;171.162357330327;_
2025-11-03T09:44:19.679 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:19.679 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:19.679 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:19.680 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:19.681 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:19.681 [DEBUG] [Thread-88719 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:19.681 [DEBUG] [Thread-88719 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:19.681 [DEBUG] [Thread-88719 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51957)
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:19.687 [DEBUG] [Thread-88719 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:19.694 [DEBUG] [Thread-88719 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:19.694 [DEBUG] [Thread-88719 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:19.695 [DEBUG] [Thread-88719 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:19.695 [INFO] [Thread-88719 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82244995, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967774426157543, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9614086, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98117, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9366902401734, telescope_dec_j2k=-24.1529083369269, observability=1)
2025-11-03T09:44:20.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:20
2025-11-03T09:44:20.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:20.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6734755039215088s
2025-11-03T09:44:20.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6734755039215088
2025-11-03T09:44:20.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:20
2025-11-03T09:44:20.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:20.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6942002773284912s
2025-11-03T09:44:20.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6942002773284912
2025-11-03T09:44:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:20
2025-11-03T09:44:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0685675144195557s
2025-11-03T09:44:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9617169;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98148;2460982.82246256;9.73908306;1.3;_
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9617169;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98148;2460982.82246256;9.73908306;1.3;_
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9617169, teldec = -24.256609
2025-11-03T09:44:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9617169 -24.256609
2025-11-03T09:44:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9617169 -24.256609
2025-11-03T09:44:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9617169 -24.256609
2025-11-03T09:44:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9617169;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98148;2460982.82246259;9.73908306;1.3;_14.9369982849716 -24.1529161348723
2025-11-03T09:44:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9369982849716     dec_j2k = -24.1529161348723
2025-11-03T09:44:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09677752283964;171.162346601491;_
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09677752283964;171.162346601491;_
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:20.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54259)
2025-11-03T09:44:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:20.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:20.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:20.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82246256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09677752283964, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9617169, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98148, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9369982849716, telescope_dec_j2k=-24.1529161348723, observability=1)
2025-11-03T09:44:22.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:22
2025-11-03T09:44:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.582594633102417s
2025-11-03T09:44:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9621653;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98193;2460982.82248115;9.73953028;1.3;_
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9621653;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98193;2460982.82248115;9.73953028;1.3;_
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:22.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9621653, teldec = -24.256609
2025-11-03T09:44:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9621653 -24.256609
2025-11-03T09:44:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9621653 -24.256609
2025-11-03T09:44:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9621653 -24.256609
2025-11-03T09:44:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9621653;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98193;2460982.82248117;9.73953028;1.3;_14.9374463138286 -24.1529274776417
2025-11-03T09:44:22.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9374463138286     dec_j2k = -24.1529274776417
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967776431754684;171.162351965909;_
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967776431754684;171.162351965909;_
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:22.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:22.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:22.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:22.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:22.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49575)
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:22.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:22.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82248115, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967776431754684, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9621653, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9374463138286, telescope_dec_j2k=-24.1529274776417, observability=1)
2025-11-03T09:44:22.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:22
2025-11-03T09:44:22.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:22.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021538734436035156s
2025-11-03T09:44:22.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021538734436035156
2025-11-03T09:44:22.691 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:22.691 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.30269670486450195s
2025-11-03T09:44:22.691 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30269670486450195
2025-11-03T09:44:22.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:22
2025-11-03T09:44:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3695845603942871s
2025-11-03T09:44:22.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3695845603942871
2025-11-03T09:44:24.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:24
2025-11-03T09:44:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:24.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9710204601287842s
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9627157;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98248;2460982.82250418;9.74007917;1.3;_
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9627157;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98248;2460982.82250418;9.74007917;1.3;_
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:24.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9627157, teldec = -24.256609
2025-11-03T09:44:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9627157 -24.256609
2025-11-03T09:44:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9627157 -24.256609
2025-11-03T09:44:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9627157 -24.256609
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9627157;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98248;2460982.8225042;9.74007917;1.3;_14.9379962583074 -24.1529414025947
2025-11-03T09:44:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9379962583074     dec_j2k = -24.1529414025947
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096777923959068;171.162362694745;_
2025-11-03T09:44:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096777923959068;171.162362694745;_
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51417)
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:24.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:24.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82250418, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096777923959068, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9627157, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9379962583074, telescope_dec_j2k=-24.1529414025947, observability=1)
2025-11-03T09:44:24.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:24
2025-11-03T09:44:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02253413200378418s
2025-11-03T09:44:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02253413200378418
2025-11-03T09:44:24.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:24
2025-11-03T09:44:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3828763961791992s
2025-11-03T09:44:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3828763961791992
2025-11-03T09:44:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:26
2025-11-03T09:44:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980233907699585s
2025-11-03T09:44:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9632759;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98304;2460982.82252735;9.74063778;1.3;_
2025-11-03T09:44:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9632759;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98304;2460982.82252735;9.74063778;1.3;_
2025-11-03T09:44:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9632759, teldec = -24.256609
2025-11-03T09:44:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9632759 -24.256609
2025-11-03T09:44:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9632759 -24.256609
2025-11-03T09:44:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9632759 -24.256609
2025-11-03T09:44:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9632759;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98304;2460982.82252737;9.74063778;1.3;_14.9385559947298 -24.1529555777272
2025-11-03T09:44:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9385559947298     dec_j2k = -24.1529555777272
2025-11-03T09:44:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096777923959068;171.162357330327;_
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096777923959068;171.162357330327;_
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53785)
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:26.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:26.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82252735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096777923959068, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9632759, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98304, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9385559947298, telescope_dec_j2k=-24.1529555777272, observability=1)
2025-11-03T09:44:26.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:26
2025-11-03T09:44:26.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:26.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02175307273864746s
2025-11-03T09:44:26.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02175307273864746
2025-11-03T09:44:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:26
2025-11-03T09:44:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38609790802001953s
2025-11-03T09:44:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38609790802001953
2025-11-03T09:44:28.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:28
2025-11-03T09:44:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9820060729980469s
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9638366;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9836;2460982.82255051;9.74119694;1.3;_
2025-11-03T09:44:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9638366;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9836;2460982.82255051;9.74119694;1.3;_
2025-11-03T09:44:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9638366, teldec = -24.256609
2025-11-03T09:44:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9638366 -24.256609
2025-11-03T09:44:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9638366 -24.256609
2025-11-03T09:44:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9638366 -24.256609
2025-11-03T09:44:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9638366;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9836;2460982.82255053;9.74119694;1.3;_14.9391162307931 -24.1529697677765
2025-11-03T09:44:28.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9391162307931     dec_j2k = -24.1529697677765
2025-11-03T09:44:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967779640710108;171.162357330327;_
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967779640710108;171.162357330327;_
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33753)
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:28.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:28.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82255051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967779640710108, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9638366, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9391162307931, telescope_dec_j2k=-24.1529697677765, observability=1)
2025-11-03T09:44:28.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:28
2025-11-03T09:44:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02180314064025879s
2025-11-03T09:44:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02180314064025879
2025-11-03T09:44:28.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:28
2025-11-03T09:44:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38594603538513184s
2025-11-03T09:44:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38594603538513184
2025-11-03T09:44:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:30
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786760807037354s
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9643686;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98413;2460982.82257363;9.7417275;1.3;_
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9643686;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98413;2460982.82257363;9.7417275;1.3;_
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9643686, teldec = -24.256609
2025-11-03T09:44:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9643686 -24.256609
2025-11-03T09:44:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9643686 -24.256609
2025-11-03T09:44:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9643686 -24.256609
2025-11-03T09:44:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9643686;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98413;2460982.82257366;9.7417275;1.3;_14.939647790654 -24.1529832335885
2025-11-03T09:44:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.939647790654     dec_j2k = -24.1529832335885
2025-11-03T09:44:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967778437351824;171.162362694745;_
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967778437351824;171.162362694745;_
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47705)
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:30.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:30.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:30.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:30.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:30.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82257363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967778437351824, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9643686, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98413, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.939647790654, telescope_dec_j2k=-24.1529832335885, observability=1)
2025-11-03T09:44:30.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:30
2025-11-03T09:44:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022381305694580078s
2025-11-03T09:44:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022381305694580078
2025-11-03T09:44:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:30
2025-11-03T09:44:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3804192543029785s
2025-11-03T09:44:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3804192543029785
2025-11-03T09:44:32.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:32
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981241226196289s
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9649474;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98471;2460982.82259679;9.74230472;1.3;_
2025-11-03T09:44:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9649474;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98471;2460982.82259679;9.74230472;1.3;_
2025-11-03T09:44:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9649474, teldec = -24.256609
2025-11-03T09:44:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9649474 -24.256609
2025-11-03T09:44:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9649474 -24.256609
2025-11-03T09:44:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9649474 -24.256609
2025-11-03T09:44:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9649474;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98471;2460982.82259683;9.74230472;1.3;_14.9402261118519 -24.1529978863034
2025-11-03T09:44:32.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9402261118519     dec_j2k = -24.1529978863034
2025-11-03T09:44:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967784855262673;171.162357330327;_
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967784855262673;171.162357330327;_
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:32.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55375)
2025-11-03T09:44:32.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:32.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:32.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:32.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:32.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:32.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:32.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82259679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967784855262673, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9649474, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9402261118519, telescope_dec_j2k=-24.1529978863034, observability=1)
2025-11-03T09:44:32.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:32
2025-11-03T09:44:32.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:32.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02192997932434082s
2025-11-03T09:44:32.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02192997932434082
2025-11-03T09:44:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:32
2025-11-03T09:44:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3837883472442627s
2025-11-03T09:44:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3837883472442627
2025-11-03T09:44:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:34
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981621503829956s
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9655078;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98527;2460982.82261993;9.74286361;1.3;_
2025-11-03T09:44:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9655078;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98527;2460982.82261993;9.74286361;1.3;_
2025-11-03T09:44:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9655078, teldec = -24.256609
2025-11-03T09:44:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9655078 -24.256609
2025-11-03T09:44:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9655078 -24.256609
2025-11-03T09:44:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9655078 -24.256609
2025-11-03T09:44:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9655078;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98527;2460982.82261995;9.74286361;1.3;_14.9407860483265 -24.1530120755096
2025-11-03T09:44:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9407860483265     dec_j2k = -24.1530120755096
2025-11-03T09:44:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967777635112968;171.162357330327;_
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967777635112968;171.162357330327;_
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48893)
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:34.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:34.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82261993, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967777635112968, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9655078, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98527, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9407860483265, telescope_dec_j2k=-24.1530120755096, observability=1)
2025-11-03T09:44:34.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:34
2025-11-03T09:44:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021514415740966797s
2025-11-03T09:44:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021514415740966797
2025-11-03T09:44:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:34
2025-11-03T09:44:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3811686038970947s
2025-11-03T09:44:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3811686038970947
2025-11-03T09:44:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:36
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3868510723114014s
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9661794;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98595;2460982.82264779;9.74353333;1.3;_
2025-11-03T09:44:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9661794;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98595;2460982.82264779;9.74353333;1.3;_
2025-11-03T09:44:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:36.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9661794, teldec = -24.256609
2025-11-03T09:44:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9661794 -24.256609
2025-11-03T09:44:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9661794 -24.256609
2025-11-03T09:44:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9661794 -24.256609
2025-11-03T09:44:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9661794;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98595;2460982.82264781;9.74353333;1.3;_14.9414570928959 -24.1530290832559
2025-11-03T09:44:36.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9414570928959     dec_j2k = -24.1530290832559
2025-11-03T09:44:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967781646307248;171.162362694745;_
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967781646307248;171.162362694745;_
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56641)
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:36.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82264779, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967781646307248, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9661794, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98595, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9414570928959, telescope_dec_j2k=-24.1530290832559, observability=1)
2025-11-03T09:44:37.288 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:37
2025-11-03T09:44:37.288 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:37.288 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5016829967498779s
2025-11-03T09:44:37.288 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5016829967498779
2025-11-03T09:44:37.310 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:37
2025-11-03T09:44:37.310 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:37.310 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5231962203979492s
2025-11-03T09:44:37.310 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5231962203979492
2025-11-03T09:44:37.733 [DEBUG] [Thread-88720 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:37.733 [DEBUG] [Thread-88720 (handle)] [server.py] [get_status()] Status age = 0.9467411041259766s
2025-11-03T09:44:37.733 [DEBUG] [Thread-88720 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9467411041259766
2025-11-03T09:44:38.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:38
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9717004299163818s
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:38.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:38.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9667306;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9865;2460982.82267083;9.74408306;1.3;_
2025-11-03T09:44:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9667306;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9865;2460982.82267083;9.74408306;1.3;_
2025-11-03T09:44:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:38.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:38.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9667306, teldec = -24.256609
2025-11-03T09:44:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9667306 -24.256609
2025-11-03T09:44:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9667306 -24.256609
2025-11-03T09:44:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9667306 -24.256609
2025-11-03T09:44:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9667306;-24.256609;50.10856;89.993053;50.08601;90.12017;11.9865;2460982.82267086;9.74408306;1.3;_14.942007837098 -24.1530430443934
2025-11-03T09:44:38.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.942007837098     dec_j2k = -24.1530430443934
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967786058620957;171.162351965909;_
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967786058620957;171.162351965909;_
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37855)
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:38.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:38.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:38.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:38.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82267083, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967786058620957, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9667306, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9865, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.942007837098, telescope_dec_j2k=-24.1530430443934, observability=1)
2025-11-03T09:44:40.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:40
2025-11-03T09:44:40.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6006793975830078s
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9671791;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98694;2460982.82268957;9.74453028;1.3;_
2025-11-03T09:44:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9671791;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98694;2460982.82268957;9.74453028;1.3;_
2025-11-03T09:44:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:40.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:40.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:40.380 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9671791, teldec = -24.256609
2025-11-03T09:44:40.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9671791 -24.256609
2025-11-03T09:44:40.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9671791 -24.256609
2025-11-03T09:44:40.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9671791 -24.256609
2025-11-03T09:44:40.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9671791;-24.256609;50.10856;89.993053;50.08601;90.12017;11.98694;2460982.82268959;9.74453028;1.3;_14.9424559662637 -24.1530544058959
2025-11-03T09:44:40.381 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9424559662637     dec_j2k = -24.1530544058959
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967787261979241;171.162351965909;_
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967787261979241;171.162351965909;_
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:40.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:40.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:40.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:40.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:40.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:40.389 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58713)
2025-11-03T09:44:40.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:40.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:40.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82268957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967787261979241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10856, telescope_az=89.993053, telescope_ra=14.9671791, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9424559662637, telescope_dec_j2k=-24.1530544058959, observability=1)
2025-11-03T09:44:40.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:40
2025-11-03T09:44:40.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:40.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022028446197509766s
2025-11-03T09:44:40.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022028446197509766
2025-11-03T09:44:40.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:40
2025-11-03T09:44:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36763525009155273s
2025-11-03T09:44:40.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36763525009155273
2025-11-03T09:44:42.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:42
2025-11-03T09:44:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97316312789917s
2025-11-03T09:44:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9677111;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98748;2460982.82271257;9.74506083;1.3;_
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9677111;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98748;2460982.82271257;9.74506083;1.3;_
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:42.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9677111, teldec = -24.256609
2025-11-03T09:44:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9677111 -24.256609
2025-11-03T09:44:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9677111 -24.256609
2025-11-03T09:44:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9677111 -24.256609
2025-11-03T09:44:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9677111;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98748;2460982.82271259;9.74506083;1.3;_14.9429875264344 -24.1530678845171
2025-11-03T09:44:42.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9429875264344     dec_j2k = -24.1530678845171
2025-11-03T09:44:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967782849665533;171.162357330327;_
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967782849665533;171.162357330327;_
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:42.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48637)
2025-11-03T09:44:42.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:42.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:42.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:42.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:42.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:42.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:42.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82271257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967782849665533, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9677111, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98748, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9429875264344, telescope_dec_j2k=-24.1530678845171, observability=1)
2025-11-03T09:44:42.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:42
2025-11-03T09:44:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02225470542907715s
2025-11-03T09:44:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02225470542907715
2025-11-03T09:44:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:42
2025-11-03T09:44:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.379183292388916s
2025-11-03T09:44:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.379183292388916
2025-11-03T09:44:43.150 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:43.150 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:43.150 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:43.150 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:43.150 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:43.151 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:44:43.152 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:44:43.153 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:44
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792194366455078s
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9682899;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98806;2460982.82273567;9.74563806;1.3;_
2025-11-03T09:44:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9682899;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98806;2460982.82273567;9.74563806;1.3;_
2025-11-03T09:44:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9682899, teldec = -24.256609
2025-11-03T09:44:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9682899 -24.256609
2025-11-03T09:44:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9682899 -24.256609
2025-11-03T09:44:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9682899 -24.256609
2025-11-03T09:44:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9682899;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98806;2460982.82273571;9.74563806;1.3;_14.9435658479693 -24.1530825511662
2025-11-03T09:44:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9435658479693     dec_j2k = -24.1530825511662
2025-11-03T09:44:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967790069815238;171.162357330327;_
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967790069815238;171.162357330327;_
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57841)
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:44.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:44.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82273567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967790069815238, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9682899, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98806, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9435658479693, telescope_dec_j2k=-24.1530825511662, observability=1)
2025-11-03T09:44:44.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:44
2025-11-03T09:44:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021869659423828125s
2025-11-03T09:44:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021869659423828125
2025-11-03T09:44:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:44
2025-11-03T09:44:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37932372093200684s
2025-11-03T09:44:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37932372093200684
2025-11-03T09:44:46.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:46
2025-11-03T09:44:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773569107055664s
2025-11-03T09:44:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:46.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:46.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9688506;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98862;2460982.82275882;9.74619722;1.3;_
2025-11-03T09:44:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9688506;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98862;2460982.82275882;9.74619722;1.3;_
2025-11-03T09:44:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9688506, teldec = -24.256609
2025-11-03T09:44:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9688506 -24.256609
2025-11-03T09:44:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9688506 -24.256609
2025-11-03T09:44:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9688506 -24.256609
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9688506;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98862;2460982.82275884;9.74619722;1.3;_14.9441260845224 -24.1530967614655
2025-11-03T09:44:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9441260845224     dec_j2k = -24.1530967614655
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967792476531806;171.162346601491;_
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967792476531806;171.162346601491;_
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38283)
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:46.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:46.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82275882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967792476531806, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9688506, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98862, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9441260845224, telescope_dec_j2k=-24.1530967614655, observability=1)
2025-11-03T09:44:46.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:46
2025-11-03T09:44:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022735118865966797s
2025-11-03T09:44:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022735118865966797
2025-11-03T09:44:46.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:46
2025-11-03T09:44:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38516879081726074s
2025-11-03T09:44:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38516879081726074
2025-11-03T09:44:48.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:48
2025-11-03T09:44:48.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:48.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795119762420654s
2025-11-03T09:44:48.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:48.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:48.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:48.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9693831;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98915;2460982.82278194;9.74672833;1.3;_
2025-11-03T09:44:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9693831;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98915;2460982.82278194;9.74672833;1.3;_
2025-11-03T09:44:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:48.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9693831, teldec = -24.256609
2025-11-03T09:44:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9693831 -24.256609
2025-11-03T09:44:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9693831 -24.256609
2025-11-03T09:44:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9693831 -24.256609
2025-11-03T09:44:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9693831;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98915;2460982.82278197;9.74672833;1.3;_14.9446581444349 -24.1531102591634
2025-11-03T09:44:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9446581444349     dec_j2k = -24.1531102591634
2025-11-03T09:44:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967787261979241;171.162346601491;_
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967787261979241;171.162346601491;_
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:48.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49177)
2025-11-03T09:44:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:48.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:48.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:48.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82278194, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967787261979241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9693831, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98915, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9446581444349, telescope_dec_j2k=-24.1531102591634, observability=1)
2025-11-03T09:44:48.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:48
2025-11-03T09:44:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02136993408203125s
2025-11-03T09:44:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02136993408203125
2025-11-03T09:44:48.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:48
2025-11-03T09:44:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38437581062316895s
2025-11-03T09:44:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38437581062316895
2025-11-03T09:44:48.931 [DEBUG] [Thread-88721 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:48.931 [DEBUG] [Thread-88721 (handle)] [server.py] [get_status()] Status age = 0.5556256771087646s
2025-11-03T09:44:48.931 [DEBUG] [Thread-88721 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5556256771087646
2025-11-03T09:44:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:50
2025-11-03T09:44:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852886199951172s
2025-11-03T09:44:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9699425;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98971;2460982.82280512;9.74728611;1.3;_
2025-11-03T09:44:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9699425;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98971;2460982.82280512;9.74728611;1.3;_
2025-11-03T09:44:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9699425, teldec = -24.256609
2025-11-03T09:44:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9699425 -24.256609
2025-11-03T09:44:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9699425 -24.256609
2025-11-03T09:44:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9699425 -24.256609
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9699425;-24.256609;50.108559;89.993053;50.08601;90.12017;11.98971;2460982.82280515;9.74728611;1.3;_14.945217082169 -24.1531244409147
2025-11-03T09:44:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.945217082169     dec_j2k = -24.1531244409147
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967784855262673;171.162357330327;_
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967784855262673;171.162357330327;_
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43239)
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:50.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:50.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:50.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82280512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967784855262673, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9699425, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.98971, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.945217082169, telescope_dec_j2k=-24.1531244409147, observability=1)
2025-11-03T09:44:50.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:50
2025-11-03T09:44:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02242255210876465s
2025-11-03T09:44:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02242255210876465
2025-11-03T09:44:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:50
2025-11-03T09:44:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3779292106628418s
2025-11-03T09:44:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3779292106628418
2025-11-03T09:44:52.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:52
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2858903408050537s
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:52.667 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:52.668 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9706057;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99037;2460982.82283182;9.7479475;1.3;_
2025-11-03T09:44:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9706057;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99037;2460982.82283182;9.7479475;1.3;_
2025-11-03T09:44:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:52.669 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:52.670 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9706057, teldec = -24.256609
2025-11-03T09:44:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9706057 -24.256609
2025-11-03T09:44:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9706057 -24.256609
2025-11-03T09:44:52.670 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9706057 -24.256609
2025-11-03T09:44:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9706057;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99037;2460982.82283184;9.7479475;1.3;_14.9458797341976 -24.153141257092
2025-11-03T09:44:52.671 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9458797341976     dec_j2k = -24.153141257092
2025-11-03T09:44:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:52.671 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967782849665533;171.162351965909;_
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967782849665533;171.162351965909;_
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:52.672 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:52.673 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:52.674 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41411)
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:52.677 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:52.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:52.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82283182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967782849665533, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9706057, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99037, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9458797341976, telescope_dec_j2k=-24.153141257092, observability=1)
2025-11-03T09:44:52.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:52
2025-11-03T09:44:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02136969566345215s
2025-11-03T09:44:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02136969566345215
2025-11-03T09:44:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:52
2025-11-03T09:44:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07349014282226562s
2025-11-03T09:44:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07349014282226562
2025-11-03T09:44:54.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:54
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7030110359191895s
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:54.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.971082;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99085;2460982.82285172;9.7484225;1.3;_
2025-11-03T09:44:54.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.971082;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99085;2460982.82285172;9.7484225;1.3;_
2025-11-03T09:44:54.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:54.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:54.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:54.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.971082, teldec = -24.256609
2025-11-03T09:44:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.971082 -24.256609
2025-11-03T09:44:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.971082 -24.256609
2025-11-03T09:44:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.971082 -24.256609
2025-11-03T09:44:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.971082;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99085;2460982.82285175;9.7484225;1.3;_14.9463556407004 -24.1531533361634
2025-11-03T09:44:54.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9463556407004     dec_j2k = -24.1531533361634
2025-11-03T09:44:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967788064218097;171.162357330327;_
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967788064218097;171.162357330327;_
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53849)
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:54.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82285172, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967788064218097, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.971082, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99085, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9463556407004, telescope_dec_j2k=-24.1531533361634, observability=1)
2025-11-03T09:44:54.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:54
2025-11-03T09:44:54.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:54.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021605968475341797s
2025-11-03T09:44:54.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021605968475341797
2025-11-03T09:44:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:54
2025-11-03T09:44:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35439229011535645s
2025-11-03T09:44:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35439229011535645
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Status age = 1.4565012454986572s
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:55.861 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:55.862 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:55.863 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 17;14.9714736;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99124;2460982.82286878;9.74881306;1.3;_
2025-11-03T09:44:55.863 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response 17;14.9714736;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99124;2460982.82286878;9.74881306;1.3;_
2025-11-03T09:44:55.863 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:55.863 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:55.863 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:55.864 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:55.864 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:55.864 [INFO] [Thread-88722 (handle)] [driver.py] [get_status()] Telra = 14.9714736, teldec = -24.256609
2025-11-03T09:44:55.864 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9714736 -24.256609
2025-11-03T09:44:55.865 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9714736 -24.256609
2025-11-03T09:44:55.865 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9714736 -24.256609
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 17;14.9714736;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99124;2460982.82286881;9.74881306;1.3;_14.9467469172081 -24.1531632684469
2025-11-03T09:44:55.866 [INFO] [Thread-88722 (handle)] [driver.py] [get_status()] ra_j2k = 14.9467469172081     dec_j2k = -24.1531632684469
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 140;0.0967793278770662;171.162357330327;_
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response 140;0.0967793278770662;171.162357330327;_
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:55.866 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:55.867 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:55.867 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:55.867 [DEBUG] [Thread-88722 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:55.867 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:55.867 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:55.868 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:55.868 [DEBUG] [Thread-88722 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:55.868 [DEBUG] [Thread-88722 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:55.868 [DEBUG] [Thread-88722 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52181)
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:55.874 [DEBUG] [Thread-88722 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:55.881 [DEBUG] [Thread-88722 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:55.881 [DEBUG] [Thread-88722 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:55.881 [DEBUG] [Thread-88722 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:55.881 [DEBUG] [Thread-88722 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:55.882 [DEBUG] [Thread-88722 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:55.882 [DEBUG] [Thread-88722 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:55.882 [DEBUG] [Thread-88722 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:55.882 [DEBUG] [Thread-88722 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:55.882 [DEBUG] [Thread-88722 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:55.882 [INFO] [Thread-88722 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82286878, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967793278770662, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9714736, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9467469172081, telescope_dec_j2k=-24.1531632684469, observability=1)
2025-11-03T09:44:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:56
2025-11-03T09:44:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.47936129570007324s
2025-11-03T09:44:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.47936129570007324
2025-11-03T09:44:56.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:56
2025-11-03T09:44:56.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:56.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5015280246734619s
2025-11-03T09:44:56.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5015280246734619
2025-11-03T09:44:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:56
2025-11-03T09:44:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8821249008178711s
2025-11-03T09:44:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8821249008178711
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 2.075000286102295s
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:44:57.957 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.97208;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99185;2460982.82289303;9.74941778;1.3;_
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.97208;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99185;2460982.82289303;9.74941778;1.3;_
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:44:57.958 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:44:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:44:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:57.959 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:44:57.960 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.97208, teldec = -24.256609
2025-11-03T09:44:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.97208 -24.256609
2025-11-03T09:44:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.97208 -24.256609
2025-11-03T09:44:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.97208 -24.256609
2025-11-03T09:44:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.97208;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99185;2460982.82289307;9.74941778;1.3;_14.9473528163269 -24.1531786509524
2025-11-03T09:44:57.961 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.9473528163269     dec_j2k = -24.1531786509524
2025-11-03T09:44:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:44:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:44:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:44:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967792877651234;171.162357330327;_
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967792877651234;171.162357330327;_
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:44:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:44:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:44:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:44:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:44:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:44:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37607)
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:44:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:44:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:44:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:44:57.973 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82289303, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967792877651234, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.97208, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99185, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9473528163269, telescope_dec_j2k=-24.1531786509524, observability=1)
2025-11-03T09:44:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:58
2025-11-03T09:44:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38762760162353516s
2025-11-03T09:44:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38762760162353516
2025-11-03T09:44:58.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:58
2025-11-03T09:44:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41011929512023926s
2025-11-03T09:44:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41011929512023926
2025-11-03T09:44:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:44:58
2025-11-03T09:44:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:44:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7891659736633301s
2025-11-03T09:44:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7891659736633301
2025-11-03T09:45:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:00
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.78901743888855s
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.972837;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9926;2460982.82292551;9.75017278;1.3;_
2025-11-03T09:45:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.972837;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9926;2460982.82292551;9.75017278;1.3;_
2025-11-03T09:45:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.972837, teldec = -24.256609
2025-11-03T09:45:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.972837 -24.256609
2025-11-03T09:45:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.972837 -24.256609
2025-11-03T09:45:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.972837 -24.256609
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9728652;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99263;2460982.82292553;9.75020083;1.3;_14.9481091911415 -24.153197857429
2025-11-03T09:45:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9481091911415     dec_j2k = -24.153197857429
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967796487726086;171.162357330327;_
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967796487726086;171.162357330327;_
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49395)
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:00.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:00.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82292551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967796487726086, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.972837, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9926, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9481091911415, telescope_dec_j2k=-24.153197857429, observability=1)
2025-11-03T09:45:00.866 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:00
2025-11-03T09:45:00.866 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:00.867 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08535456657409668s
2025-11-03T09:45:00.867 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08535456657409668
2025-11-03T09:45:00.889 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:00
2025-11-03T09:45:00.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:00.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10784745216369629s
2025-11-03T09:45:00.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10784745216369629
2025-11-03T09:45:02.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:02
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5808358192443848s
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9732849;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99305;2460982.82294404;9.75061944;1.3;_
2025-11-03T09:45:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9732849;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99305;2460982.82294404;9.75061944;1.3;_
2025-11-03T09:45:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9732849, teldec = -24.256609
2025-11-03T09:45:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9732849 -24.256609
2025-11-03T09:45:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9732849 -24.256609
2025-11-03T09:45:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9732849 -24.256609
2025-11-03T09:45:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9732849;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99305;2460982.82294406;9.75061944;1.3;_14.9485567212804 -24.153209223413
2025-11-03T09:45:02.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9485567212804     dec_j2k = -24.153209223413
2025-11-03T09:45:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967794883248374;171.162357330327;_
2025-11-03T09:45:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967794883248374;171.162357330327;_
2025-11-03T09:45:02.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36119)
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:02.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:02.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:02.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82294404, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967794883248374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9732849, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99305, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9485567212804, telescope_dec_j2k=-24.153209223413, observability=1)
2025-11-03T09:45:02.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:02
2025-11-03T09:45:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02128458023071289s
2025-11-03T09:45:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02128458023071289
2025-11-03T09:45:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:02
2025-11-03T09:45:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3794684410095215s
2025-11-03T09:45:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3794684410095215
2025-11-03T09:45:04.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:04
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780566692352295s
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9738635;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99363;2460982.82296716;9.75119639;1.3;_
2025-11-03T09:45:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9738635;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99363;2460982.82296716;9.75119639;1.3;_
2025-11-03T09:45:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9738635, teldec = -24.256609
2025-11-03T09:45:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9738635 -24.256609
2025-11-03T09:45:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9738635 -24.256609
2025-11-03T09:45:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9738635 -24.256609
2025-11-03T09:45:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9738635;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99363;2460982.82296719;9.75119639;1.3;_14.9491348435433 -24.1532239081969
2025-11-03T09:45:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9491348435433     dec_j2k = -24.1532239081969
2025-11-03T09:45:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967792075412378;171.162357330327;_
2025-11-03T09:45:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967792075412378;171.162357330327;_
2025-11-03T09:45:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33341)
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:04.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:04.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82296716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967792075412378, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9738635, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99363, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9491348435433, telescope_dec_j2k=-24.1532239081969, observability=1)
2025-11-03T09:45:04.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:04
2025-11-03T09:45:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02123093605041504s
2025-11-03T09:45:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02123093605041504
2025-11-03T09:45:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:04
2025-11-03T09:45:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38082385063171387s
2025-11-03T09:45:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38082385063171387
2025-11-03T09:45:06.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:06
2025-11-03T09:45:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984100103378296s
2025-11-03T09:45:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.974396;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99416;2460982.82299034;9.7517275;1.3;_
2025-11-03T09:45:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.974396;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99416;2460982.82299034;9.7517275;1.3;_
2025-11-03T09:45:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.974396, teldec = -24.256609
2025-11-03T09:45:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.974396 -24.256609
2025-11-03T09:45:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.974396 -24.256609
2025-11-03T09:45:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.974396 -24.256609
2025-11-03T09:45:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.974396;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99416;2460982.82299036;9.7517275;1.3;_14.9496669039217 -24.1532374250963
2025-11-03T09:45:06.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9496669039217     dec_j2k = -24.1532374250963
2025-11-03T09:45:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967792476531806;171.162357330327;_
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967792476531806;171.162357330327;_
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51977)
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:06.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:06.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:06.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:06.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82299034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967792476531806, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.974396, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99416, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9496669039217, telescope_dec_j2k=-24.1532374250963, observability=1)
2025-11-03T09:45:06.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:06
2025-11-03T09:45:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021393537521362305s
2025-11-03T09:45:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021393537521362305
2025-11-03T09:45:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:06
2025-11-03T09:45:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37686800956726074s
2025-11-03T09:45:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37686800956726074
2025-11-03T09:45:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:08
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9741294384002686s
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9749564;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99472;2460982.82301344;9.75228639;1.3;_
2025-11-03T09:45:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9749564;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99472;2460982.82301344;9.75228639;1.3;_
2025-11-03T09:45:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:08.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9749564, teldec = -24.256609
2025-11-03T09:45:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9749564 -24.256609
2025-11-03T09:45:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9749564 -24.256609
2025-11-03T09:45:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9749564 -24.256609
2025-11-03T09:45:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9749564;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99472;2460982.82301346;9.75228639;1.3;_14.9502268413198 -24.1532516524065
2025-11-03T09:45:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9502268413198     dec_j2k = -24.1532516524065
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967796086606658;171.162368059163;_
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967796086606658;171.162368059163;_
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44885)
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:08.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:08.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:08.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:08.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82301344, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967796086606658, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9749564, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99472, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9502268413198, telescope_dec_j2k=-24.1532516524065, observability=1)
2025-11-03T09:45:08.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:08
2025-11-03T09:45:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0215303897857666s
2025-11-03T09:45:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0215303897857666
2025-11-03T09:45:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:08
2025-11-03T09:45:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3896775245666504s
2025-11-03T09:45:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3896775245666504
2025-11-03T09:45:10.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:10
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9880666732788086s
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.975535;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9953;2460982.82303662;9.75286333;1.3;_
2025-11-03T09:45:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.975535;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9953;2460982.82303662;9.75286333;1.3;_
2025-11-03T09:45:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.975535, teldec = -24.256609
2025-11-03T09:45:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.975535 -24.256609
2025-11-03T09:45:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.975535 -24.256609
2025-11-03T09:45:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.975535 -24.256609
2025-11-03T09:45:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.975535;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9953;2460982.82303666;9.75286333;1.3;_14.9508049637517 -24.1532663441425
2025-11-03T09:45:10.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9508049637517     dec_j2k = -24.1532663441425
2025-11-03T09:45:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967800498920367;171.162368059163;_
2025-11-03T09:45:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967800498920367;171.162368059163;_
2025-11-03T09:45:10.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49247)
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:10.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:10.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82303662, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967800498920367, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.975535, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9953, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9508049637517, telescope_dec_j2k=-24.1532663441425, observability=1)
2025-11-03T09:45:10.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:10
2025-11-03T09:45:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02192091941833496s
2025-11-03T09:45:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02192091941833496
2025-11-03T09:45:10.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:10
2025-11-03T09:45:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37630486488342285s
2025-11-03T09:45:10.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37630486488342285
2025-11-03T09:45:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:12
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979874610900879s
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9760678;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99583;2460982.82305976;9.75339472;1.3;_
2025-11-03T09:45:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9760678;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99583;2460982.82305976;9.75339472;1.3;_
2025-11-03T09:45:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9760678, teldec = -24.256609
2025-11-03T09:45:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9760678 -24.256609
2025-11-03T09:45:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9760678 -24.256609
2025-11-03T09:45:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9760678 -24.256609
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9760678;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99583;2460982.82305978;9.75339472;1.3;_14.951337324038 -24.1532798750588
2025-11-03T09:45:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.951337324038     dec_j2k = -24.1532798750588
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967798894442655;171.162362694745;_
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967798894442655;171.162362694745;_
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39367)
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:12.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:12.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:12.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82305976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967798894442655, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9760678, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.951337324038, telescope_dec_j2k=-24.1532798750588, observability=1)
2025-11-03T09:45:12.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:12
2025-11-03T09:45:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02160358428955078s
2025-11-03T09:45:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02160358428955078
2025-11-03T09:45:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:12
2025-11-03T09:45:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38037109375s
2025-11-03T09:45:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38037109375
2025-11-03T09:45:12.893 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:45:12
2025-11-03T09:45:12.893 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:12.893 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.5126621723175049s
2025-11-03T09:45:12.893 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5126621723175049
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Status age = 1.5384984016418457s
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:13.919 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:13.920 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:13.921 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 17;14.976516;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99628;2460982.82307779;9.75384167;1.3;_
2025-11-03T09:45:13.921 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response 17;14.976516;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99628;2460982.82307779;9.75384167;1.3;_
2025-11-03T09:45:13.921 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:13.921 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:13.921 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:13.922 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:13.922 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:13.922 [INFO] [Thread-88723 (handle)] [driver.py] [get_status()] Telra = 14.976516, teldec = -24.256609
2025-11-03T09:45:13.922 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] UnCookCoordinates 14.976516 -24.256609
2025-11-03T09:45:13.922 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.976516 -24.256609
2025-11-03T09:45:13.922 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.976516 -24.256609
2025-11-03T09:45:13.923 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 17;14.976516;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99628;2460982.82307781;9.75384167;1.3;_14.9517851541821 -24.1532912590646
2025-11-03T09:45:13.923 [INFO] [Thread-88723 (handle)] [driver.py] [get_status()] ra_j2k = 14.9517851541821     dec_j2k = -24.1532912590646
2025-11-03T09:45:13.923 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:13.923 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:13.923 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:13.923 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 140;0.096779568548723;171.162351965909;_
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response 140;0.096779568548723;171.162351965909;_
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:13.924 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:13.925 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:13.925 [DEBUG] [Thread-88723 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:13.925 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:13.925 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:13.925 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:13.926 [DEBUG] [Thread-88723 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:13.926 [DEBUG] [Thread-88723 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:13.926 [DEBUG] [Thread-88723 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:13.932 [DEBUG] [Thread-88723 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33833)
2025-11-03T09:45:13.932 [DEBUG] [Thread-88723 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:13.933 [DEBUG] [Thread-88723 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:13.933 [DEBUG] [Thread-88723 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:13.933 [DEBUG] [Thread-88723 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:13.933 [DEBUG] [Thread-88723 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:13.940 [DEBUG] [Thread-88723 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:13.940 [INFO] [Thread-88723 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82307779, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096779568548723, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.976516, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99628, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9517851541821, telescope_dec_j2k=-24.1532912590646, observability=1)
2025-11-03T09:45:14.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:14
2025-11-03T09:45:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.426180362701416s
2025-11-03T09:45:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.426180362701416
2025-11-03T09:45:14.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:14
2025-11-03T09:45:14.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:14.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4502286911010742s
2025-11-03T09:45:14.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4502286911010742
2025-11-03T09:45:14.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:14
2025-11-03T09:45:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8184146881103516s
2025-11-03T09:45:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8184146881103516
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 2.424415111541748s
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:16.365 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:16.366 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:16.367 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9772065;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99697;2460982.8231061;9.75453028;1.3;_
2025-11-03T09:45:16.367 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9772065;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99697;2460982.8231061;9.75453028;1.3;_
2025-11-03T09:45:16.367 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:16.367 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:16.367 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:16.368 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:16.368 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:16.368 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9772065, teldec = -24.256609
2025-11-03T09:45:16.368 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9772065 -24.256609
2025-11-03T09:45:16.368 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9772065 -24.256609
2025-11-03T09:45:16.368 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9772065 -24.256609
2025-11-03T09:45:16.369 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9772065;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99697;2460982.82310612;9.75453028;1.3;_14.9524750844483 -24.1533088001668
2025-11-03T09:45:16.369 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9524750844483     dec_j2k = -24.1533088001668
2025-11-03T09:45:16.369 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:16.369 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:16.369 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967797691084371;171.162351965909;_
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967797691084371;171.162351965909;_
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:16.370 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:16.371 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:16.372 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:16.372 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:16.372 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35775)
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:16.375 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:16.382 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:16.382 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:16.382 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:16.382 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:16.383 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:16.383 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:16.383 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:16.383 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:16.383 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:45:16.383 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8231061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967797691084371, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9772065, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:44:17.130931', telescope_ra_j2k=14.9524750844483, telescope_dec_j2k=-24.1533088001668, observability=1)
2025-11-03T09:45:16.383 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4901349544525146 seconds ago
2025-11-03T09:45:16.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:16
2025-11-03T09:45:16.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:16.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03606677055358887s
2025-11-03T09:45:16.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03606677055358887
2025-11-03T09:45:16.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:16
2025-11-03T09:45:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05754733085632324s
2025-11-03T09:45:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05754733085632324
2025-11-03T09:45:16.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:16
2025-11-03T09:45:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39969778060913086s
2025-11-03T09:45:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39969778060913086
2025-11-03T09:45:17.272 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:17.272 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:17.272 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:17.272 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:17.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:17.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:17.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:17.273 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:17.273 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:17.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:17.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:17.275 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:45:17.275 [INFO] [ThreadPoolExecutor-3421_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:45:17.275 [INFO] [ThreadPoolExecutor-3421_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:45:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:18
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788117408752441s
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9777385;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9975;2460982.8231292;9.75506083;1.3;_
2025-11-03T09:45:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9777385;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9975;2460982.8231292;9.75506083;1.3;_
2025-11-03T09:45:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9777385, teldec = -24.256609
2025-11-03T09:45:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9777385 -24.256609
2025-11-03T09:45:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9777385 -24.256609
2025-11-03T09:45:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9777385 -24.256609
2025-11-03T09:45:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9777385;-24.256609;50.108559;89.993053;50.08601;90.12017;11.9975;2460982.82312922;9.75506083;1.3;_14.9530066455503 -24.1533223171536
2025-11-03T09:45:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9530066455503     dec_j2k = -24.1533223171536
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967798493323227;171.162357330327;_
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967798493323227;171.162357330327;_
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37817)
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:18.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:18.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8231292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967798493323227, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9777385, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.9975, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9530066455503, telescope_dec_j2k=-24.1533223171536, observability=1)
2025-11-03T09:45:18.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:18
2025-11-03T09:45:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022060394287109375s
2025-11-03T09:45:18.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022060394287109375
2025-11-03T09:45:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:18
2025-11-03T09:45:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38931798934936523s
2025-11-03T09:45:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38931798934936523
2025-11-03T09:45:20.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:20
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9898993968963623s
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9782992;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99806;2460982.82315241;9.75562;1.3;_
2025-11-03T09:45:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9782992;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99806;2460982.82315241;9.75562;1.3;_
2025-11-03T09:45:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:20.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9782992, teldec = -24.256609
2025-11-03T09:45:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9782992 -24.256609
2025-11-03T09:45:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9782992 -24.256609
2025-11-03T09:45:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9782992 -24.256609
2025-11-03T09:45:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9782992;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99806;2460982.82315243;9.75562;1.3;_14.9535668830283 -24.1533365655467
2025-11-03T09:45:20.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9535668830283     dec_j2k = -24.1533365655467
2025-11-03T09:45:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967794482128946;171.162362694745;_
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967794482128946;171.162362694745;_
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:20.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40201)
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:20.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:20.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82315241, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967794482128946, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9782992, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99806, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9535668830283, telescope_dec_j2k=-24.1533365655467, observability=1)
2025-11-03T09:45:20.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:20
2025-11-03T09:45:20.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:20.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023998022079467773s
2025-11-03T09:45:20.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023998022079467773
2025-11-03T09:45:20.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:20
2025-11-03T09:45:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3852379322052002s
2025-11-03T09:45:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3852379322052002
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.3953628540039062s
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:21.778 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:21.779 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.9786917;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99846;2460982.82316874;9.75601139;1.3;_
2025-11-03T09:45:21.779 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;14.9786917;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99846;2460982.82316874;9.75601139;1.3;_
2025-11-03T09:45:21.780 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:21.780 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:21.780 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:21.781 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:21.781 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:21.781 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 14.9786917, teldec = -24.256609
2025-11-03T09:45:21.781 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9786917 -24.256609
2025-11-03T09:45:21.781 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9786917 -24.256609
2025-11-03T09:45:21.781 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9786917 -24.256609
2025-11-03T09:45:21.782 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;14.9786917;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99846;2460982.82316877;9.75601139;1.3;_14.9539590592875 -24.1533465410194
2025-11-03T09:45:21.782 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.9539590592875     dec_j2k = -24.1533465410194
2025-11-03T09:45:21.782 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:21.782 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:21.782 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967802103398079;171.162362694745;_
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967802103398079;171.162362694745;_
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:21.783 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:21.784 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:21.785 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:21.785 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:21.785 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:21.788 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59315)
2025-11-03T09:45:21.788 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:21.788 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:21.788 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:21.789 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:21.789 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:21.796 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:21.796 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82316874, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967802103398079, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9786917, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99846, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9539590592875, telescope_dec_j2k=-24.1533465410194, observability=1)
2025-11-03T09:45:22.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:22
2025-11-03T09:45:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5636529922485352s
2025-11-03T09:45:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5636529922485352
2025-11-03T09:45:22.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:22
2025-11-03T09:45:22.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:22.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5868864059448242s
2025-11-03T09:45:22.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5868864059448242
2025-11-03T09:45:22.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:22
2025-11-03T09:45:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9626834392547607s
2025-11-03T09:45:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9626834392547607
2025-11-03T09:45:24.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:24
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.571850061416626s
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9794125;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99918;2460982.82319873;9.75673028;1.3;_
2025-11-03T09:45:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9794125;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99918;2460982.82319873;9.75673028;1.3;_
2025-11-03T09:45:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:24.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9794125, teldec = -24.256609
2025-11-03T09:45:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9794125 -24.256609
2025-11-03T09:45:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9794125 -24.256609
2025-11-03T09:45:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9794125 -24.256609
2025-11-03T09:45:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9794125;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99918;2460982.82319875;9.75673028;1.3;_14.9546792648292 -24.1533648631891
2025-11-03T09:45:24.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9546792648292     dec_j2k = -24.1533648631891
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967794883248374;171.162357330327;_
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967794883248374;171.162357330327;_
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:24.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38415)
2025-11-03T09:45:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:24.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:24.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:24.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:24.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:24.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82319873, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967794883248374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9794125, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99918, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9546792648292, telescope_dec_j2k=-24.1533648631891, observability=1)
2025-11-03T09:45:24.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:24
2025-11-03T09:45:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02186727523803711s
2025-11-03T09:45:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02186727523803711
2025-11-03T09:45:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:24
2025-11-03T09:45:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37597107887268066s
2025-11-03T09:45:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37597107887268066
2025-11-03T09:45:26.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:26
2025-11-03T09:45:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976494550704956s
2025-11-03T09:45:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9799735;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99974;2460982.82322182;9.75728972;1.3;_
2025-11-03T09:45:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9799735;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99974;2460982.82322182;9.75728972;1.3;_
2025-11-03T09:45:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9799735, teldec = -24.256609
2025-11-03T09:45:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9799735 -24.256609
2025-11-03T09:45:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9799735 -24.256609
2025-11-03T09:45:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9799735 -24.256609
2025-11-03T09:45:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9799735;-24.256609;50.108559;89.993053;50.08601;90.12017;11.99974;2460982.82322184;9.75728972;1.3;_14.9552398022241 -24.1533791259498
2025-11-03T09:45:26.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9552398022241     dec_j2k = -24.1533791259498
2025-11-03T09:45:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967802905636935;171.162362694745;_
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967802905636935;171.162362694745;_
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:26.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48871)
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:26.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:26.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82322182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967802905636935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9799735, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=11.99974, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9552398022241, telescope_dec_j2k=-24.1533791259498, observability=1)
2025-11-03T09:45:26.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:26
2025-11-03T09:45:26.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:26.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021816492080688477s
2025-11-03T09:45:26.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021816492080688477
2025-11-03T09:45:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:26
2025-11-03T09:45:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3885996341705322s
2025-11-03T09:45:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3885996341705322
2025-11-03T09:45:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:28
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.381781816482544s
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9806373;-24.256609;50.108559;89.993053;50.08601;90.12017;12.0004;2460982.82324957;9.75795167;1.3;_
2025-11-03T09:45:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9806373;-24.256609;50.108559;89.993053;50.08601;90.12017;12.0004;2460982.82324957;9.75795167;1.3;_
2025-11-03T09:45:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9806373, teldec = -24.256609
2025-11-03T09:45:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9806373 -24.256609
2025-11-03T09:45:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9806373 -24.256609
2025-11-03T09:45:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9806373 -24.256609
2025-11-03T09:45:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9806373;-24.256609;50.108559;89.993053;50.08601;90.12017;12.0004;2460982.82324959;9.75795167;1.3;_14.9559030549205 -24.1533960051971
2025-11-03T09:45:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9559030549205     dec_j2k = -24.1533960051971
2025-11-03T09:45:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967804510114647;171.162351965909;_
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967804510114647;171.162351965909;_
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44183)
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82324957, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967804510114647, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9806373, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0004, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9559030549205, telescope_dec_j2k=-24.1533960051971, observability=1)
2025-11-03T09:45:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:30
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9770171642303467s
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9811974;-24.256609;50.108559;89.993053;50.08601;90.12017;12.00096;2460982.82327271;9.75851028;1.3;_
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9811974;-24.256609;50.108559;89.993053;50.08601;90.12017;12.00096;2460982.82327271;9.75851028;1.3;_
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:30.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9811974, teldec = -24.256609
2025-11-03T09:45:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9811974 -24.256609
2025-11-03T09:45:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9811974 -24.256609
2025-11-03T09:45:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9811974 -24.256609
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9811974;-24.256609;50.108559;89.993053;50.08601;90.12017;12.00096;2460982.82327273;9.75851028;1.3;_14.9564626931776 -24.1534102499989
2025-11-03T09:45:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9564626931776     dec_j2k = -24.1534102499989
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096780410899522;171.162357330327;_
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096780410899522;171.162357330327;_
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52281)
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:30.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82327271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096780410899522, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108559, telescope_az=89.993053, telescope_ra=14.9811974, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00096, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9564626931776, telescope_dec_j2k=-24.1534102499989, observability=1)
2025-11-03T09:45:31.003 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:31
2025-11-03T09:45:31.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:31.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22201132774353027s
2025-11-03T09:45:31.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22201132774353027
2025-11-03T09:45:31.025 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:31
2025-11-03T09:45:31.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:31.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24355864524841309s
2025-11-03T09:45:31.025 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24355864524841309
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Status age = 1.2043883800506592s
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:31.986 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:31.987 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 17;14.9815612;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00133;2460982.8232869;9.75887306;1.3;_
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response 17;14.9815612;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00133;2460982.8232869;9.75887306;1.3;_
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:31.988 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:31.989 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:31.989 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:31.989 [INFO] [Thread-88724 (handle)] [driver.py] [get_status()] Telra = 14.9815612, teldec = -24.256609
2025-11-03T09:45:31.990 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9815612 -24.256609
2025-11-03T09:45:31.990 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9815612 -24.256609
2025-11-03T09:45:31.990 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9815612 -24.256609
2025-11-03T09:45:31.990 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 17;14.9815612;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00133;2460982.82328692;9.75887306;1.3;_14.9568261932925 -24.1534195035866
2025-11-03T09:45:31.990 [INFO] [Thread-88724 (handle)] [driver.py] [get_status()] ra_j2k = 14.9568261932925     dec_j2k = -24.1534195035866
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 140;0.0967807317950644;171.162368059163;_
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response 140;0.0967807317950644;171.162368059163;_
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:31.991 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:31.992 [DEBUG] [Thread-88724 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:31.993 [DEBUG] [Thread-88724 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:31.993 [DEBUG] [Thread-88724 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60481)
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:31.995 [DEBUG] [Thread-88724 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:32.002 [DEBUG] [Thread-88724 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:32.003 [INFO] [Thread-88724 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8232869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967807317950644, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9815612, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00133, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9568261932925, telescope_dec_j2k=-24.1534195035866, observability=1)
2025-11-03T09:45:32.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:32
2025-11-03T09:45:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3583822250366211s
2025-11-03T09:45:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3583822250366211
2025-11-03T09:45:32.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:32
2025-11-03T09:45:32.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:32.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37998390197753906s
2025-11-03T09:45:32.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37998390197753906
2025-11-03T09:45:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:32
2025-11-03T09:45:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7574310302734375s
2025-11-03T09:45:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7574310302734375
2025-11-03T09:45:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:34
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.357536792755127s
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.982196;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00196;2460982.82331437;9.75950611;1.3;_
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.982196;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00196;2460982.82331437;9.75950611;1.3;_
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.982196, teldec = -24.256609
2025-11-03T09:45:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.982196 -24.256609
2025-11-03T09:45:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.982196 -24.256609
2025-11-03T09:45:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.982196 -24.256609
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.982196;-24.256609;50.108558;89.993053;50.08601;90.12017;12.00196;2460982.82331443;9.75950611;1.3;_14.9574604700742 -24.153435652583
2025-11-03T09:45:34.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9574604700742     dec_j2k = -24.153435652583
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967807719070072;171.162357330327;_
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967807719070072;171.162357330327;_
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42805)
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:34.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:34.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:34.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:34.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82331437, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967807719070072, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.982196, telescope_dec=-24.256609, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00196, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9574604700742, telescope_dec_j2k=-24.153435652583, observability=1)
2025-11-03T09:45:34.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:34
2025-11-03T09:45:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02257227897644043s
2025-11-03T09:45:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02257227897644043
2025-11-03T09:45:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:34
2025-11-03T09:45:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37798619270324707s
2025-11-03T09:45:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37798619270324707
2025-11-03T09:45:36.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:36
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840505123138428s
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9827564;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00252;2460982.8233376;9.760065;1.3;_
2025-11-03T09:45:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9827564;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00252;2460982.8233376;9.760065;1.3;_
2025-11-03T09:45:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:36.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9827564, teldec = -24.256608
2025-11-03T09:45:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9827564 -24.256608
2025-11-03T09:45:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9827564 -24.256608
2025-11-03T09:45:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9827564 -24.256608
2025-11-03T09:45:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9827564;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00252;2460982.82333763;9.760065;1.3;_14.9580204083729 -24.1534489112983
2025-11-03T09:45:36.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9580204083729     dec_j2k = -24.1534489112983
2025-11-03T09:45:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967811329144924;171.162362694745;_
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967811329144924;171.162362694745;_
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:36.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:36.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:36.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:36.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58727)
2025-11-03T09:45:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:36.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:36.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:36.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8233376, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967811329144924, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9827564, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00252, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9580204083729, telescope_dec_j2k=-24.1534489112983, observability=1)
2025-11-03T09:45:36.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:36
2025-11-03T09:45:36.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:36.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023370981216430664s
2025-11-03T09:45:36.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023370981216430664
2025-11-03T09:45:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:36
2025-11-03T09:45:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37522077560424805s
2025-11-03T09:45:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37522077560424805
2025-11-03T09:45:38.153 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.153 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.153 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:38.153 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:38.153 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:38.154 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.154 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:38.154 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:38.154 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.155 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.156 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:38.156 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:38.156 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:38.156 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:38.157 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:45:38.158 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:38.159 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Park
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:45:38.160 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:45:38.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 29;14.9832603;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00303;2460982.82335834;9.7605675;1.3;_Park Command Successful
2025-11-03T09:45:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:38
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3739473819732666s
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9834279;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00319;2460982.82336532;9.76073472;1.3;_
2025-11-03T09:45:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9834279;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00319;2460982.82336532;9.76073472;1.3;_
2025-11-03T09:45:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9834279, teldec = -24.256608
2025-11-03T09:45:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9834279 -24.256608
2025-11-03T09:45:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9834279 -24.256608
2025-11-03T09:45:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9834279 -24.256608
2025-11-03T09:45:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9834279;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00319;2460982.82336535;9.76073472;1.3;_14.9586913550482 -24.153465999771
2025-11-03T09:45:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9586913550482     dec_j2k = -24.153465999771
2025-11-03T09:45:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967811329144924;171.162362694745;_
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967811329144924;171.162362694745;_
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49263)
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:38.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:38.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:38.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82336532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967811329144924, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9834279, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00319, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9586913550482, telescope_dec_j2k=-24.153465999771, observability=1)
2025-11-03T09:45:39.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:45:39.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:45:39.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:45:39.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:45:39.161 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:45:39.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:39
2025-11-03T09:45:39.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:39.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5808837413787842s
2025-11-03T09:45:39.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5808837413787842
2025-11-03T09:45:39.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:39
2025-11-03T09:45:39.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:39.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6021671295166016s
2025-11-03T09:45:39.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6021671295166016
2025-11-03T09:45:40.162 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:45:40.162 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:45:40.162 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:45:40.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:45:40.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:45:40.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:40
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9873735904693604s
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9839792;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00374;2460982.82338858;9.76128444;1.3;_
2025-11-03T09:45:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9839792;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00374;2460982.82338858;9.76128444;1.3;_
2025-11-03T09:45:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:40.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9839792, teldec = -24.256608
2025-11-03T09:45:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9839792 -24.256608
2025-11-03T09:45:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9839792 -24.256608
2025-11-03T09:45:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9839792 -24.256608
2025-11-03T09:45:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.984007;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00377;2460982.8233886;9.76131222;1.3;_14.959242200829 -24.1534800317866
2025-11-03T09:45:40.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.959242200829     dec_j2k = -24.1534800317866
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09678081201895;171.162357330327;_
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09678081201895;171.162357330327;_
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36405)
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:40.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:40.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82338858, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09678081201895, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9839792, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00374, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.959242200829, telescope_dec_j2k=-24.1534800317866, observability=1)
2025-11-03T09:45:41.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:45:41.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:45:41.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:45:41.163 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:45:41.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:45:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:41
2025-11-03T09:45:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5722832679748535s
2025-11-03T09:45:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5722832679748535
2025-11-03T09:45:41.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:41
2025-11-03T09:45:41.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:41.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5937871932983398s
2025-11-03T09:45:41.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5937871932983398
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:42.164 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:45:42.165 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:45:42.166 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:45:42.166 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:42
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9719836711883545s
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9845399;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00431;2460982.82341159;9.76184361;1.3;_
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9845399;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00431;2460982.82341159;9.76184361;1.3;_
2025-11-03T09:45:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9845399, teldec = -24.256608
2025-11-03T09:45:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9845399 -24.256608
2025-11-03T09:45:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9845399 -24.256608
2025-11-03T09:45:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9845399 -24.256608
2025-11-03T09:45:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9845399;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00431;2460982.82341162;9.76184361;1.3;_14.9598024389197 -24.1534943052924
2025-11-03T09:45:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9598024389197     dec_j2k = -24.1534943052924
2025-11-03T09:45:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967808922428356;171.162357330327;_
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967808922428356;171.162357330327;_
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:42.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32819)
2025-11-03T09:45:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82341159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967808922428356, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9845399, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00431, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9598024389197, telescope_dec_j2k=-24.1534943052924, observability=1)
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:45:43.167 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:45:43.168 [DEBUG] [ThreadPoolExecutor-3420_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:43.168 [INFO] [ThreadPoolExecutor-3420_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:45:43.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:43
2025-11-03T09:45:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5856649875640869s
2025-11-03T09:45:43.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5856649875640869
2025-11-03T09:45:43.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:43
2025-11-03T09:45:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6071114540100098s
2025-11-03T09:45:43.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6071114540100098
2025-11-03T09:45:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:44
2025-11-03T09:45:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981407642364502s
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9850997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00487;2460982.82343475;9.76240194;1.3;_
2025-11-03T09:45:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9850997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00487;2460982.82343475;9.76240194;1.3;_
2025-11-03T09:45:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9850997, teldec = -24.256608
2025-11-03T09:45:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9850997 -24.256608
2025-11-03T09:45:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9850997 -24.256608
2025-11-03T09:45:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9850997 -24.256608
2025-11-03T09:45:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9850997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00487;2460982.82343477;9.76240194;1.3;_14.9603617778067 -24.1535085581363
2025-11-03T09:45:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9603617778067     dec_j2k = -24.1535085581363
2025-11-03T09:45:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967812131383781;171.162368059163;_
2025-11-03T09:45:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967812131383781;171.162368059163;_
2025-11-03T09:45:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42191)
2025-11-03T09:45:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:44.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:44.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:44.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82343475, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967812131383781, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9850997, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00487, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9603617778067, telescope_dec_j2k=-24.1535085581363, observability=1)
2025-11-03T09:45:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:45
2025-11-03T09:45:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5804553031921387s
2025-11-03T09:45:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5804553031921387
2025-11-03T09:45:45.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:45
2025-11-03T09:45:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6021616458892822s
2025-11-03T09:45:45.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6021616458892822
2025-11-03T09:45:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:46
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9915344715118408s
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.985651;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00542;2460982.82345803;9.76295167;1.3;_
2025-11-03T09:45:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.985651;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00542;2460982.82345803;9.76295167;1.3;_
2025-11-03T09:45:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:46.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.985651, teldec = -24.256608
2025-11-03T09:45:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.985651 -24.256608
2025-11-03T09:45:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.985651 -24.256608
2025-11-03T09:45:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.985651 -24.256608
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.985651;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00542;2460982.82345806;9.76295167;1.3;_14.960912623749 -24.1535225967611
2025-11-03T09:45:46.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.960912623749     dec_j2k = -24.1535225967611
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967813334742065;171.162357330327;_
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967813334742065;171.162357330327;_
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46545)
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:46.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:46.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:46.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:46.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82345803, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967813334742065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.985651, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00542, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.960912623749, telescope_dec_j2k=-24.1535225967611, observability=1)
2025-11-03T09:45:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:47
2025-11-03T09:45:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5714230537414551s
2025-11-03T09:45:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5714230537414551
2025-11-03T09:45:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:47
2025-11-03T09:45:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5934593677520752s
2025-11-03T09:45:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5934593677520752
2025-11-03T09:45:48.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:48
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.968224287033081s
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:48.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:48.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9862117;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00598;2460982.82348102;9.76351083;1.3;_
2025-11-03T09:45:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9862117;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00598;2460982.82348102;9.76351083;1.3;_
2025-11-03T09:45:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:48.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9862117, teldec = -24.256608
2025-11-03T09:45:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9862117 -24.256608
2025-11-03T09:45:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9862117 -24.256608
2025-11-03T09:45:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9862117 -24.256608
2025-11-03T09:45:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9862117;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00598;2460982.82348104;9.76351083;1.3;_14.961472862004 -24.1535368769878
2025-11-03T09:45:48.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.961472862004     dec_j2k = -24.1535368769878
2025-11-03T09:45:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967807719070072;171.162346601491;_
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967807719070072;171.162346601491;_
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60093)
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:48.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:48.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:48.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82348102, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967807719070072, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9862117, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00598, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.961472862004, telescope_dec_j2k=-24.1535368769878, observability=1)
2025-11-03T09:45:48.988 [DEBUG] [Thread-88725 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:48.988 [DEBUG] [Thread-88725 (handle)] [server.py] [get_status()] Status age = 0.209425687789917s
2025-11-03T09:45:48.988 [DEBUG] [Thread-88725 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.209425687789917
2025-11-03T09:45:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:49
2025-11-03T09:45:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5824480056762695s
2025-11-03T09:45:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5824480056762695
2025-11-03T09:45:49.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:49
2025-11-03T09:45:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6052870750427246s
2025-11-03T09:45:49.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6052870750427246
2025-11-03T09:45:50.097 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Status age = 1.3188157081604004s
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:50.098 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 17;14.9865754;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00637;2460982.82349652;9.76390139;1.3;_
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response 17;14.9865754;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00637;2460982.82349652;9.76390139;1.3;_
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:50.099 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:50.100 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:50.100 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:50.100 [INFO] [Thread-88726 (handle)] [driver.py] [get_status()] Telra = 14.9865754, teldec = -24.256608
2025-11-03T09:45:50.101 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9865754 -24.256608
2025-11-03T09:45:50.101 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9865754 -24.256608
2025-11-03T09:45:50.101 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9865754 -24.256608
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 17;14.9865754;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00637;2460982.82349656;9.76390139;1.3;_14.9618362625209 -24.1535461411114
2025-11-03T09:45:50.104 [INFO] [Thread-88726 (handle)] [driver.py] [get_status()] ra_j2k = 14.9618362625209     dec_j2k = -24.1535461411114
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 140;0.0967809323547784;171.162362694745;_
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response 140;0.0967809323547784;171.162362694745;_
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:50.104 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:50.105 [DEBUG] [Thread-88726 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:50.110 [DEBUG] [Thread-88726 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40845)
2025-11-03T09:45:50.110 [DEBUG] [Thread-88726 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:50.110 [DEBUG] [Thread-88726 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:50.110 [DEBUG] [Thread-88726 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:50.111 [DEBUG] [Thread-88726 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:50.111 [DEBUG] [Thread-88726 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:50.117 [DEBUG] [Thread-88726 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:50.118 [DEBUG] [Thread-88726 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:50.118 [INFO] [Thread-88726 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82349652, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967809323547784, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9865754, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00637, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9618362625209, telescope_dec_j2k=-24.1535461411114, observability=1)
2025-11-03T09:45:50.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:50
2025-11-03T09:45:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6534168720245361s
2025-11-03T09:45:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6534168720245361
2025-11-03T09:45:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:51
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2422175407409668s
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9869392;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0067;2460982.82351113;9.76423639;1.3;_
2025-11-03T09:45:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9869392;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0067;2460982.82351113;9.76423639;1.3;_
2025-11-03T09:45:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:51.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9869392, teldec = -24.256608
2025-11-03T09:45:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9869392 -24.256608
2025-11-03T09:45:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9869392 -24.256608
2025-11-03T09:45:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9869392 -24.256608
2025-11-03T09:45:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9869392;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0067;2460982.82351116;9.76423639;1.3;_14.9621997629788 -24.1535554087307
2025-11-03T09:45:51.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9621997629788     dec_j2k = -24.1535554087307
2025-11-03T09:45:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967812532503209;171.162357330327;_
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967812532503209;171.162357330327;_
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:51.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:51.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:51.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41999)
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:51.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:51.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:51.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:51.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82351113, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967812532503209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9869392, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0067, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9621997629788, telescope_dec_j2k=-24.1535554087307, observability=1)
2025-11-03T09:45:51.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:51
2025-11-03T09:45:51.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:51.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02258753776550293s
2025-11-03T09:45:51.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02258753776550293
2025-11-03T09:45:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:52
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3806469440460205s
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9873225;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00709;2460982.82352734;9.76461861;1.3;_
2025-11-03T09:45:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9873225;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00709;2460982.82352734;9.76461861;1.3;_
2025-11-03T09:45:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9873225, teldec = -24.256608
2025-11-03T09:45:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9873225 -24.256608
2025-11-03T09:45:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9873225 -24.256608
2025-11-03T09:45:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9873225 -24.256608
2025-11-03T09:45:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9873225;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00709;2460982.82352736;9.76461861;1.3;_14.962582747406 -24.1535651741286
2025-11-03T09:45:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.962582747406     dec_j2k = -24.1535651741286
2025-11-03T09:45:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967816543697489;171.162351965909;_
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967816543697489;171.162351965909;_
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48319)
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:52.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:52.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82352734, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967816543697489, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9873225, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00709, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.962582747406, telescope_dec_j2k=-24.1535651741286, observability=1)
2025-11-03T09:45:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:53
2025-11-03T09:45:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5835530757904053s
2025-11-03T09:45:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5835530757904053
2025-11-03T09:45:53.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:53
2025-11-03T09:45:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6051387786865234s
2025-11-03T09:45:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6051387786865234
2025-11-03T09:45:54.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:54
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807088375091553s
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:54.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:54.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9878829;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00765;2460982.82355046;9.7651775;1.3;_
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9878829;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00765;2460982.82355046;9.7651775;1.3;_
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:54.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9878829, teldec = -24.256608
2025-11-03T09:45:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9878829 -24.256608
2025-11-03T09:45:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9878829 -24.256608
2025-11-03T09:45:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9878829 -24.256608
2025-11-03T09:45:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9878829;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00765;2460982.82355049;9.7651775;1.3;_14.9631426860723 -24.1535794534276
2025-11-03T09:45:54.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9631426860723     dec_j2k = -24.1535794534276
2025-11-03T09:45:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967816142578061;171.162351965909;_
2025-11-03T09:45:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967816142578061;171.162351965909;_
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49547)
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:54.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:54.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82355046, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967816142578061, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9878829, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00765, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9631426860723, telescope_dec_j2k=-24.1535794534276, observability=1)
2025-11-03T09:45:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:55
2025-11-03T09:45:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5871601104736328s
2025-11-03T09:45:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5871601104736328
2025-11-03T09:45:55.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:55
2025-11-03T09:45:55.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:55.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6131107807159424s
2025-11-03T09:45:55.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6131107807159424
2025-11-03T09:45:56.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:56
2025-11-03T09:45:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:56.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843757152557373s
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9884431;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00821;2460982.82357362;9.76573611;1.3;_
2025-11-03T09:45:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9884431;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00821;2460982.82357362;9.76573611;1.3;_
2025-11-03T09:45:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9884431, teldec = -24.256608
2025-11-03T09:45:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9884431 -24.256608
2025-11-03T09:45:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9884431 -24.256608
2025-11-03T09:45:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9884431 -24.256608
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9884431;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00821;2460982.82357365;9.76573611;1.3;_14.9637024249582 -24.1535937298794
2025-11-03T09:45:56.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9637024249582     dec_j2k = -24.1535937298794
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967811730264353;171.162357330327;_
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967811730264353;171.162357330327;_
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49095)
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:56.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:56.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:56.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:56.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:56.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82357362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967811730264353, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9884431, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00821, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9637024249582, telescope_dec_j2k=-24.1535937298794, observability=1)
2025-11-03T09:45:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:57
2025-11-03T09:45:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845067501068115s
2025-11-03T09:45:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845067501068115
2025-11-03T09:45:57.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:57
2025-11-03T09:45:57.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:57.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6130695343017578s
2025-11-03T09:45:57.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6130695343017578
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1832246780395508s
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:57.960 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9887698;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00854;2460982.82358751;9.76606194;1.3;_
2025-11-03T09:45:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;14.9887698;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00854;2460982.82358751;9.76606194;1.3;_
2025-11-03T09:45:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:57.963 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 14.9887698, teldec = -24.256608
2025-11-03T09:45:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9887698 -24.256608
2025-11-03T09:45:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9887698 -24.256608
2025-11-03T09:45:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9887698 -24.256608
2025-11-03T09:45:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;14.9887698;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00854;2460982.82358755;9.76606194;1.3;_14.9640288560691 -24.1536020567238
2025-11-03T09:45:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.9640288560691     dec_j2k = -24.1536020567238
2025-11-03T09:45:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967816944816917;171.162346601491;_
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967816944816917;171.162346601491;_
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:45:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36701)
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:57.978 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82358751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967816944816917, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9887698, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00854, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9640288560691, telescope_dec_j2k=-24.1536020567238, observability=1)
2025-11-03T09:45:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:58
2025-11-03T09:45:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7817881107330322s
2025-11-03T09:45:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7817881107330322
2025-11-03T09:45:59.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:59
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3823902606964111s
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:45:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:45:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:45:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.989162;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00893;2460982.82360374;9.76645306;1.3;_
2025-11-03T09:45:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.989162;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00893;2460982.82360374;9.76645306;1.3;_
2025-11-03T09:45:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:45:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:45:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:45:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:45:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.989162, teldec = -24.256608
2025-11-03T09:45:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.989162 -24.256608
2025-11-03T09:45:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.989162 -24.256608
2025-11-03T09:45:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.989162 -24.256608
2025-11-03T09:45:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.989162;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00893;2460982.82360376;9.76645306;1.3;_14.9644207332952 -24.1536120540251
2025-11-03T09:45:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9644207332952     dec_j2k = -24.1536120540251
2025-11-03T09:45:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:45:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:45:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967812532503209;171.162357330327;_
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967812532503209;171.162357330327;_
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:45:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:45:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:45:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:45:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48547)
2025-11-03T09:45:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:45:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:45:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:45:59.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:45:59.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:45:59.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:45:59.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82360374, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967812532503209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.989162, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00893, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9644207332952, telescope_dec_j2k=-24.1536120540251, observability=1)
2025-11-03T09:45:59.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:45:59
2025-11-03T09:45:59.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:45:59.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02550673484802246s
2025-11-03T09:45:59.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02550673484802246
2025-11-03T09:46:00.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:00
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.383683204650879s
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9895569;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00932;2460982.82361995;9.76684694;1.3;_
2025-11-03T09:46:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9895569;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00932;2460982.82361995;9.76684694;1.3;_
2025-11-03T09:46:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9895569, teldec = -24.256608
2025-11-03T09:46:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9895569 -24.256608
2025-11-03T09:46:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9895569 -24.256608
2025-11-03T09:46:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9895569 -24.256608
2025-11-03T09:46:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9895569;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00932;2460982.82361999;9.76684694;1.3;_14.9648153083264 -24.1536221212634
2025-11-03T09:46:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9648153083264     dec_j2k = -24.1536221212634
2025-11-03T09:46:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967826571683191;171.162362694745;_
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967826571683191;171.162362694745;_
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40061)
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:00.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:00.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82361995, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967826571683191, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9895569, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00932, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9648153083264, telescope_dec_j2k=-24.1536221212634, observability=1)
2025-11-03T09:46:01.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:01
2025-11-03T09:46:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5828452110290527s
2025-11-03T09:46:01.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5828452110290527
2025-11-03T09:46:01.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:01
2025-11-03T09:46:01.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:01.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6142466068267822s
2025-11-03T09:46:01.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6142466068267822
2025-11-03T09:46:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:02
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985109567642212s
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9901076;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00987;2460982.82364316;9.76739611;1.3;_
2025-11-03T09:46:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9901076;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00987;2460982.82364316;9.76739611;1.3;_
2025-11-03T09:46:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9901076, teldec = -24.256608
2025-11-03T09:46:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9901076 -24.256608
2025-11-03T09:46:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9901076 -24.256608
2025-11-03T09:46:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9901076 -24.256608
2025-11-03T09:46:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9901076;-24.256608;50.108558;89.993053;50.08601;90.12017;12.00987;2460982.82364319;9.76739611;1.3;_14.9653655551934 -24.1536361621966
2025-11-03T09:46:02.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9653655551934     dec_j2k = -24.1536361621966
2025-11-03T09:46:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967824164966622;171.162351965909;_
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967824164966622;171.162351965909;_
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35987)
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:02.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:02.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82364316, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967824164966622, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9901076, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.00987, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9653655551934, telescope_dec_j2k=-24.1536361621966, observability=1)
2025-11-03T09:46:03.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:03
2025-11-03T09:46:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5757122039794922s
2025-11-03T09:46:03.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5757122039794922
2025-11-03T09:46:03.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:03
2025-11-03T09:46:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.596646785736084s
2025-11-03T09:46:03.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.596646785736084
2025-11-03T09:46:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:04
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97324800491333s
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:04.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:04.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9906683;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01043;2460982.82366622;9.76795528;1.3;_
2025-11-03T09:46:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9906683;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01043;2460982.82366622;9.76795528;1.3;_
2025-11-03T09:46:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:04.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:04.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9906683, teldec = -24.256608
2025-11-03T09:46:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9906683 -24.256608
2025-11-03T09:46:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9906683 -24.256608
2025-11-03T09:46:04.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9906683 -24.256608
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9906683;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01043;2460982.82366624;9.76795528;1.3;_14.9659257938868 -24.1536504603263
2025-11-03T09:46:04.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9659257938868     dec_j2k = -24.1536504603263
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967821758250054;171.162351965909;_
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967821758250054;171.162351965909;_
2025-11-03T09:46:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48473)
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:04.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:04.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:04.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:04.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:04.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:04.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:04.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82366622, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967821758250054, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9906683, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01043, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9659257938868, telescope_dec_j2k=-24.1536504603263, observability=1)
2025-11-03T09:46:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:05
2025-11-03T09:46:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5800881385803223s
2025-11-03T09:46:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5800881385803223
2025-11-03T09:46:05.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:05
2025-11-03T09:46:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6020135879516602s
2025-11-03T09:46:05.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6020135879516602
2025-11-03T09:46:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:06
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815552234649658s
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9912285;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01099;2460982.82368941;9.76851389;1.3;_
2025-11-03T09:46:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9912285;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01099;2460982.82368941;9.76851389;1.3;_
2025-11-03T09:46:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9912285, teldec = -24.256608
2025-11-03T09:46:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9912285 -24.256608
2025-11-03T09:46:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9912285 -24.256608
2025-11-03T09:46:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9912285 -24.256608
2025-11-03T09:46:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9912285;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01099;2460982.82368943;9.76851389;1.3;_14.9664855330467 -24.1536647479539
2025-11-03T09:46:06.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9664855330467     dec_j2k = -24.1536647479539
2025-11-03T09:46:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096782055489177;171.162351965909;_
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096782055489177;171.162351965909;_
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55409)
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:06.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:06.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:06.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:06.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82368941, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096782055489177, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9912285, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01099, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9664855330467, telescope_dec_j2k=-24.1536647479539, observability=1)
2025-11-03T09:46:07.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:07
2025-11-03T09:46:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814621448516846s
2025-11-03T09:46:07.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814621448516846
2025-11-03T09:46:07.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:07
2025-11-03T09:46:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6050090789794922s
2025-11-03T09:46:07.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6050090789794922
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Status age = 1.396186113357544s
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:08.175 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:08.176 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:08.177 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 17;14.9916204;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01139;2460982.82370575;9.76890472;1.3;_
2025-11-03T09:46:08.177 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response 17;14.9916204;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01139;2460982.82370575;9.76890472;1.3;_
2025-11-03T09:46:08.177 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:08.177 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:08.177 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:08.178 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:08.178 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:08.178 [INFO] [Thread-88727 (handle)] [driver.py] [get_status()] Telra = 14.9916204, teldec = -24.256608
2025-11-03T09:46:08.178 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9916204 -24.256608
2025-11-03T09:46:08.178 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9916204 -24.256608
2025-11-03T09:46:08.178 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9916204 -24.256608
2025-11-03T09:46:08.179 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 17;14.9916204;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01139;2460982.82370578;9.76890472;1.3;_14.9668771106889 -24.1536747445077
2025-11-03T09:46:08.179 [INFO] [Thread-88727 (handle)] [driver.py] [get_status()] ra_j2k = 14.9668771106889     dec_j2k = -24.1536747445077
2025-11-03T09:46:08.179 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:08.179 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:08.179 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 140;0.0967820153772342;171.162351965909;_
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response 140;0.0967820153772342;171.162351965909;_
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:08.180 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:08.181 [DEBUG] [Thread-88727 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:08.187 [DEBUG] [Thread-88727 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40249)
2025-11-03T09:46:08.188 [DEBUG] [Thread-88727 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:08.188 [DEBUG] [Thread-88727 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:08.188 [DEBUG] [Thread-88727 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:08.188 [DEBUG] [Thread-88727 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:08.188 [DEBUG] [Thread-88727 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:08.195 [DEBUG] [Thread-88727 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:08.195 [INFO] [Thread-88727 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82370575, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967820153772342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9916204, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01139, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9668771106889, telescope_dec_j2k=-24.1536747445077, observability=1)
2025-11-03T09:46:08.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:08
2025-11-03T09:46:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5667343139648438s
2025-11-03T09:46:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5667343139648438
2025-11-03T09:46:09.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:09
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1715466976165771s
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:09.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:09.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9919471;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01171;2460982.82371954;9.76923056;1.3;_
2025-11-03T09:46:09.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9919471;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01171;2460982.82371954;9.76923056;1.3;_
2025-11-03T09:46:09.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:09.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:09.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:09.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:09.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:09.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9919471, teldec = -24.256608
2025-11-03T09:46:09.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9919471 -24.256608
2025-11-03T09:46:09.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9919471 -24.256608
2025-11-03T09:46:09.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9919471 -24.256608
2025-11-03T09:46:09.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9919471;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01171;2460982.82371957;9.76923056;1.3;_14.9672035419819 -24.1536830787855
2025-11-03T09:46:09.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9672035419819     dec_j2k = -24.1536830787855
2025-11-03T09:46:09.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:09.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:09.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967820956011198;171.162351965909;_
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967820956011198;171.162351965909;_
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:09.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:09.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:09.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:09.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37775)
2025-11-03T09:46:09.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:09.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:09.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:09.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:09.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:09.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:09.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82371954, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967820956011198, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9919471, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01171, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9672035419819, telescope_dec_j2k=-24.1536830787855, observability=1)
2025-11-03T09:46:09.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:09
2025-11-03T09:46:09.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:09.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022874116897583008s
2025-11-03T09:46:09.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022874116897583008
2025-11-03T09:46:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:10
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3738069534301758s
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9923398;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01211;2460982.82373567;9.76962222;1.3;_
2025-11-03T09:46:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9923398;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01211;2460982.82373567;9.76962222;1.3;_
2025-11-03T09:46:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9923398, teldec = -24.256608
2025-11-03T09:46:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9923398 -24.256608
2025-11-03T09:46:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9923398 -24.256608
2025-11-03T09:46:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9923398 -24.256608
2025-11-03T09:46:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9923398;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01211;2460982.82373569;9.76962222;1.3;_14.9675959190156 -24.1536930977668
2025-11-03T09:46:10.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9675959190156     dec_j2k = -24.1536930977668
2025-11-03T09:46:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967824164966622;171.162357330327;_
2025-11-03T09:46:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967824164966622;171.162357330327;_
2025-11-03T09:46:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53217)
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:10.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82373567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967824164966622, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9923398, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01211, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9675959190156, telescope_dec_j2k=-24.1536930977668, observability=1)
2025-11-03T09:46:11.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:11
2025-11-03T09:46:11.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:11.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5927040576934814s
2025-11-03T09:46:11.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5927040576934814
2025-11-03T09:46:11.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:11
2025-11-03T09:46:11.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:11.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6175251007080078s
2025-11-03T09:46:11.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6175251007080078
2025-11-03T09:46:12.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:12
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9902403354644775s
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9928997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01267;2460982.82375889;9.77018056;1.3;_
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9928997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01267;2460982.82375889;9.77018056;1.3;_
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:12.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9928997, teldec = -24.256608
2025-11-03T09:46:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9928997 -24.256608
2025-11-03T09:46:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9928997 -24.256608
2025-11-03T09:46:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9928997 -24.256608
2025-11-03T09:46:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9928997;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01267;2460982.82375891;9.77018056;1.3;_14.9681553585867 -24.1537073844416
2025-11-03T09:46:12.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9681553585867     dec_j2k = -24.1537073844416
2025-11-03T09:46:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096782256048891;171.162351965909;_
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096782256048891;171.162351965909;_
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59791)
2025-11-03T09:46:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:12.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:12.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:12.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82375889, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096782256048891, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9928997, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01267, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9681553585867, telescope_dec_j2k=-24.1537073844416, observability=1)
2025-11-03T09:46:12.953 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:46:12
2025-11-03T09:46:12.953 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:12.953 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.16852116584777832s
2025-11-03T09:46:12.954 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16852116584777832
2025-11-03T09:46:13.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:13
2025-11-03T09:46:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5756840705871582s
2025-11-03T09:46:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5756840705871582
2025-11-03T09:46:13.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:13
2025-11-03T09:46:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5978729724884033s
2025-11-03T09:46:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5978729724884033
2025-11-03T09:46:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:14
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978219985961914s
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.993459;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01322;2460982.823782;9.77073833;1.3;_
2025-11-03T09:46:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.993459;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01322;2460982.823782;9.77073833;1.3;_
2025-11-03T09:46:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.993459, teldec = -24.256608
2025-11-03T09:46:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.993459 -24.256608
2025-11-03T09:46:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.993459 -24.256608
2025-11-03T09:46:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.993459 -24.256608
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.993459;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01322;2460982.82378204;9.77073833;1.3;_14.9687141987061 -24.1537216580463
2025-11-03T09:46:14.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9687141987061     dec_j2k = -24.1537216580463
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967824967205478;171.162351965909;_
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967824967205478;171.162351965909;_
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60777)
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:14.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.823782, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967824967205478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.993459, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01322, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9687141987061, telescope_dec_j2k=-24.1537216580463, observability=1)
2025-11-03T09:46:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:15
2025-11-03T09:46:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.581296443939209s
2025-11-03T09:46:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.581296443939209
2025-11-03T09:46:15.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:15
2025-11-03T09:46:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6022868156433105s
2025-11-03T09:46:15.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6022868156433105
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.6641440391540527s
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:16.443 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:16.444 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:16.445 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9939256;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01369;2460982.82380145;9.77120361;1.3;_
2025-11-03T09:46:16.445 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;14.9939256;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01369;2460982.82380145;9.77120361;1.3;_
2025-11-03T09:46:16.445 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:16.445 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:16.445 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:16.446 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:16.446 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:16.446 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 14.9939256, teldec = -24.256608
2025-11-03T09:46:16.446 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 14.9939256 -24.256608
2025-11-03T09:46:16.446 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 14.9939256 -24.256608
2025-11-03T09:46:16.446 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9939256 -24.256608
2025-11-03T09:46:16.447 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;14.9939256;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01369;2460982.82380147;9.77120361;1.3;_14.9691804150896 -24.1537335676151
2025-11-03T09:46:16.447 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9691804150896     dec_j2k = -24.1537335676151
2025-11-03T09:46:16.447 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:16.447 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:16.447 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967823362727766;171.162362694745;_
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967823362727766;171.162362694745;_
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:16.448 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:16.449 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:16.450 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:16.450 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:16.450 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50755)
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:16.455 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:16.462 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:46:16.463 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82380145, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967823362727766, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9939256, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:45:17.272278', telescope_ra_j2k=14.9691804150896, telescope_dec_j2k=-24.1537335676151, observability=1)
2025-11-03T09:46:16.463 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5092811584472656 seconds ago
2025-11-03T09:46:16.803 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:16
2025-11-03T09:46:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3412928581237793s
2025-11-03T09:46:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3412928581237793
2025-11-03T09:46:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:17
2025-11-03T09:46:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8979275226593018s
2025-11-03T09:46:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8979275226593018
2025-11-03T09:46:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:17
2025-11-03T09:46:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9202115535736084s
2025-11-03T09:46:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9202115535736084
2025-11-03T09:46:17.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:17.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:17.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:17.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:17.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:17.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:17.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:17.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:17.414 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:46:17.414 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:17.415 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:17.415 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:17.416 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:46:17.417 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:18.418 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:18.418 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:18.418 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:18.418 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:18.418 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:46:18.419 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:18.420 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:18.421 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:18.421 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:18.421 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:18.421 [DEBUG] [ThreadPoolExecutor-3422_0] [payload.py] [to_registers()] [0]
2025-11-03T09:46:18.423 [DEBUG] [ThreadPoolExecutor-3422_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47397)
2025-11-03T09:46:18.423 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:18.423 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:18.424 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:46:18.424 [DEBUG] [ThreadPoolExecutor-3422_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:18.424 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:18.430 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:18.430 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:46:18.430 [DEBUG] [ThreadPoolExecutor-3422_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:46:18.430 [DEBUG] [ThreadPoolExecutor-3422_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:46:18.431 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:18.431 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:18.431 [DEBUG] [ThreadPoolExecutor-3422_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:18.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:18
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3322644233703613s
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:18.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:18.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9945706;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01434;2460982.82382866;9.77184694;1.3;_
2025-11-03T09:46:18.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9945706;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01434;2460982.82382866;9.77184694;1.3;_
2025-11-03T09:46:18.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:18.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:18.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:18.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:18.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:18.797 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9945706, teldec = -24.256608
2025-11-03T09:46:18.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9945706 -24.256608
2025-11-03T09:46:18.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9945706 -24.256608
2025-11-03T09:46:18.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9945706 -24.256608
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9945706;-24.256608;50.108558;89.993053;50.08601;90.12017;12.01434;2460982.82382868;9.77184694;1.3;_14.969824884864 -24.1537500332571
2025-11-03T09:46:18.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.969824884864     dec_j2k = -24.1537500332571
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967824164966622;171.162362694745;_
2025-11-03T09:46:18.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967824164966622;171.162362694745;_
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:18.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:18.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:18.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:18.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36057)
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:18.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:18.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:18.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82382866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967824164966622, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.9945706, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01434, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.969824884864, telescope_dec_j2k=-24.1537500332571, observability=1)
2025-11-03T09:46:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:19
2025-11-03T09:46:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5509288311004639s
2025-11-03T09:46:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5509288311004639
2025-11-03T09:46:19.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:19
2025-11-03T09:46:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5753092765808105s
2025-11-03T09:46:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5753092765808105
2025-11-03T09:46:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:20
2025-11-03T09:46:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9510729312896729s
2025-11-03T09:46:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.99513;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0149;2460982.82385141;9.77240472;1.3;_
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.99513;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0149;2460982.82385141;9.77240472;1.3;_
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.99513, teldec = -24.256608
2025-11-03T09:46:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.99513 -24.256608
2025-11-03T09:46:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.99513 -24.256608
2025-11-03T09:46:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.99513 -24.256608
2025-11-03T09:46:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.99513;-24.256608;50.108558;89.993053;50.08601;90.12017;12.0149;2460982.82385144;9.77240472;1.3;_14.9703838250656 -24.1537643161013
2025-11-03T09:46:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9703838250656     dec_j2k = -24.1537643161013
2025-11-03T09:46:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967821758250054;171.162357330327;_
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967821758250054;171.162357330327;_
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50525)
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:20.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:20.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82385141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967821758250054, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108558, telescope_az=89.993053, telescope_ra=14.99513, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0149, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9703838250656, telescope_dec_j2k=-24.1537643161013, observability=1)
2025-11-03T09:46:20.883 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:20.883 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.10318422317504883s
2025-11-03T09:46:20.883 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10318422317504883
2025-11-03T09:46:21.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:21
2025-11-03T09:46:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6673731803894043s
2025-11-03T09:46:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6673731803894043
2025-11-03T09:46:21.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:21
2025-11-03T09:46:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6895687580108643s
2025-11-03T09:46:21.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6895687580108643
2025-11-03T09:46:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:22
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980175256729126s
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9956809;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01545;2460982.82387455;9.77295417;1.3;_
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9956809;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01545;2460982.82387455;9.77295417;1.3;_
2025-11-03T09:46:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9956809, teldec = -24.256608
2025-11-03T09:46:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9956809 -24.256608
2025-11-03T09:46:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9956809 -24.256608
2025-11-03T09:46:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9956809 -24.256608
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9956809;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01545;2460982.82387458;9.77295417;1.3;_14.9709342723074 -24.1537783841072
2025-11-03T09:46:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9709342723074     dec_j2k = -24.1537783841072
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967828176160903;171.162362694745;_
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967828176160903;171.162362694745;_
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36751)
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:22.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:22.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:22.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:22.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82387455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967828176160903, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.9956809, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9709342723074, telescope_dec_j2k=-24.1537783841072, observability=1)
2025-11-03T09:46:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:23
2025-11-03T09:46:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5821688175201416s
2025-11-03T09:46:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5821688175201416
2025-11-03T09:46:23.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:23
2025-11-03T09:46:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6058168411254883s
2025-11-03T09:46:23.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6058168411254883
2025-11-03T09:46:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:24
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9851231575012207s
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9962419;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01601;2460982.82389775;9.77351361;1.3;_
2025-11-03T09:46:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9962419;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01601;2460982.82389775;9.77351361;1.3;_
2025-11-03T09:46:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:24.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9962419, teldec = -24.256608
2025-11-03T09:46:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9962419 -24.256608
2025-11-03T09:46:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9962419 -24.256608
2025-11-03T09:46:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9962419 -24.256608
2025-11-03T09:46:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9962419;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01601;2460982.82389778;9.77351361;1.3;_14.9714948113035 -24.1537927122613
2025-11-03T09:46:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9714948113035     dec_j2k = -24.1537927122613
2025-11-03T09:46:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967833791832896;171.162351965909;_
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967833791832896;171.162351965909;_
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38629)
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:24.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:24.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:24.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82389775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967833791832896, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.9962419, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01601, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9714948113035, telescope_dec_j2k=-24.1537927122613, observability=1)
2025-11-03T09:46:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:25
2025-11-03T09:46:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5774924755096436s
2025-11-03T09:46:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5774924755096436
2025-11-03T09:46:25.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:25
2025-11-03T09:46:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5994019508361816s
2025-11-03T09:46:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5994019508361816
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Status age = 1.4551496505737305s
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:26.238 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:26.239 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:26.240 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 17;14.9966619;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01643;2460982.82391481;9.7739325;1.3;_
2025-11-03T09:46:26.240 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response 17;14.9966619;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01643;2460982.82391481;9.7739325;1.3;_
2025-11-03T09:46:26.240 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:26.240 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:26.240 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:26.241 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:26.241 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:26.241 [INFO] [Thread-88728 (handle)] [driver.py] [get_status()] Telra = 14.9966619, teldec = -24.256608
2025-11-03T09:46:26.241 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9966619 -24.256608
2025-11-03T09:46:26.241 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9966619 -24.256608
2025-11-03T09:46:26.241 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9966619 -24.256608
2025-11-03T09:46:26.242 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 17;14.9966619;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01643;2460982.82391484;9.7739325;1.3;_14.9719144662031 -24.1538034406946
2025-11-03T09:46:26.242 [INFO] [Thread-88728 (handle)] [driver.py] [get_status()] ra_j2k = 14.9719144662031     dec_j2k = -24.1538034406946
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 140;0.0967831385116327;171.162351965909;_
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response 140;0.0967831385116327;171.162351965909;_
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:26.243 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:26.244 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:26.245 [DEBUG] [Thread-88728 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:26.245 [DEBUG] [Thread-88728 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:26.245 [DEBUG] [Thread-88728 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37337)
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:26.249 [DEBUG] [Thread-88728 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:26.256 [DEBUG] [Thread-88728 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:26.257 [INFO] [Thread-88728 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82391481, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967831385116327, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.9966619, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9719144662031, telescope_dec_j2k=-24.1538034406946, observability=1)
2025-11-03T09:46:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:26
2025-11-03T09:46:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5102612972259521s
2025-11-03T09:46:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5102612972259521
2025-11-03T09:46:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:27
2025-11-03T09:46:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1038856506347656s
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:27.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9969695;-24.256602;50.108557;89.993042;50.08601;90.12016;12.01674;2460982.8239278;9.77423944;1.3;_
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9969695;-24.256602;50.108557;89.993042;50.08601;90.12016;12.01674;2460982.8239278;9.77423944;1.3;_
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:27.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:27.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:27.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9969695, teldec = -24.256602
2025-11-03T09:46:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9969695 -24.256602
2025-11-03T09:46:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9969695 -24.256602
2025-11-03T09:46:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9969695 -24.256602
2025-11-03T09:46:27.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9969695;-24.256602;50.108557;89.993042;50.08601;90.12016;12.01674;2460982.82392782;9.77423944;1.3;_14.9722218142967 -24.1538052988871
2025-11-03T09:46:27.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9722218142967     dec_j2k = -24.1538052988871
2025-11-03T09:46:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:27.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967833390713468;171.162373423581;_
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967833390713468;171.162373423581;_
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:27.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:27.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53881)
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:27.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:27.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:27.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:27.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:27.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:27.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8239278, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967833390713468, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993042, telescope_ra=14.9969695, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01674, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9722218142967, telescope_dec_j2k=-24.1538052988871, observability=1)
2025-11-03T09:46:27.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:27
2025-11-03T09:46:27.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:27.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022200584411621094s
2025-11-03T09:46:27.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022200584411621094
2025-11-03T09:46:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:28
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3831908702850342s
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.997353;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01712;2460982.82394404;9.77462167;1.3;_
2025-11-03T09:46:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.997353;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01712;2460982.82394404;9.77462167;1.3;_
2025-11-03T09:46:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.997353, teldec = -24.256608
2025-11-03T09:46:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.997353 -24.256608
2025-11-03T09:46:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.997353 -24.256608
2025-11-03T09:46:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.997353 -24.256608
2025-11-03T09:46:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.997353;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01712;2460982.82394406;9.77462167;1.3;_14.9726049984161 -24.1538210968213
2025-11-03T09:46:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9726049984161     dec_j2k = -24.1538210968213
2025-11-03T09:46:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967824967205478;171.162362694745;_
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967824967205478;171.162362694745;_
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33065)
2025-11-03T09:46:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82394404, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967824967205478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.997353, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01712, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9726049984161, telescope_dec_j2k=-24.1538210968213, observability=1)
2025-11-03T09:46:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:30
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826724529266357s
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9979137;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01768;2460982.82396721;9.77518083;1.3;_
2025-11-03T09:46:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9979137;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01768;2460982.82396721;9.77518083;1.3;_
2025-11-03T09:46:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:30.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9979137, teldec = -24.256608
2025-11-03T09:46:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9979137 -24.256608
2025-11-03T09:46:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9979137 -24.256608
2025-11-03T09:46:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9979137 -24.256608
2025-11-03T09:46:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9979137;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01768;2460982.82396725;9.77518083;1.3;_14.9731652378236 -24.1538354240156
2025-11-03T09:46:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9731652378236     dec_j2k = -24.1538354240156
2025-11-03T09:46:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967829780638615;171.162357330327;_
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967829780638615;171.162357330327;_
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39021)
2025-11-03T09:46:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:30.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:30.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82396721, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967829780638615, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.9979137, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01768, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9731652378236, telescope_dec_j2k=-24.1538354240156, observability=1)
2025-11-03T09:46:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:32
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977919578552246s
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.998473;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01824;2460982.82399031;9.77573861;1.3;_
2025-11-03T09:46:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.998473;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01824;2460982.82399031;9.77573861;1.3;_
2025-11-03T09:46:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:32.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.998473, teldec = -24.256608
2025-11-03T09:46:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.998473 -24.256608
2025-11-03T09:46:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.998473 -24.256608
2025-11-03T09:46:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.998473 -24.256608
2025-11-03T09:46:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.998473;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01824;2460982.82399035;9.77573861;1.3;_14.9737240784363 -24.1538497176754
2025-11-03T09:46:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9737240784363     dec_j2k = -24.1538497176754
2025-11-03T09:46:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967834594071752;171.162346601491;_
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967834594071752;171.162346601491;_
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32975)
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:32.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:32.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82399031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967834594071752, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.998473, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01824, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9737240784363, telescope_dec_j2k=-24.1538497176754, observability=1)
2025-11-03T09:46:34.538 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:34
2025-11-03T09:46:34.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:34.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7611734867095947s
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:34.539 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:34.540 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:34.541 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.998968;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01873;2460982.82401089;9.77623222;1.3;_
2025-11-03T09:46:34.541 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.998968;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01873;2460982.82401089;9.77623222;1.3;_
2025-11-03T09:46:34.541 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:34.541 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:34.541 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:34.542 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.998968, teldec = -24.256608
2025-11-03T09:46:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.998968 -24.256608
2025-11-03T09:46:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.998968 -24.256608
2025-11-03T09:46:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.998968 -24.256608
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.998968;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01873;2460982.82401091;9.77623222;1.3;_14.9742186719085 -24.1538623699274
2025-11-03T09:46:34.543 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9742186719085     dec_j2k = -24.1538623699274
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967833791832896;171.162357330327;_
2025-11-03T09:46:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967833791832896;171.162357330327;_
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46725)
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:34.548 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:34.555 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:34.555 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82401089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967833791832896, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.998968, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01873, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9742186719085, telescope_dec_j2k=-24.1538623699274, observability=1)
2025-11-03T09:46:34.577 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:34
2025-11-03T09:46:34.577 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:34.577 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02150583267211914s
2025-11-03T09:46:34.577 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02150583267211914
2025-11-03T09:46:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:34
2025-11-03T09:46:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2045154571533203s
2025-11-03T09:46:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2045154571533203
2025-11-03T09:46:36.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:36
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8648924827575684s
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:36.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9995002;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01927;2460982.82403265;9.77676306;1.3;_
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;14.9995002;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01927;2460982.82403265;9.77676306;1.3;_
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:36.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:36.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:36.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 14.9995002, teldec = -24.256608
2025-11-03T09:46:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 14.9995002 -24.256608
2025-11-03T09:46:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 14.9995002 -24.256608
2025-11-03T09:46:36.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 14.9995002 -24.256608
2025-11-03T09:46:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;14.9995002;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01927;2460982.82403267;9.77676306;1.3;_14.9747504348775 -24.1538759749686
2025-11-03T09:46:36.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9747504348775     dec_j2k = -24.1538759749686
2025-11-03T09:46:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:36.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967828577280331;171.162351965909;_
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967828577280331;171.162351965909;_
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:36.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:36.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:36.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38973)
2025-11-03T09:46:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:36.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:36.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:36.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:36.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82403265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967828577280331, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=14.9995002, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01927, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9747504348775, telescope_dec_j2k=-24.1538759749686, observability=1)
2025-11-03T09:46:36.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:36
2025-11-03T09:46:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:36.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022321462631225586s
2025-11-03T09:46:36.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022321462631225586
2025-11-03T09:46:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:36
2025-11-03T09:46:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33101367950439453s
2025-11-03T09:46:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33101367950439453
2025-11-03T09:46:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:38
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3241138458251953s
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0001445;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01991;2460982.82405976;9.77740556;1.3;_
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0001445;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01991;2460982.82405976;9.77740556;1.3;_
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:38.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0001445, teldec = -24.256608
2025-11-03T09:46:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0001445 -24.256608
2025-11-03T09:46:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0001445 -24.256608
2025-11-03T09:46:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0001445 -24.256608
2025-11-03T09:46:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0001445;-24.256608;50.108557;89.993053;50.08601;90.12017;12.01991;2460982.82405978;9.77740556;1.3;_14.9753942058593 -24.1538924484169
2025-11-03T09:46:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9753942058593     dec_j2k = -24.1538924484169
2025-11-03T09:46:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967830983996899;171.162362694745;_
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967830983996899;171.162362694745;_
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36423)
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:38.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82405976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967830983996899, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0001445, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.01991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9753942058593, telescope_dec_j2k=-24.1538924484169, observability=1)
2025-11-03T09:46:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:40
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812238216400146s
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0007038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02047;2460982.8240829;9.77796333;1.3;_
2025-11-03T09:46:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0007038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02047;2460982.8240829;9.77796333;1.3;_
2025-11-03T09:46:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0007038, teldec = -24.256608
2025-11-03T09:46:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0007038 -24.256608
2025-11-03T09:46:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0007038 -24.256608
2025-11-03T09:46:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0007038 -24.256608
2025-11-03T09:46:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0007038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02047;2460982.82408293;9.77796333;1.3;_14.9759530466917 -24.1539067509915
2025-11-03T09:46:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9759530466917     dec_j2k = -24.1539067509915
2025-11-03T09:46:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967836599668892;171.162346601491;_
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967836599668892;171.162346601491;_
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32939)
2025-11-03T09:46:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:40.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:40.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8240829, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967836599668892, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0007038, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02047, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9759530466917, telescope_dec_j2k=-24.1539067509915, observability=1)
2025-11-03T09:46:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:42
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98051118850708s
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0012553;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02102;2460982.82410606;9.77851333;1.3;_
2025-11-03T09:46:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0012553;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02102;2460982.82410606;9.77851333;1.3;_
2025-11-03T09:46:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:42.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0012553, teldec = -24.256608
2025-11-03T09:46:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0012553 -24.256608
2025-11-03T09:46:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0012553 -24.256608
2025-11-03T09:46:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0012553 -24.256608
2025-11-03T09:46:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0012553;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02102;2460982.82410609;9.77851333;1.3;_14.9765040939816 -24.1539208562902
2025-11-03T09:46:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9765040939816     dec_j2k = -24.1539208562902
2025-11-03T09:46:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967828577280331;171.162351965909;_
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967828577280331;171.162351965909;_
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56173)
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:42.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:42.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:42.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82410606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967828577280331, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0012553, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9765040939816, telescope_dec_j2k=-24.1539208562902, observability=1)
2025-11-03T09:46:43.431 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:43.431 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:43.431 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:43.431 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:43.431 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:43.432 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:43.432 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:43.432 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:46:43.433 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:46:43.434 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:46:43.434 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:44.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:44
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.586514949798584s
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0017038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02147;2460982.82412462;9.77896056;1.3;_
2025-11-03T09:46:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0017038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02147;2460982.82412462;9.77896056;1.3;_
2025-11-03T09:46:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0017038, teldec = -24.256608
2025-11-03T09:46:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0017038 -24.256608
2025-11-03T09:46:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0017038 -24.256608
2025-11-03T09:46:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0017038 -24.256608
2025-11-03T09:46:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0017038;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02147;2460982.82412464;9.77896056;1.3;_14.9769522258606 -24.1539323288373
2025-11-03T09:46:44.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9769522258606     dec_j2k = -24.1539323288373
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967835396310608;171.162357330327;_
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967835396310608;171.162357330327;_
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:44.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49605)
2025-11-03T09:46:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:44.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:44.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82412462, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967835396310608, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0017038, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02147, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9769522258606, telescope_dec_j2k=-24.1539323288373, observability=1)
2025-11-03T09:46:44.392 [DEBUG] [Thread-88729 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:44.392 [DEBUG] [Thread-88729 (handle)] [server.py] [get_status()] Status age = 0.008234977722167969s
2025-11-03T09:46:44.392 [DEBUG] [Thread-88729 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008234977722167969
2025-11-03T09:46:44.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:44
2025-11-03T09:46:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0216672420501709s
2025-11-03T09:46:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0216672420501709
2025-11-03T09:46:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:44
2025-11-03T09:46:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37790560722351074s
2025-11-03T09:46:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37790560722351074
2025-11-03T09:46:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:46
2025-11-03T09:46:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9772393703460693s
2025-11-03T09:46:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0022634;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02203;2460982.82414773;9.77951861;1.3;_
2025-11-03T09:46:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0022634;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02203;2460982.82414773;9.77951861;1.3;_
2025-11-03T09:46:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0022634, teldec = -24.256608
2025-11-03T09:46:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0022634 -24.256608
2025-11-03T09:46:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0022634 -24.256608
2025-11-03T09:46:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0022634 -24.256608
2025-11-03T09:46:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0022634;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02203;2460982.82414775;9.77951861;1.3;_14.9775113666005 -24.1539466453161
2025-11-03T09:46:46.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9775113666005     dec_j2k = -24.1539466453161
2025-11-03T09:46:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967835797430036;171.162357330327;_
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967835797430036;171.162357330327;_
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41657)
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:46.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:46.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:46.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82414773, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967835797430036, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0022634, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02203, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9775113666005, telescope_dec_j2k=-24.1539466453161, observability=1)
2025-11-03T09:46:46.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:46
2025-11-03T09:46:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022326946258544922s
2025-11-03T09:46:46.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022326946258544922
2025-11-03T09:46:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:46
2025-11-03T09:46:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38302111625671387s
2025-11-03T09:46:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38302111625671387
2025-11-03T09:46:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:48
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980905532836914s
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0028138;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02258;2460982.82417087;9.7800675;1.3;_
2025-11-03T09:46:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0028138;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02258;2460982.82417087;9.7800675;1.3;_
2025-11-03T09:46:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0028138, teldec = -24.256608
2025-11-03T09:46:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0028138 -24.256608
2025-11-03T09:46:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0028138 -24.256608
2025-11-03T09:46:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0028138 -24.256608
2025-11-03T09:46:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0028138;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02258;2460982.82417089;9.7800675;1.3;_14.9780613149445 -24.1539607286084
2025-11-03T09:46:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9780613149445     dec_j2k = -24.1539607286084
2025-11-03T09:46:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096783900638546;171.162368059163;_
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096783900638546;171.162368059163;_
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47743)
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:48.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:48.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:48.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82417087, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096783900638546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0028138, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02258, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9780613149445, telescope_dec_j2k=-24.1539607286084, observability=1)
2025-11-03T09:46:48.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:48
2025-11-03T09:46:48.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:48.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023662090301513672s
2025-11-03T09:46:48.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023662090301513672
2025-11-03T09:46:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:48
2025-11-03T09:46:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3848989009857178s
2025-11-03T09:46:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3848989009857178
2025-11-03T09:46:49.025 [DEBUG] [Thread-88730 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:49.025 [DEBUG] [Thread-88730 (handle)] [server.py] [get_status()] Status age = 0.6451778411865234s
2025-11-03T09:46:49.025 [DEBUG] [Thread-88730 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6451778411865234
2025-11-03T09:46:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:50
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815049171447754s
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0033745;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02314;2460982.82419402;9.78062667;1.3;_
2025-11-03T09:46:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0033745;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02314;2460982.82419402;9.78062667;1.3;_
2025-11-03T09:46:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0033745, teldec = -24.256608
2025-11-03T09:46:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0033745 -24.256608
2025-11-03T09:46:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0033745 -24.256608
2025-11-03T09:46:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0033745 -24.256608
2025-11-03T09:46:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0033745;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02314;2460982.82419404;9.78062667;1.3;_14.9786215548914 -24.1539750776746
2025-11-03T09:46:50.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9786215548914     dec_j2k = -24.1539750776746
2025-11-03T09:46:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967836599668892;171.162357330327;_
2025-11-03T09:46:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967836599668892;171.162357330327;_
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:50.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37581)
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:50.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:50.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:50.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82419402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967836599668892, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0033745, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02314, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9786215548914, telescope_dec_j2k=-24.1539750776746, observability=1)
2025-11-03T09:46:50.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:50
2025-11-03T09:46:50.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:50.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023295164108276367s
2025-11-03T09:46:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023295164108276367
2025-11-03T09:46:50.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:50
2025-11-03T09:46:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38196635246276855s
2025-11-03T09:46:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38196635246276855
2025-11-03T09:46:52.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:52
2025-11-03T09:46:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:52.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984269618988037s
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0039343;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0237;2460982.8242172;9.781185;1.3;_
2025-11-03T09:46:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0039343;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0237;2460982.8242172;9.781185;1.3;_
2025-11-03T09:46:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:52.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0039343, teldec = -24.256608
2025-11-03T09:46:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0039343 -24.256608
2025-11-03T09:46:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0039343 -24.256608
2025-11-03T09:46:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0039343 -24.256608
2025-11-03T09:46:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0039343;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0237;2460982.82421722;9.781185;1.3;_14.9791808956319 -24.1539894059472
2025-11-03T09:46:52.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9791808956319     dec_j2k = -24.1539894059472
2025-11-03T09:46:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967837803027176;171.162362694745;_
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967837803027176;171.162362694745;_
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37501)
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:52.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:52.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8242172, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967837803027176, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0039343, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0237, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9791808956319, telescope_dec_j2k=-24.1539894059472, observability=1)
2025-11-03T09:46:52.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:52
2025-11-03T09:46:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02224898338317871s
2025-11-03T09:46:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02224898338317871
2025-11-03T09:46:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:52
2025-11-03T09:46:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38149237632751465s
2025-11-03T09:46:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38149237632751465
2025-11-03T09:46:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:54
2025-11-03T09:46:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979053258895874s
2025-11-03T09:46:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0044847;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02425;2460982.82424031;9.78173389;1.3;_
2025-11-03T09:46:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0044847;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02425;2460982.82424031;9.78173389;1.3;_
2025-11-03T09:46:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0044847, teldec = -24.256608
2025-11-03T09:46:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0044847 -24.256608
2025-11-03T09:46:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0044847 -24.256608
2025-11-03T09:46:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0044847 -24.256608
2025-11-03T09:46:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0044847;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02425;2460982.82424034;9.78173389;1.3;_14.9797308441382 -24.1540034958042
2025-11-03T09:46:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9797308441382     dec_j2k = -24.1540034958042
2025-11-03T09:46:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967835396310608;171.162357330327;_
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967835396310608;171.162357330327;_
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:54.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47755)
2025-11-03T09:46:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:54.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:54.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:54.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:54.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82424031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967835396310608, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0044847, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02425, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9797308441382, telescope_dec_j2k=-24.1540034958042, observability=1)
2025-11-03T09:46:54.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:54
2025-11-03T09:46:54.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:54.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021869659423828125s
2025-11-03T09:46:54.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021869659423828125
2025-11-03T09:46:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:54
2025-11-03T09:46:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.383986234664917s
2025-11-03T09:46:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.383986234664917
2025-11-03T09:46:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:56
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835152626037598s
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0050457;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02481;2460982.82426345;9.78229333;1.3;_
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0050457;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02481;2460982.82426345;9.78229333;1.3;_
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0050457, teldec = -24.256608
2025-11-03T09:46:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0050457 -24.256608
2025-11-03T09:46:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0050457 -24.256608
2025-11-03T09:46:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0050457 -24.256608
2025-11-03T09:46:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0050457;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02481;2460982.82426348;9.78229333;1.3;_14.9802913840041 -24.1540178592384
2025-11-03T09:46:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9802913840041     dec_j2k = -24.1540178592384
2025-11-03T09:46:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967841413102029;171.162357330327;_
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967841413102029;171.162357330327;_
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39735)
2025-11-03T09:46:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:56.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:56.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:56.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:56.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82426345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967841413102029, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0050457, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02481, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9802913840041, telescope_dec_j2k=-24.1540178592384, observability=1)
2025-11-03T09:46:56.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:56
2025-11-03T09:46:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022177696228027344s
2025-11-03T09:46:56.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022177696228027344
2025-11-03T09:46:56.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:56
2025-11-03T09:46:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798055648803711s
2025-11-03T09:46:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798055648803711
2025-11-03T09:46:57.979 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.599299430847168s
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:46:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:46:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:46:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:46:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:46:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:46:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0054941;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02526;2460982.82428219;9.78274056;1.3;_
2025-11-03T09:46:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.0054941;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02526;2460982.82428219;9.78274056;1.3;_
2025-11-03T09:46:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:46:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:46:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:46:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:46:57.983 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.0054941, teldec = -24.256608
2025-11-03T09:46:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0054941 -24.256608
2025-11-03T09:46:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0054941 -24.256608
2025-11-03T09:46:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0054941 -24.256608
2025-11-03T09:46:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0054941;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02526;2460982.82428222;9.78274056;1.3;_14.9807394162649 -24.1540293413592
2025-11-03T09:46:57.984 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.9807394162649     dec_j2k = -24.1540293413592
2025-11-03T09:46:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:46:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:46:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967844622057453;171.162351965909;_
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967844622057453;171.162351965909;_
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:46:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:46:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:46:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42277)
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:46:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:46:57.996 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:46:57.996 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82428219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967844622057453, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0054941, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02526, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9807394162649, telescope_dec_j2k=-24.1540293413592, observability=1)
2025-11-03T09:46:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:58
2025-11-03T09:46:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36388731002807617s
2025-11-03T09:46:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36388731002807617
2025-11-03T09:46:58.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:58
2025-11-03T09:46:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38590526580810547s
2025-11-03T09:46:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38590526580810547
2025-11-03T09:46:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:46:58
2025-11-03T09:46:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:46:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7614638805389404s
2025-11-03T09:46:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7614638805389404
2025-11-03T09:47:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:00
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3645339012145996s
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0061568;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02592;2460982.82430976;9.78340139;1.3;_
2025-11-03T09:47:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0061568;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02592;2460982.82430976;9.78340139;1.3;_
2025-11-03T09:47:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0061568, teldec = -24.256608
2025-11-03T09:47:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0061568 -24.256608
2025-11-03T09:47:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0061568 -24.256608
2025-11-03T09:47:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0061568 -24.256608
2025-11-03T09:47:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0061568;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02592;2460982.82430978;9.78340139;1.3;_14.9814015728402 -24.154046313659
2025-11-03T09:47:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9814015728402     dec_j2k = -24.154046313659
2025-11-03T09:47:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096783900638546;171.162357330327;_
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096783900638546;171.162357330327;_
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48741)
2025-11-03T09:47:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:00.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:00.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:00.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82430976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096783900638546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0061568, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02592, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9814015728402, telescope_dec_j2k=-24.154046313659, observability=1)
2025-11-03T09:47:00.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:00
2025-11-03T09:47:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023354053497314453s
2025-11-03T09:47:00.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023354053497314453
2025-11-03T09:47:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:00
2025-11-03T09:47:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37804746627807617s
2025-11-03T09:47:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37804746627807617
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Status age = 2.066166877746582s
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:02.446 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:02.447 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:02.448 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:02.448 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 17;15.0067453;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02651;2460982.82433389;9.78398833;1.3;_
2025-11-03T09:47:02.448 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response 17;15.0067453;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02651;2460982.82433389;9.78398833;1.3;_
2025-11-03T09:47:02.448 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:02.448 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:02.449 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:02.449 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:02.450 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:02.450 [INFO] [Thread-88731 (handle)] [driver.py] [get_status()] Telra = 15.0067453, teldec = -24.256608
2025-11-03T09:47:02.450 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0067453 -24.256608
2025-11-03T09:47:02.450 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0067453 -24.256608
2025-11-03T09:47:02.450 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0067453 -24.256608
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 17;15.0067453;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02651;2460982.82433392;9.78398833;1.3;_14.9819895903257 -24.1540613882611
2025-11-03T09:47:02.451 [INFO] [Thread-88731 (handle)] [driver.py] [get_status()] ra_j2k = 14.9819895903257     dec_j2k = -24.1540613882611
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 140;0.0967840610863172;171.162357330327;_
2025-11-03T09:47:02.451 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response 140;0.0967840610863172;171.162357330327;_
2025-11-03T09:47:02.452 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:02.452 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:02.452 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:02.452 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:02.453 [DEBUG] [Thread-88731 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50335)
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:02.460 [DEBUG] [Thread-88731 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:02.467 [DEBUG] [Thread-88731 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:02.468 [DEBUG] [Thread-88731 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:02.468 [INFO] [Thread-88731 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82433389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967840610863172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0067453, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02651, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9819895903257, telescope_dec_j2k=-24.1540613882611, observability=1)
2025-11-03T09:47:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:02
2025-11-03T09:47:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29939818382263184s
2025-11-03T09:47:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29939818382263184
2025-11-03T09:47:04.545 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:04
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0767641067504883s
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0073333;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0271;2460982.82435818;9.78457472;1.3;_
2025-11-03T09:47:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0073333;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0271;2460982.82435818;9.78457472;1.3;_
2025-11-03T09:47:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:04.548 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0073333, teldec = -24.256608
2025-11-03T09:47:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0073333 -24.256608
2025-11-03T09:47:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0073333 -24.256608
2025-11-03T09:47:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0073333 -24.256608
2025-11-03T09:47:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0073333;-24.256608;50.108557;89.993053;50.08601;90.12017;12.0271;2460982.82435821;9.78457472;1.3;_14.9825771082821 -24.1540764525224
2025-11-03T09:47:04.550 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9825771082821     dec_j2k = -24.1540764525224
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967846627654593;171.162357330327;_
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967846627654593;171.162357330327;_
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55435)
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:04.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:04.565 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:04.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:04.566 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82435818, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967846627654593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0073333, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0271, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9825771082821, telescope_dec_j2k=-24.1540764525224, observability=1)
2025-11-03T09:47:04.588 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:04
2025-11-03T09:47:04.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:04.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022051334381103516s
2025-11-03T09:47:04.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022051334381103516
2025-11-03T09:47:04.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:04
2025-11-03T09:47:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19402265548706055s
2025-11-03T09:47:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19402265548706055
2025-11-03T09:47:06.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:06
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.85502290725708s
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:06.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0078564;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02762;2460982.82437988;9.78509639;1.3;_
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0078564;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02762;2460982.82437988;9.78509639;1.3;_
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:06.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:06.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:06.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:06.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0078564, teldec = -24.256608
2025-11-03T09:47:06.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0078564 -24.256608
2025-11-03T09:47:06.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0078564 -24.256608
2025-11-03T09:47:06.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0078564 -24.256608
2025-11-03T09:47:06.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0078564;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02762;2460982.82437991;9.78509639;1.3;_14.983099779495 -24.1540898561511
2025-11-03T09:47:06.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.983099779495     dec_j2k = -24.1540898561511
2025-11-03T09:47:06.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:06.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:06.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:06.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967847429893449;171.162357330327;_
2025-11-03T09:47:06.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967847429893449;171.162357330327;_
2025-11-03T09:47:06.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:06.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:06.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:06.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:06.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:06.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:06.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:06.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39011)
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:06.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:06.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:06.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82437988, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967847429893449, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0078564, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02762, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.983099779495, telescope_dec_j2k=-24.1540898561511, observability=1)
2025-11-03T09:47:06.461 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:06
2025-11-03T09:47:06.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:06.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02230215072631836s
2025-11-03T09:47:06.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02230215072631836
2025-11-03T09:47:06.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:06
2025-11-03T09:47:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3251819610595703s
2025-11-03T09:47:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3251819610595703
2025-11-03T09:47:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:08
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3214306831359863s
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0085018;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02827;2460982.82440697;9.78574;1.3;_
2025-11-03T09:47:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0085018;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02827;2460982.82440697;9.78574;1.3;_
2025-11-03T09:47:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:08.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0085018, teldec = -24.256608
2025-11-03T09:47:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0085018 -24.256608
2025-11-03T09:47:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0085018 -24.256608
2025-11-03T09:47:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0085018 -24.256608
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0085018;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02827;2460982.824407;9.78574;1.3;_14.9837446505247 -24.1541063962167
2025-11-03T09:47:08.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9837446505247     dec_j2k = -24.1541063962167
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967844622057453;171.162357330327;_
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967844622057453;171.162357330327;_
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51771)
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:08.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:08.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82440697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967844622057453, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0085018, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02827, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9837446505247, telescope_dec_j2k=-24.1541063962167, observability=1)
2025-11-03T09:47:10.203 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:10
2025-11-03T09:47:10.203 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:10.203 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4290785789489746s
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:10.204 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:10.205 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:10.206 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0088954;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02866;2460982.82442368;9.7861325;1.3;_
2025-11-03T09:47:10.206 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0088954;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02866;2460982.82442368;9.7861325;1.3;_
2025-11-03T09:47:10.206 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:10.206 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:10.206 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:10.207 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:10.207 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:10.207 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0088954, teldec = -24.256608
2025-11-03T09:47:10.207 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0088954 -24.256608
2025-11-03T09:47:10.207 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0088954 -24.256608
2025-11-03T09:47:10.207 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0088954 -24.256608
2025-11-03T09:47:10.208 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0088954;-24.256608;50.108557;89.993053;50.08601;90.12017;12.02866;2460982.8244237;9.7861325;1.3;_14.984137927966 -24.1541164847055
2025-11-03T09:47:10.208 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.984137927966     dec_j2k = -24.1541164847055
2025-11-03T09:47:10.208 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:10.208 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:10.208 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:10.209 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967844622057453;171.162346601491;_
2025-11-03T09:47:10.209 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967844622057453;171.162346601491;_
2025-11-03T09:47:10.209 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:10.210 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:10.210 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:10.210 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:10.210 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:10.210 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:10.211 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42159)
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:10.215 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:10.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:10.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:10.222 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:10.222 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:10.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:10.223 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:10.223 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:10.223 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:10.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:10.223 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82442368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967844622057453, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108557, telescope_az=89.993053, telescope_ra=15.0088954, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02866, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.984137927966, telescope_dec_j2k=-24.1541164847055, observability=1)
2025-11-03T09:47:10.246 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:10
2025-11-03T09:47:10.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:10.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022966861724853516s
2025-11-03T09:47:10.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022966861724853516
2025-11-03T09:47:10.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:10
2025-11-03T09:47:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5451107025146484s
2025-11-03T09:47:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5451107025146484
2025-11-03T09:47:11.724 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:11
2025-11-03T09:47:11.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:11.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5017485618591309s
2025-11-03T09:47:11.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:11.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:11.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0093352;-24.256608;50.108556;89.993053;50.08601;90.12017;12.0291;2460982.82444127;9.78657111;1.3;_
2025-11-03T09:47:11.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0093352;-24.256608;50.108556;89.993053;50.08601;90.12017;12.0291;2460982.82444127;9.78657111;1.3;_
2025-11-03T09:47:11.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:11.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:11.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:11.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:11.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:11.727 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0093352, teldec = -24.256608
2025-11-03T09:47:11.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0093352 -24.256608
2025-11-03T09:47:11.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0093352 -24.256608
2025-11-03T09:47:11.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0093352 -24.256608
2025-11-03T09:47:11.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0093352;-24.256608;50.108556;89.993053;50.08601;90.12017;12.0291;2460982.8244413;9.78657111;1.3;_14.9845773675783 -24.1541277586678
2025-11-03T09:47:11.728 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9845773675783     dec_j2k = -24.1541277586678
2025-11-03T09:47:11.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:11.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:11.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967850237729446;171.162351965909;_
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967850237729446;171.162351965909;_
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:11.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:11.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:11.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:11.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:11.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:11.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:11.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:11.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:11.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:11.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:11.734 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34107)
2025-11-03T09:47:11.734 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:11.734 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:11.734 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:11.735 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:11.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:11.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:11.742 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82444127, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967850237729446, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0093352, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9845773675783, telescope_dec_j2k=-24.1541277586678, observability=1)
2025-11-03T09:47:11.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:11
2025-11-03T09:47:11.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:11.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024507522583007812s
2025-11-03T09:47:11.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024507522583007812
2025-11-03T09:47:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:12
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0180928707122803s
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:12.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0096157;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02938;2460982.82445326;9.78685083;1.3;_
2025-11-03T09:47:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0096157;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02938;2460982.82445326;9.78685083;1.3;_
2025-11-03T09:47:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:12.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0096157, teldec = -24.256608
2025-11-03T09:47:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0096157 -24.256608
2025-11-03T09:47:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0096157 -24.256608
2025-11-03T09:47:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0096157 -24.256608
2025-11-03T09:47:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0096157;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02938;2460982.82445329;9.78685083;1.3;_14.9848576377445 -24.1541349498072
2025-11-03T09:47:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9848576377445     dec_j2k = -24.1541349498072
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967848232132306;171.162357330327;_
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967848232132306;171.162357330327;_
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43121)
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:12.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:12.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82445326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967848232132306, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0096157, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9848576377445, telescope_dec_j2k=-24.1541349498072, observability=1)
2025-11-03T09:47:13.014 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:47:13
2025-11-03T09:47:13.014 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:13.014 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.23178458213806152s
2025-11-03T09:47:13.014 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23178458213806152
2025-11-03T09:47:13.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:13
2025-11-03T09:47:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5788371562957764s
2025-11-03T09:47:13.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5788371562957764
2025-11-03T09:47:13.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:13
2025-11-03T09:47:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6007156372070312s
2025-11-03T09:47:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6007156372070312
2025-11-03T09:47:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:14
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9798383712768555s
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0101764;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02994;2460982.82447644;9.78741;1.3;_
2025-11-03T09:47:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0101764;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02994;2460982.82447644;9.78741;1.3;_
2025-11-03T09:47:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0101764, teldec = -24.256608
2025-11-03T09:47:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0101764 -24.256608
2025-11-03T09:47:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0101764 -24.256608
2025-11-03T09:47:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0101764 -24.256608
2025-11-03T09:47:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0101764;-24.256608;50.108556;89.993053;50.08601;90.12017;12.02994;2460982.82447646;9.78741;1.3;_14.9854178783645 -24.1541493260757
2025-11-03T09:47:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9854178783645     dec_j2k = -24.1541493260757
2025-11-03T09:47:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096785144108773;171.162368059163;_
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096785144108773;171.162368059163;_
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33505)
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:14.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:14.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:14.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82447644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096785144108773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0101764, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.02994, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9854178783645, telescope_dec_j2k=-24.1541493260757, observability=1)
2025-11-03T09:47:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:15
2025-11-03T09:47:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.582505464553833s
2025-11-03T09:47:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.582505464553833
2025-11-03T09:47:15.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:15
2025-11-03T09:47:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.604426383972168s
2025-11-03T09:47:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.604426383972168
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.7448787689208984s
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:16.523 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:16.524 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:16.525 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.0106719;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03044;2460982.82449682;9.78790417;1.3;_
2025-11-03T09:47:16.525 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.0106719;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03044;2460982.82449682;9.78790417;1.3;_
2025-11-03T09:47:16.525 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:16.525 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:16.525 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:16.526 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:16.526 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:16.526 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.0106719, teldec = -24.256608
2025-11-03T09:47:16.526 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.0106719 -24.256608
2025-11-03T09:47:16.527 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.0106719 -24.256608
2025-11-03T09:47:16.527 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0106719 -24.256608
2025-11-03T09:47:16.527 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.0106719;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03044;2460982.82449684;9.78790417;1.3;_14.9859129724488 -24.1541620324901
2025-11-03T09:47:16.528 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 14.9859129724488     dec_j2k = -24.1541620324901
2025-11-03T09:47:16.528 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:16.528 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:16.528 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:16.528 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967849836610018;171.162357330327;_
2025-11-03T09:47:16.528 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967849836610018;171.162357330327;_
2025-11-03T09:47:16.529 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:16.529 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:16.529 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:16.529 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:16.530 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:16.531 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:16.531 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:16.531 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56277)
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:16.533 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:16.540 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:16.541 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:16.541 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:47:16.541 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82449682, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967849836610018, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0106719, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03044, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:46:17.413145', telescope_ra_j2k=14.9859129724488, telescope_dec_j2k=-24.1541620324901, observability=1)
2025-11-03T09:47:16.541 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5267186164855957 seconds ago
2025-11-03T09:47:16.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:16
2025-11-03T09:47:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22572588920593262s
2025-11-03T09:47:16.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22572588920593262
2025-11-03T09:47:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:17
2025-11-03T09:47:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8203999996185303s
2025-11-03T09:47:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8203999996185303
2025-11-03T09:47:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:17
2025-11-03T09:47:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8428809642791748s
2025-11-03T09:47:17.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8428809642791748
2025-11-03T09:47:17.556 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:17.556 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:17.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:17.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:17.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:17.557 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:17.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:17.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:17.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:17.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:17.558 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:17.558 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:47:17.559 [INFO] [ThreadPoolExecutor-3423_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:47:17.559 [INFO] [ThreadPoolExecutor-3423_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:47:18.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:18
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2181406021118164s
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:18.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:18.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0112883;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03105;2460982.8245227;9.78851889;1.3;_
2025-11-03T09:47:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0112883;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03105;2460982.8245227;9.78851889;1.3;_
2025-11-03T09:47:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:18.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:18.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0112883, teldec = -24.256608
2025-11-03T09:47:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0112883 -24.256608
2025-11-03T09:47:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0112883 -24.256608
2025-11-03T09:47:18.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0112883 -24.256608
2025-11-03T09:47:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0112883;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03105;2460982.82452272;9.78851889;1.3;_14.9865288675519 -24.1541778416601
2025-11-03T09:47:18.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9865288675519     dec_j2k = -24.1541778416601
2025-11-03T09:47:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967842215340885;171.162346601491;_
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967842215340885;171.162346601491;_
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:18.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45961)
2025-11-03T09:47:18.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:18.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:18.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:18.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:18.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8245227, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967842215340885, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0112883, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9865288675519, telescope_dec_j2k=-24.1541778416601, observability=1)
2025-11-03T09:47:19.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:19
2025-11-03T09:47:19.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5875046253204346s
2025-11-03T09:47:19.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5875046253204346
2025-11-03T09:47:19.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:19
2025-11-03T09:47:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6100831031799316s
2025-11-03T09:47:19.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6100831031799316
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.19114351272583s
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:19.966 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:19.967 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:19.968 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:19.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0116245;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03139;2460982.82453668;9.78885417;1.3;_
2025-11-03T09:47:19.969 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.0116245;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03139;2460982.82453668;9.78885417;1.3;_
2025-11-03T09:47:19.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:19.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:19.969 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:19.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:19.970 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:19.970 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.0116245, teldec = -24.256608
2025-11-03T09:47:19.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0116245 -24.256608
2025-11-03T09:47:19.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0116245 -24.256608
2025-11-03T09:47:19.970 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0116245 -24.256608
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0116245;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03139;2460982.8245367;9.78885417;1.3;_14.9868647921968 -24.1541864655182
2025-11-03T09:47:19.971 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 14.9868647921968     dec_j2k = -24.1541864655182
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967846226535165;171.162351965909;_
2025-11-03T09:47:19.971 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967846226535165;171.162351965909;_
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:19.972 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:19.973 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:19.973 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:19.973 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43455)
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:19.975 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:19.982 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:19.982 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:19.983 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:19.983 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82453668, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967846226535165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0116245, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03139, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9868647921968, telescope_dec_j2k=-24.1541864655182, observability=1)
2025-11-03T09:47:20.577 [DEBUG] [Thread-88732 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:20.577 [DEBUG] [Thread-88732 (handle)] [server.py] [get_status()] Status age = 0.5945284366607666s
2025-11-03T09:47:20.578 [DEBUG] [Thread-88732 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5945284366607666
2025-11-03T09:47:20.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:20
2025-11-03T09:47:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7757561206817627s
2025-11-03T09:47:20.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7757561206817627
2025-11-03T09:47:21.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:21
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4420878887176514s
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:21.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:21.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:21.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:21.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:21.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:21.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:21.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:21.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0120161;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03178;2460982.82455355;9.78924472;1.3;_
2025-11-03T09:47:21.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0120161;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03178;2460982.82455355;9.78924472;1.3;_
2025-11-03T09:47:21.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:21.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:21.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:21.429 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0120161, teldec = -24.256608
2025-11-03T09:47:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0120161 -24.256608
2025-11-03T09:47:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0120161 -24.256608
2025-11-03T09:47:21.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0120161 -24.256608
2025-11-03T09:47:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0120161;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03178;2460982.82455359;9.78924472;1.3;_14.9872560714931 -24.1541965114555
2025-11-03T09:47:21.430 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9872560714931     dec_j2k = -24.1541965114555
2025-11-03T09:47:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:21.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967851039968302;171.162351965909;_
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967851039968302;171.162351965909;_
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:21.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:21.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:21.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:21.435 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42153)
2025-11-03T09:47:21.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:21.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:21.435 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:21.436 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:21.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:21.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:21.442 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:21.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:21.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82455355, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967851039968302, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0120161, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03178, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9872560714931, telescope_dec_j2k=-24.1541965114555, observability=1)
2025-11-03T09:47:21.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:21
2025-11-03T09:47:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022187471389770508s
2025-11-03T09:47:21.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022187471389770508
2025-11-03T09:47:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:22
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3179128170013428s
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0123989;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03216;2460982.82456902;9.78962639;1.3;_
2025-11-03T09:47:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0123989;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03216;2460982.82456902;9.78962639;1.3;_
2025-11-03T09:47:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0123989, teldec = -24.256608
2025-11-03T09:47:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0123989 -24.256608
2025-11-03T09:47:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0123989 -24.256608
2025-11-03T09:47:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0123989 -24.256608
2025-11-03T09:47:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0123989;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03216;2460982.82456904;9.78962639;1.3;_14.9876385580224 -24.1542063326972
2025-11-03T09:47:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9876385580224     dec_j2k = -24.1542063326972
2025-11-03T09:47:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967848232132306;171.162357330327;_
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967848232132306;171.162357330327;_
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42131)
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82456902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967848232132306, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0123989, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03216, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9876385580224, telescope_dec_j2k=-24.1542063326972, observability=1)
2025-11-03T09:47:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:23
2025-11-03T09:47:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5809359550476074s
2025-11-03T09:47:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5809359550476074
2025-11-03T09:47:23.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:23
2025-11-03T09:47:23.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:23.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6030206680297852s
2025-11-03T09:47:23.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6030206680297852
2025-11-03T09:47:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:24
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852023124694824s
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0129596;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03273;2460982.82459221;9.79018556;1.3;_
2025-11-03T09:47:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0129596;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03273;2460982.82459221;9.79018556;1.3;_
2025-11-03T09:47:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0129596, teldec = -24.256608
2025-11-03T09:47:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0129596 -24.256608
2025-11-03T09:47:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0129596 -24.256608
2025-11-03T09:47:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0129596 -24.256608
2025-11-03T09:47:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0129596;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03273;2460982.82459223;9.79018556;1.3;_14.9881987989182 -24.1542207200832
2025-11-03T09:47:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9881987989182     dec_j2k = -24.1542207200832
2025-11-03T09:47:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096785344668487;171.162362694745;_
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096785344668487;171.162362694745;_
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44109)
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:24.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:24.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82459221, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096785344668487, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0129596, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03273, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9881987989182, telescope_dec_j2k=-24.1542207200832, observability=1)
2025-11-03T09:47:25.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:25
2025-11-03T09:47:25.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:25.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.58154296875s
2025-11-03T09:47:25.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.58154296875
2025-11-03T09:47:25.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:25
2025-11-03T09:47:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041972637176514s
2025-11-03T09:47:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041972637176514
2025-11-03T09:47:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:26
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841880798339844s
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0135194;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03328;2460982.82461536;9.79074389;1.3;_
2025-11-03T09:47:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0135194;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03328;2460982.82461536;9.79074389;1.3;_
2025-11-03T09:47:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0135194, teldec = -24.256608
2025-11-03T09:47:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0135194 -24.256608
2025-11-03T09:47:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0135194 -24.256608
2025-11-03T09:47:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0135194 -24.256608
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0135194;-24.256608;50.108556;89.993053;50.08601;90.12017;12.03328;2460982.82461538;9.79074389;1.3;_14.9887581406063 -24.1542350866089
2025-11-03T09:47:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9887581406063     dec_j2k = -24.1542350866089
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967855452282011;171.162357330327;_
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967855452282011;171.162357330327;_
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44385)
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:26.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82461536, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967855452282011, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0135194, telescope_dec=-24.256608, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03328, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9887581406063, telescope_dec_j2k=-24.1542350866089, observability=1)
2025-11-03T09:47:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:27
2025-11-03T09:47:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5784115791320801s
2025-11-03T09:47:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5784115791320801
2025-11-03T09:47:27.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:27
2025-11-03T09:47:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6004817485809326s
2025-11-03T09:47:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6004817485809326
2025-11-03T09:47:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:28
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978813648223877s
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0140704;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03384;2460982.82463846;9.79129333;1.3;_
2025-11-03T09:47:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0140704;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03384;2460982.82463846;9.79129333;1.3;_
2025-11-03T09:47:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0140704, teldec = -24.256607
2025-11-03T09:47:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0140704 -24.256607
2025-11-03T09:47:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0140704 -24.256607
2025-11-03T09:47:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0140704 -24.256607
2025-11-03T09:47:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0140704;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03384;2460982.8246385;9.79129333;1.3;_14.9893086896903 -24.154248229489
2025-11-03T09:47:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9893086896903     dec_j2k = -24.154248229489
2025-11-03T09:47:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967854248923726;171.162362694745;_
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967854248923726;171.162362694745;_
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51953)
2025-11-03T09:47:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82463846, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967854248923726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0140704, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9893086896903, telescope_dec_j2k=-24.154248229489, observability=1)
2025-11-03T09:47:30.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:30
2025-11-03T09:47:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.580564260482788s
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0145197;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03429;2460982.82465701;9.79174139;1.3;_
2025-11-03T09:47:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0145197;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03429;2460982.82465701;9.79174139;1.3;_
2025-11-03T09:47:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:30.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0145197, teldec = -24.256607
2025-11-03T09:47:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0145197 -24.256607
2025-11-03T09:47:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0145197 -24.256607
2025-11-03T09:47:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0145197 -24.256607
2025-11-03T09:47:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0145197;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03429;2460982.82465704;9.79174139;1.3;_14.9897576219295 -24.1542597635551
2025-11-03T09:47:30.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9897576219295     dec_j2k = -24.1542597635551
2025-11-03T09:47:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967847831012878;171.162362694745;_
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967847831012878;171.162362694745;_
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:30.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41005)
2025-11-03T09:47:30.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:30.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:30.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:30.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:30.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:30.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:30.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82465701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967847831012878, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0145197, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03429, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9897576219295, telescope_dec_j2k=-24.1542597635551, observability=1)
2025-11-03T09:47:30.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:30
2025-11-03T09:47:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026754140853881836s
2025-11-03T09:47:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026754140853881836
2025-11-03T09:47:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:30
2025-11-03T09:47:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798973560333252s
2025-11-03T09:47:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798973560333252
2025-11-03T09:47:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:32
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.385793685913086s
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0151926;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03496;2460982.82468482;9.7924125;1.3;_
2025-11-03T09:47:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0151926;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03496;2460982.82468482;9.7924125;1.3;_
2025-11-03T09:47:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0151926, teldec = -24.256607
2025-11-03T09:47:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0151926 -24.256607
2025-11-03T09:47:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0151926 -24.256607
2025-11-03T09:47:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0151926 -24.256607
2025-11-03T09:47:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0151926;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03496;2460982.82468484;9.7924125;1.3;_14.9904299712144 -24.1542770403872
2025-11-03T09:47:32.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9904299712144     dec_j2k = -24.1542770403872
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967853045565442;171.162351965909;_
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967853045565442;171.162351965909;_
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35303)
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:32.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82468482, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967853045565442, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0151926, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03496, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9904299712144, telescope_dec_j2k=-24.1542770403872, observability=1)
2025-11-03T09:47:34.542 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:34
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7596778869628906s
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:34.542 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:34.543 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.015689;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03545;2460982.82470537;9.7929075;1.3;_
2025-11-03T09:47:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.015689;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03545;2460982.82470537;9.7929075;1.3;_
2025-11-03T09:47:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:34.545 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.015689, teldec = -24.256607
2025-11-03T09:47:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.015689 -24.256607
2025-11-03T09:47:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.015689 -24.256607
2025-11-03T09:47:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.015689 -24.256607
2025-11-03T09:47:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.015689;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03545;2460982.82470539;9.7929075;1.3;_14.9909259650018 -24.1542897876148
2025-11-03T09:47:34.546 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9909259650018     dec_j2k = -24.1542897876148
2025-11-03T09:47:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967856655640295;171.162357330327;_
2025-11-03T09:47:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967856655640295;171.162357330327;_
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47705)
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:34.556 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:34.563 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:34.563 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82470537, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967856655640295, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.015689, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9909259650018, telescope_dec_j2k=-24.1542897876148, observability=1)
2025-11-03T09:47:34.585 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:34
2025-11-03T09:47:34.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:34.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022033214569091797s
2025-11-03T09:47:34.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022033214569091797
2025-11-03T09:47:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:34
2025-11-03T09:47:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19788479804992676s
2025-11-03T09:47:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19788479804992676
2025-11-03T09:47:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:36
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7972362041473389s
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0161942;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03596;2460982.82472642;9.79341139;1.3;_
2025-11-03T09:47:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0161942;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03596;2460982.82472642;9.79341139;1.3;_
2025-11-03T09:47:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0161942, teldec = -24.256607
2025-11-03T09:47:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0161942 -24.256607
2025-11-03T09:47:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0161942 -24.256607
2025-11-03T09:47:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0161942 -24.256607
2025-11-03T09:47:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0161942;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03596;2460982.82472645;9.79341139;1.3;_14.9914307516329 -24.1543027626211
2025-11-03T09:47:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9914307516329     dec_j2k = -24.1543027626211
2025-11-03T09:47:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967855853401439;171.162362694745;_
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967855853401439;171.162362694745;_
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55995)
2025-11-03T09:47:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:36.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:36.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:36.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82472642, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967855853401439, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0161942, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03596, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9914307516329, telescope_dec_j2k=-24.1543027626211, observability=1)
2025-11-03T09:47:36.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:36
2025-11-03T09:47:36.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:36.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025689125061035156s
2025-11-03T09:47:36.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025689125061035156
2025-11-03T09:47:36.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:36
2025-11-03T09:47:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38823390007019043s
2025-11-03T09:47:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38823390007019043
2025-11-03T09:47:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:38
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979083776473999s
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0167455;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03651;2460982.82474955;9.79396111;1.3;_
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0167455;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03651;2460982.82474955;9.79396111;1.3;_
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:38.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0167455, teldec = -24.256607
2025-11-03T09:47:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0167455 -24.256607
2025-11-03T09:47:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0167455 -24.256607
2025-11-03T09:47:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0167455 -24.256607
2025-11-03T09:47:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0167455;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03651;2460982.82474957;9.79396111;1.3;_14.9919816005952 -24.1543169236817
2025-11-03T09:47:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9919816005952     dec_j2k = -24.1543169236817
2025-11-03T09:47:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967857457879151;171.162357330327;_
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967857457879151;171.162357330327;_
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59285)
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82474955, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967857457879151, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0167455, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03651, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9919816005952, telescope_dec_j2k=-24.1543169236817, observability=1)
2025-11-03T09:47:38.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:38
2025-11-03T09:47:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02253246307373047s
2025-11-03T09:47:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02253246307373047
2025-11-03T09:47:38.434 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:38.435 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.436 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.437 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.437 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:38.437 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:38.437 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:38.437 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:38.438 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:47:38.439 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:38.440 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Park
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:47:38.441 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:47:38.442 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 29;15.0167733;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03654;2460982.82475049;9.79398889;1.3;_Park Command Successful
2025-11-03T09:47:38.661 [DEBUG] [Thread-88733 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:38.661 [DEBUG] [Thread-88733 (handle)] [server.py] [get_status()] Status age = 0.28157615661621094s
2025-11-03T09:47:38.661 [DEBUG] [Thread-88733 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28157615661621094
2025-11-03T09:47:38.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:38
2025-11-03T09:47:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3777923583984375s
2025-11-03T09:47:38.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3777923583984375
2025-11-03T09:47:39.442 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:47:39.442 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:47:39.442 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:47:39.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:47:39.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:47:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:40
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809479713439941s
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0173064;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03707;2460982.82477271;9.79452056;1.3;_
2025-11-03T09:47:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0173064;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03707;2460982.82477271;9.79452056;1.3;_
2025-11-03T09:47:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0173064, teldec = -24.256607
2025-11-03T09:47:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0173064 -24.256607
2025-11-03T09:47:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0173064 -24.256607
2025-11-03T09:47:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0173064 -24.256607
2025-11-03T09:47:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0173064;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03707;2460982.82477274;9.79452056;1.3;_14.9925420417586 -24.1543313335536
2025-11-03T09:47:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9925420417586     dec_j2k = -24.1543313335536
2025-11-03T09:47:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096786387579;171.162362694745;_
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096786387579;171.162362694745;_
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50953)
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:40.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:40.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:40.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82477271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096786387579, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0173064, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03707, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9925420417586, telescope_dec_j2k=-24.1543313335536, observability=1)
2025-11-03T09:47:40.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:40
2025-11-03T09:47:40.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:40.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021610260009765625s
2025-11-03T09:47:40.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021610260009765625
2025-11-03T09:47:40.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:47:40.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:47:40.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:47:40.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:47:40.444 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:47:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:40
2025-11-03T09:47:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38025569915771484s
2025-11-03T09:47:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38025569915771484
2025-11-03T09:47:41.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:47:41.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:47:41.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:47:41.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:47:41.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:47:42.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:47:42.445 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:47:42.446 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:42.447 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:47:42.448 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:47:42.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:42
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3799314498901367s
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:42.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:42.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0179786;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03774;2460982.82480049;9.79519083;1.3;_
2025-11-03T09:47:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0179786;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03774;2460982.82480049;9.79519083;1.3;_
2025-11-03T09:47:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:42.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0179786, teldec = -24.256607
2025-11-03T09:47:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0179786 -24.256607
2025-11-03T09:47:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0179786 -24.256607
2025-11-03T09:47:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0179786 -24.256607
2025-11-03T09:47:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0179786;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03774;2460982.82480051;9.79519083;1.3;_14.993213691948 -24.1543486057402
2025-11-03T09:47:42.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.993213691948     dec_j2k = -24.1543486057402
2025-11-03T09:47:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967863073551144;171.162362694745;_
2025-11-03T09:47:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967863073551144;171.162362694745;_
2025-11-03T09:47:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40045)
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82480049, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967863073551144, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0179786, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.993213691948, telescope_dec_j2k=-24.1543486057402, observability=1)
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:43.449 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:47:43.450 [DEBUG] [ThreadPoolExecutor-3422_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:43.451 [INFO] [ThreadPoolExecutor-3422_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:47:44.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:44
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778401851654053s
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0185298;-24.256607;50.108556;89.993053;50.08601;90.12017;12.0383;2460982.82482362;9.79574056;1.3;_
2025-11-03T09:47:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0185298;-24.256607;50.108556;89.993053;50.08601;90.12017;12.0383;2460982.82482362;9.79574056;1.3;_
2025-11-03T09:47:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:44.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0185298, teldec = -24.256607
2025-11-03T09:47:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0185298 -24.256607
2025-11-03T09:47:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0185298 -24.256607
2025-11-03T09:47:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0185298 -24.256607
2025-11-03T09:47:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0185298;-24.256607;50.108556;89.993053;50.08601;90.12017;12.0383;2460982.82482366;9.79574056;1.3;_14.9937644411663 -24.1543627712285
2025-11-03T09:47:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9937644411663     dec_j2k = -24.1543627712285
2025-11-03T09:47:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967862271312288;171.162357330327;_
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967862271312288;171.162357330327;_
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37575)
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:44.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:44.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:44.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82482362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967862271312288, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0185298, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0383, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9937644411663, telescope_dec_j2k=-24.1543627712285, observability=1)
2025-11-03T09:47:46.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:46
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6423966884613037s
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0189788;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03874;2460982.82484285;9.79618833;1.3;_
2025-11-03T09:47:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0189788;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03874;2460982.82484285;9.79618833;1.3;_
2025-11-03T09:47:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:46.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0189788, teldec = -24.256607
2025-11-03T09:47:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0189788 -24.256607
2025-11-03T09:47:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0189788 -24.256607
2025-11-03T09:47:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0189788 -24.256607
2025-11-03T09:47:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0189788;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03874;2460982.82484287;9.79618833;1.3;_14.9942130740055 -24.1543743118389
2025-11-03T09:47:46.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9942130740055     dec_j2k = -24.1543743118389
2025-11-03T09:47:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967864276909428;171.162357330327;_
2025-11-03T09:47:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967864276909428;171.162357330327;_
2025-11-03T09:47:46.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:46.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:46.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:46.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:46.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38903)
2025-11-03T09:47:46.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:46.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:46.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:46.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:46.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:46.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:46.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82484285, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967864276909428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0189788, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03874, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9942130740055, telescope_dec_j2k=-24.1543743118389, observability=1)
2025-11-03T09:47:46.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:46
2025-11-03T09:47:46.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:46.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021602392196655273s
2025-11-03T09:47:46.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021602392196655273
2025-11-03T09:47:46.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:46
2025-11-03T09:47:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3178107738494873s
2025-11-03T09:47:46.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3178107738494873
2025-11-03T09:47:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:48
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.325007438659668s
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0196434;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03941;2460982.82486999;9.79685111;1.3;_
2025-11-03T09:47:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0196434;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03941;2460982.82486999;9.79685111;1.3;_
2025-11-03T09:47:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:48.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0196434, teldec = -24.256607
2025-11-03T09:47:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0196434 -24.256607
2025-11-03T09:47:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0196434 -24.256607
2025-11-03T09:47:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0196434 -24.256607
2025-11-03T09:47:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0196434;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03941;2460982.82487002;9.79685111;1.3;_14.9948771306076 -24.1543913966298
2025-11-03T09:47:48.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9948771306076     dec_j2k = -24.1543913966298
2025-11-03T09:47:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967865480267712;171.162357330327;_
2025-11-03T09:47:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967865480267712;171.162357330327;_
2025-11-03T09:47:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56129)
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:48.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:48.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82486999, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967865480267712, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0196434, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03941, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9948771306076, telescope_dec_j2k=-24.1543913966298, observability=1)
2025-11-03T09:47:49.068 [DEBUG] [Thread-88734 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:49.069 [DEBUG] [Thread-88734 (handle)] [server.py] [get_status()] Status age = 0.2828495502471924s
2025-11-03T09:47:49.069 [DEBUG] [Thread-88734 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2828495502471924
2025-11-03T09:47:49.826 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:49
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0403454303741455s
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:49.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:49.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:49.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:49.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:49.828 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:49.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:49.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:49.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:49.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0199523;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03972;2460982.82488228;9.79715917;1.3;_
2025-11-03T09:47:49.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0199523;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03972;2460982.82488228;9.79715917;1.3;_
2025-11-03T09:47:49.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:49.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:49.829 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:49.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:49.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:49.830 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0199523, teldec = -24.256607
2025-11-03T09:47:49.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0199523 -24.256607
2025-11-03T09:47:49.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0199523 -24.256607
2025-11-03T09:47:49.830 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0199523 -24.256607
2025-11-03T09:47:49.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0199523;-24.256607;50.108556;89.993053;50.08601;90.12017;12.03972;2460982.8248823;9.79715917;1.3;_14.9951857780678 -24.1543993385533
2025-11-03T09:47:49.831 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9951857780678     dec_j2k = -24.1543993385533
2025-11-03T09:47:49.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:49.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:49.831 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096786788698428;171.162351965909;_
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096786788698428;171.162351965909;_
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:49.832 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:49.833 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:49.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:49.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:49.834 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41093)
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:49.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:49.846 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:49.846 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82488228, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096786788698428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0199523, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.03972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9951857780678, telescope_dec_j2k=-24.1543993385533, observability=1)
2025-11-03T09:47:49.868 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:49
2025-11-03T09:47:49.868 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:49.868 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021316051483154297s
2025-11-03T09:47:49.868 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021316051483154297
2025-11-03T09:47:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:50
2025-11-03T09:47:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.913383960723877s
2025-11-03T09:47:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.913383960723877
2025-11-03T09:47:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:51
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5137348175048828s
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:51.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:51.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0203729;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04014;2460982.82490002;9.79757861;1.3;_
2025-11-03T09:47:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0203729;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04014;2460982.82490002;9.79757861;1.3;_
2025-11-03T09:47:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:51.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:51.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0203729, teldec = -24.256607
2025-11-03T09:47:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0203729 -24.256607
2025-11-03T09:47:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0203729 -24.256607
2025-11-03T09:47:51.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0203729 -24.256607
2025-11-03T09:47:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0203729;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04014;2460982.82490005;9.79757861;1.3;_14.9956060342355 -24.1544101534122
2025-11-03T09:47:51.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9956060342355     dec_j2k = -24.1544101534122
2025-11-03T09:47:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:51.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967869892581421;171.162357330327;_
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967869892581421;171.162357330327;_
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:51.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:51.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:51.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59733)
2025-11-03T09:47:51.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:51.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:51.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:51.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:51.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:51.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:51.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82490002, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967869892581421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0203729, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04014, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9956060342355, telescope_dec_j2k=-24.1544101534122, observability=1)
2025-11-03T09:47:51.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:51
2025-11-03T09:47:51.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:51.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02197432518005371s
2025-11-03T09:47:51.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02197432518005371
2025-11-03T09:47:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:52
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3815412521362305s
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0207642;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04053;2460982.8249162;9.79796889;1.3;_
2025-11-03T09:47:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0207642;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04053;2460982.8249162;9.79796889;1.3;_
2025-11-03T09:47:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:52.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0207642, teldec = -24.256607
2025-11-03T09:47:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0207642 -24.256607
2025-11-03T09:47:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0207642 -24.256607
2025-11-03T09:47:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0207642 -24.256607
2025-11-03T09:47:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0207642;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04053;2460982.82491624;9.79796889;1.3;_14.9959970143835 -24.1544202160113
2025-11-03T09:47:52.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9959970143835     dec_j2k = -24.1544202160113
2025-11-03T09:47:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967866282506568;171.162368059163;_
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967866282506568;171.162368059163;_
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53901)
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:52.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:52.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:52.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8249162, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967866282506568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0207642, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04053, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9959970143835, telescope_dec_j2k=-24.1544202160113, observability=1)
2025-11-03T09:47:53.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:53
2025-11-03T09:47:53.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:53.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5828280448913574s
2025-11-03T09:47:53.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5828280448913574
2025-11-03T09:47:53.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:53
2025-11-03T09:47:53.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:53.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.604473352432251s
2025-11-03T09:47:53.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.604473352432251
2025-11-03T09:47:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:54
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836359024047852s
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0213157;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04108;2460982.82493937;9.79851889;1.3;_
2025-11-03T09:47:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0213157;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04108;2460982.82493937;9.79851889;1.3;_
2025-11-03T09:47:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0213157, teldec = -24.256607
2025-11-03T09:47:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0213157 -24.256607
2025-11-03T09:47:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0213157 -24.256607
2025-11-03T09:47:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0213157 -24.256607
2025-11-03T09:47:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0213157;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04108;2460982.82493941;9.79851889;1.3;_14.9965480636287 -24.154434400132
2025-11-03T09:47:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9965480636287     dec_j2k = -24.154434400132
2025-11-03T09:47:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967869491461992;171.162357330327;_
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967869491461992;171.162357330327;_
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48869)
2025-11-03T09:47:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:54.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:54.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:54.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:54.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:54.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82493937, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967869491461992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0213157, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04108, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9965480636287, telescope_dec_j2k=-24.154434400132, observability=1)
2025-11-03T09:47:55.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:55
2025-11-03T09:47:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5813777446746826s
2025-11-03T09:47:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5813777446746826
2025-11-03T09:47:55.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:55
2025-11-03T09:47:55.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:55.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6035223007202148s
2025-11-03T09:47:55.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6035223007202148
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Status age = 1.9323756694793701s
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:56.711 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:56.712 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 17;15.0218483;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04161;2460982.82496194;9.79905;1.3;_
2025-11-03T09:47:56.713 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response 17;15.0218483;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04161;2460982.82496194;9.79905;1.3;_
2025-11-03T09:47:56.713 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:56.713 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:56.713 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:56.714 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:56.714 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:56.714 [INFO] [Thread-88735 (handle)] [driver.py] [get_status()] Telra = 15.0218483, teldec = -24.256607
2025-11-03T09:47:56.714 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0218483 -24.256607
2025-11-03T09:47:56.714 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0218483 -24.256607
2025-11-03T09:47:56.714 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0218483 -24.256607
2025-11-03T09:47:56.715 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 17;15.0218483;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04161;2460982.82496198;9.79905;1.3;_14.9970802283726 -24.1544481002122
2025-11-03T09:47:56.715 [INFO] [Thread-88735 (handle)] [driver.py] [get_status()] ra_j2k = 14.9970802283726     dec_j2k = -24.1544481002122
2025-11-03T09:47:56.715 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:56.715 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:56.715 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 140;0.0967870293700849;171.162346601491;_
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response 140;0.0967870293700849;171.162346601491;_
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:56.716 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:56.717 [DEBUG] [Thread-88735 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:56.723 [DEBUG] [Thread-88735 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41889)
2025-11-03T09:47:56.723 [DEBUG] [Thread-88735 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:56.723 [DEBUG] [Thread-88735 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:56.723 [DEBUG] [Thread-88735 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:56.724 [DEBUG] [Thread-88735 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:56.724 [DEBUG] [Thread-88735 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:56.731 [DEBUG] [Thread-88735 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:56.731 [INFO] [Thread-88735 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82496194, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967870293700849, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0218483, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9970802283726, telescope_dec_j2k=-24.1544481002122, observability=1)
2025-11-03T09:47:56.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:56
2025-11-03T09:47:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02911972999572754s
2025-11-03T09:47:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02911972999572754
2025-11-03T09:47:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:57
2025-11-03T09:47:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6306445598602295s
2025-11-03T09:47:57.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6306445598602295
2025-11-03T09:47:57.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:57
2025-11-03T09:47:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6520066261291504s
2025-11-03T09:47:57.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6520066261291504
2025-11-03T09:47:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2143609523773193s
2025-11-03T09:47:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:47:57.945 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:47:57.946 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:47:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:47:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:47:57.946 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:47:57.947 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:47:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0222126;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04198;2460982.82497625;9.79941333;1.3;_
2025-11-03T09:47:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.0222126;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04198;2460982.82497625;9.79941333;1.3;_
2025-11-03T09:47:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:47:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:47:57.948 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:47:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:47:57.949 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.0222126, teldec = -24.256607
2025-11-03T09:47:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0222126 -24.256607
2025-11-03T09:47:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0222126 -24.256607
2025-11-03T09:47:57.949 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0222126 -24.256607
2025-11-03T09:47:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0222126;-24.256607;50.108556;89.993053;50.08601;90.12017;12.04198;2460982.82497627;9.79941333;1.3;_14.997444230685 -24.154457472269
2025-11-03T09:47:57.950 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 14.997444230685     dec_j2k = -24.154457472269
2025-11-03T09:47:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:47:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:47:57.950 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967867084745424;171.162357330327;_
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967867084745424;171.162357330327;_
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:57.951 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:47:57.952 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:47:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:47:57.953 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:47:57.957 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36715)
2025-11-03T09:47:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:47:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:47:57.957 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:47:57.957 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:47:57.958 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:47:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:47:57.965 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82497625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967867084745424, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108556, telescope_az=89.993053, telescope_ra=15.0222126, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.997444230685, telescope_dec_j2k=-24.154457472269, observability=1)
2025-11-03T09:47:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:47:58
2025-11-03T09:47:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:47:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7967445850372314s
2025-11-03T09:47:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7967445850372314
2025-11-03T09:48:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:00
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7944507598876953s
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.022987;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04275;2460982.82500882;9.80018556;1.3;_
2025-11-03T09:48:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.022987;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04275;2460982.82500882;9.80018556;1.3;_
2025-11-03T09:48:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.022987, teldec = -24.256607
2025-11-03T09:48:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.022987 -24.256607
2025-11-03T09:48:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.022987 -24.256607
2025-11-03T09:48:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.022987 -24.256607
2025-11-03T09:48:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.022987;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04275;2460982.82500884;9.80018556;1.3;_14.9982179979627 -24.1544773977754
2025-11-03T09:48:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9982179979627     dec_j2k = -24.1544773977754
2025-11-03T09:48:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967869491461992;171.162362694745;_
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967869491461992;171.162362694745;_
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49465)
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:00.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:00.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:00.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:00.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82500882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967869491461992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.022987, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04275, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9982179979627, telescope_dec_j2k=-24.1544773977754, observability=1)
2025-11-03T09:48:02.583 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:02
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8064868450164795s
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:02.583 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:02.584 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:02.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0234917;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04326;2460982.82502992;9.80068889;1.3;_
2025-11-03T09:48:02.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0234917;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04326;2460982.82502992;9.80068889;1.3;_
2025-11-03T09:48:02.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:02.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:02.585 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:02.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:02.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:02.586 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0234917, teldec = -24.256607
2025-11-03T09:48:02.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0234917 -24.256607
2025-11-03T09:48:02.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0234917 -24.256607
2025-11-03T09:48:02.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0234917 -24.256607
2025-11-03T09:48:02.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0234917;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04326;2460982.82502994;9.80068889;1.3;_14.9987222856556 -24.154490386126
2025-11-03T09:48:02.587 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9987222856556     dec_j2k = -24.154490386126
2025-11-03T09:48:02.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:02.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:02.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967864678028856;171.162368059163;_
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967864678028856;171.162368059163;_
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:02.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:02.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:02.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:02.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:02.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47719)
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:02.593 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:02.600 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:02.601 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82502992, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967864678028856, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0234917, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04326, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9987222856556, telescope_dec_j2k=-24.154490386126, observability=1)
2025-11-03T09:48:02.622 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:02
2025-11-03T09:48:02.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:02.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021485567092895508s
2025-11-03T09:48:02.622 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021485567092895508
2025-11-03T09:48:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:02
2025-11-03T09:48:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1597447395324707s
2025-11-03T09:48:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1597447395324707
2025-11-03T09:48:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:04
2025-11-03T09:48:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7598142623901367s
2025-11-03T09:48:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0239959;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04376;2460982.8250505;9.80119167;1.3;_
2025-11-03T09:48:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0239959;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04376;2460982.8250505;9.80119167;1.3;_
2025-11-03T09:48:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0239959, teldec = -24.256607
2025-11-03T09:48:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0239959 -24.256607
2025-11-03T09:48:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0239959 -24.256607
2025-11-03T09:48:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0239959 -24.256607
2025-11-03T09:48:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0239959;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04376;2460982.82505052;9.80119167;1.3;_14.9992260738022 -24.1545033634158
2025-11-03T09:48:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9992260738022     dec_j2k = -24.1545033634158
2025-11-03T09:48:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967868689223136;171.162362694745;_
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967868689223136;171.162362694745;_
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33445)
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:04.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8250505, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967868689223136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0239959, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04376, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9992260738022, telescope_dec_j2k=-24.1545033634158, observability=1)
2025-11-03T09:48:04.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:04
2025-11-03T09:48:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02153801918029785s
2025-11-03T09:48:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02153801918029785
2025-11-03T09:48:04.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:04
2025-11-03T09:48:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3823246955871582s
2025-11-03T09:48:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3823246955871582
2025-11-03T09:48:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:06
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790737628936768s
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0245554;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04432;2460982.82507362;9.80174972;1.3;_
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0245554;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04432;2460982.82507362;9.80174972;1.3;_
2025-11-03T09:48:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0245554, teldec = -24.256607
2025-11-03T09:48:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0245554 -24.256607
2025-11-03T09:48:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0245554 -24.256607
2025-11-03T09:48:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0245554 -24.256607
2025-11-03T09:48:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0245554;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04432;2460982.82507366;9.80174972;1.3;_14.9997851168299 -24.1545177661511
2025-11-03T09:48:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 14.9997851168299     dec_j2k = -24.1545177661511
2025-11-03T09:48:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967871095939705;171.162362694745;_
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967871095939705;171.162362694745;_
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33715)
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:06.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:06.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:06.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82507362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967871095939705, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0245554, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04432, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=14.9997851168299, telescope_dec_j2k=-24.1545177661511, observability=1)
2025-11-03T09:48:06.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:06
2025-11-03T09:48:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021795272827148438s
2025-11-03T09:48:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021795272827148438
2025-11-03T09:48:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:06
2025-11-03T09:48:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38372325897216797s
2025-11-03T09:48:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38372325897216797
2025-11-03T09:48:08.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:08
2025-11-03T09:48:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848864078521729s
2025-11-03T09:48:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0251069;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04487;2460982.82509679;9.80229972;1.3;_
2025-11-03T09:48:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0251069;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04487;2460982.82509679;9.80229972;1.3;_
2025-11-03T09:48:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0251069, teldec = -24.256607
2025-11-03T09:48:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0251069 -24.256607
2025-11-03T09:48:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0251069 -24.256607
2025-11-03T09:48:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0251069 -24.256607
2025-11-03T09:48:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0251069;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04487;2460982.82509682;9.80229972;1.3;_15.0003361664461 -24.1545319651246
2025-11-03T09:48:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0003361664461     dec_j2k = -24.1545319651246
2025-11-03T09:48:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967871898178561;171.162351965909;_
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967871898178561;171.162351965909;_
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45107)
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:08.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:08.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:08.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:08.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82509679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967871898178561, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0251069, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04487, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=15.0003361664461, telescope_dec_j2k=-24.1545319651246, observability=1)
2025-11-03T09:48:08.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:08
2025-11-03T09:48:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021297216415405273s
2025-11-03T09:48:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021297216415405273
2025-11-03T09:48:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:08
2025-11-03T09:48:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38565683364868164s
2025-11-03T09:48:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38565683364868164
2025-11-03T09:48:10.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:10
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844844341278076s
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0256676;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04543;2460982.82511995;9.80285889;1.3;_
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0256676;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04543;2460982.82511995;9.80285889;1.3;_
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0256676, teldec = -24.256607
2025-11-03T09:48:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0256676 -24.256607
2025-11-03T09:48:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0256676 -24.256607
2025-11-03T09:48:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0256676 -24.256607
2025-11-03T09:48:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0256676;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04543;2460982.82511998;9.80285889;1.3;_15.0008964086044 -24.1545464031759
2025-11-03T09:48:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0008964086044     dec_j2k = -24.1545464031759
2025-11-03T09:48:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096786788698428;171.162357330327;_
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096786788698428;171.162357330327;_
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:10.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33541)
2025-11-03T09:48:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:10.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:10.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:10.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82511995, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096786788698428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0256676, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=15.0008964086044, telescope_dec_j2k=-24.1545464031759, observability=1)
2025-11-03T09:48:10.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:10
2025-11-03T09:48:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022034645080566406s
2025-11-03T09:48:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022034645080566406
2025-11-03T09:48:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:10
2025-11-03T09:48:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38344407081604004s
2025-11-03T09:48:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38344407081604004
2025-11-03T09:48:12.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:12
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785914421081543s
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:12.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0262275;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04599;2460982.82514307;9.80341722;1.3;_
2025-11-03T09:48:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0262275;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04599;2460982.82514307;9.80341722;1.3;_
2025-11-03T09:48:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:12.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0262275, teldec = -24.256607
2025-11-03T09:48:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0262275 -24.256607
2025-11-03T09:48:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0262275 -24.256607
2025-11-03T09:48:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0262275 -24.256607
2025-11-03T09:48:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0262275;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04599;2460982.82514309;9.80341722;1.3;_15.0014558514716 -24.1545608228543
2025-11-03T09:48:12.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0014558514716     dec_j2k = -24.1545608228543
2025-11-03T09:48:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967867084745424;171.162351965909;_
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967867084745424;171.162351965909;_
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34507)
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:12.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:12.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82514307, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967867084745424, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0262275, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04599, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=15.0014558514716, telescope_dec_j2k=-24.1545608228543, observability=1)
2025-11-03T09:48:12.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:12
2025-11-03T09:48:12.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:12.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.033831119537353516s
2025-11-03T09:48:12.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.033831119537353516
2025-11-03T09:48:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:12
2025-11-03T09:48:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38402390480041504s
2025-11-03T09:48:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38402390480041504
2025-11-03T09:48:13.075 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:48:13
2025-11-03T09:48:13.075 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:13.075 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.6993484497070312s
2025-11-03T09:48:13.075 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6993484497070312
2025-11-03T09:48:14.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:14
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.392150402069092s
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0268902;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04666;2460982.82517095;9.80407806;1.3;_
2025-11-03T09:48:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0268902;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04666;2460982.82517095;9.80407806;1.3;_
2025-11-03T09:48:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:14.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0268902, teldec = -24.256607
2025-11-03T09:48:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0268902 -24.256607
2025-11-03T09:48:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0268902 -24.256607
2025-11-03T09:48:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0268902 -24.256607
2025-11-03T09:48:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0268902;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04666;2460982.82517098;9.80407806;1.3;_15.0021180104793 -24.1545778929217
2025-11-03T09:48:14.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0021180104793     dec_j2k = -24.1545778929217
2025-11-03T09:48:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967870694820277;171.162351965909;_
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967870694820277;171.162351965909;_
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37841)
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:14.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:14.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82517095, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967870694820277, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0268902, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=15.0021180104793, telescope_dec_j2k=-24.1545778929217, observability=1)
2025-11-03T09:48:14.836 [DEBUG] [Thread-88736 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:14.836 [DEBUG] [Thread-88736 (handle)] [server.py] [get_status()] Status age = 0.049231529235839844s
2025-11-03T09:48:14.836 [DEBUG] [Thread-88736 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.049231529235839844
2025-11-03T09:48:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:16
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5755577087402344s
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0273386;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0471;2460982.82518939;9.80452528;1.3;_
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0273386;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0471;2460982.82518939;9.80452528;1.3;_
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0273386, teldec = -24.256607
2025-11-03T09:48:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0273386 -24.256607
2025-11-03T09:48:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0273386 -24.256607
2025-11-03T09:48:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0273386 -24.256607
2025-11-03T09:48:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0273386;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0471;2460982.82518941;9.80452528;1.3;_15.0025660444742 -24.1545894447398
2025-11-03T09:48:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0025660444742     dec_j2k = -24.1545894447398
2025-11-03T09:48:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967871898178561;171.162357330327;_
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967871898178561;171.162357330327;_
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50545)
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:16.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82518939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967871898178561, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0273386, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:47:17.555952', telescope_ra_j2k=15.0025660444742, telescope_dec_j2k=-24.1545894447398, observability=1)
2025-11-03T09:48:16.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:16
2025-11-03T09:48:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022593975067138672s
2025-11-03T09:48:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022593975067138672
2025-11-03T09:48:16.601 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:48:16.601 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.21811366081237793s
2025-11-03T09:48:16.601 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.21811366081237793
2025-11-03T09:48:16.601 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5255868434906006 seconds ago
2025-11-03T09:48:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:16
2025-11-03T09:48:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3878650665283203s
2025-11-03T09:48:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3878650665283203
2025-11-03T09:48:17.699 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:17.699 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:17.699 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:17.699 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:17.699 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:17.700 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:17.700 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:17.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:17.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:17.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:17.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:17.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:17.701 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:17.702 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:17.703 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:48:17.703 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:48:17.703 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:48:17.703 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:18
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9772531986236572s
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0278985;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04766;2460982.82521252;9.80508361;1.3;_
2025-11-03T09:48:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0278985;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04766;2460982.82521252;9.80508361;1.3;_
2025-11-03T09:48:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0278985, teldec = -24.256607
2025-11-03T09:48:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0278985 -24.256607
2025-11-03T09:48:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0278985 -24.256607
2025-11-03T09:48:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0278985 -24.256607
2025-11-03T09:48:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0278985;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04766;2460982.82521256;9.80508361;1.3;_15.0031254875076 -24.1546038710579
2025-11-03T09:48:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0031254875076     dec_j2k = -24.1546038710579
2025-11-03T09:48:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967873101536845;171.162357330327;_
2025-11-03T09:48:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967873101536845;171.162357330327;_
2025-11-03T09:48:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40067)
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:18.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:18.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:18.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82521252, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967873101536845, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0278985, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04766, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0031254875076, telescope_dec_j2k=-24.1546038710579, observability=1)
2025-11-03T09:48:18.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:18
2025-11-03T09:48:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024927139282226562s
2025-11-03T09:48:18.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024927139282226562
2025-11-03T09:48:18.704 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:18.704 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:18.704 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:18.704 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:18.704 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:48:18.705 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:18.706 [DEBUG] [ThreadPoolExecutor-3424_0] [payload.py] [to_registers()] [0]
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53577)
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:18.707 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:18.714 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:18.714 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:48:18.714 [DEBUG] [ThreadPoolExecutor-3424_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:48:18.715 [DEBUG] [ThreadPoolExecutor-3424_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:48:18.715 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:18.715 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:18.715 [DEBUG] [ThreadPoolExecutor-3424_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:18.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:18
2025-11-03T09:48:18.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:18.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3953394889831543s
2025-11-03T09:48:18.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3953394889831543
2025-11-03T09:48:19.075 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:19.076 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6957130432128906s
2025-11-03T09:48:19.076 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6957130432128906
2025-11-03T09:48:20.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:20
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3802833557128906s
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0285614;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04833;2460982.8252403;9.80574472;1.3;_
2025-11-03T09:48:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0285614;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04833;2460982.8252403;9.80574472;1.3;_
2025-11-03T09:48:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:20.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0285614, teldec = -24.256607
2025-11-03T09:48:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0285614 -24.256607
2025-11-03T09:48:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0285614 -24.256607
2025-11-03T09:48:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0285614 -24.256607
2025-11-03T09:48:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0285614;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04833;2460982.82524032;9.80574472;1.3;_15.0037878465488 -24.1546209541376
2025-11-03T09:48:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0037878465488     dec_j2k = -24.1546209541376
2025-11-03T09:48:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967870293700849;171.162362694745;_
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967870293700849;171.162362694745;_
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50949)
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:20.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8252403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967870293700849, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0285614, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0037878465488, telescope_dec_j2k=-24.1546209541376, observability=1)
2025-11-03T09:48:21.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:21
2025-11-03T09:48:21.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:21.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6665589809417725s
2025-11-03T09:48:21.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6665589809417725
2025-11-03T09:48:21.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:21
2025-11-03T09:48:21.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:21.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6924324035644531s
2025-11-03T09:48:21.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6924324035644531
2025-11-03T09:48:22.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:22
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9858715534210205s
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0291221;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04889;2460982.82526353;9.80630389;1.3;_
2025-11-03T09:48:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0291221;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04889;2460982.82526353;9.80630389;1.3;_
2025-11-03T09:48:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0291221, teldec = -24.256607
2025-11-03T09:48:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0291221 -24.256607
2025-11-03T09:48:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0291221 -24.256607
2025-11-03T09:48:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0291221 -24.256607
2025-11-03T09:48:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0291221;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04889;2460982.82526355;9.80630389;1.3;_15.0043480890512 -24.1546354059342
2025-11-03T09:48:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0043480890512     dec_j2k = -24.1546354059342
2025-11-03T09:48:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967879118328266;171.162351965909;_
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967879118328266;171.162351965909;_
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59899)
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:22.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:22.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:22.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82526353, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967879118328266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0291221, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04889, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0043480890512, telescope_dec_j2k=-24.1546354059342, observability=1)
2025-11-03T09:48:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:23
2025-11-03T09:48:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5751049518585205s
2025-11-03T09:48:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5751049518585205
2025-11-03T09:48:23.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:23
2025-11-03T09:48:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.596527099609375s
2025-11-03T09:48:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.596527099609375
2025-11-03T09:48:24.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:24
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0043203830718994s
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:24.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:24.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:24.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0296817;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04945;2460982.82528694;9.80686194;1.3;_
2025-11-03T09:48:24.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0296817;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04945;2460982.82528694;9.80686194;1.3;_
2025-11-03T09:48:24.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:24.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:24.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:24.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:24.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:24.793 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0296817, teldec = -24.256607
2025-11-03T09:48:24.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0296817 -24.256607
2025-11-03T09:48:24.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0296817 -24.256607
2025-11-03T09:48:24.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0296817 -24.256607
2025-11-03T09:48:24.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0296817;-24.256607;50.108555;89.993053;50.08601;90.12017;12.04945;2460982.82528697;9.80686194;1.3;_15.0049072325069 -24.154649831602
2025-11-03T09:48:24.794 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0049072325069     dec_j2k = -24.154649831602
2025-11-03T09:48:24.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:24.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:24.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967876310492269;171.162362694745;_
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967876310492269;171.162362694745;_
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:24.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38905)
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:24.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:24.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:24.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82528694, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967876310492269, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0296817, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.04945, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0049072325069, telescope_dec_j2k=-24.154649831602, observability=1)
2025-11-03T09:48:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:25
2025-11-03T09:48:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5503530502319336s
2025-11-03T09:48:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5503530502319336
2025-11-03T09:48:25.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:25
2025-11-03T09:48:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.574655294418335s
2025-11-03T09:48:25.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.574655294418335
2025-11-03T09:48:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:26
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.95308518409729s
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0302321;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05;2460982.82530978;9.80741083;1.3;_
2025-11-03T09:48:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0302321;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05;2460982.82530978;9.80741083;1.3;_
2025-11-03T09:48:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:26.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0302321, teldec = -24.256607
2025-11-03T09:48:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0302321 -24.256607
2025-11-03T09:48:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0302321 -24.256607
2025-11-03T09:48:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0302321 -24.256607
2025-11-03T09:48:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0302321;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05;2460982.8253098;9.80741083;1.3;_15.0054571835225 -24.1546640222737
2025-11-03T09:48:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0054571835225     dec_j2k = -24.1546640222737
2025-11-03T09:48:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967875909372841;171.162357330327;_
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967875909372841;171.162357330327;_
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60863)
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:26.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:26.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:26.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82530978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967875909372841, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0302321, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0054571835225, telescope_dec_j2k=-24.1546640222737, observability=1)
2025-11-03T09:48:27.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:27
2025-11-03T09:48:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5811543464660645s
2025-11-03T09:48:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5811543464660645
2025-11-03T09:48:27.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:27
2025-11-03T09:48:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.603879451751709s
2025-11-03T09:48:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.603879451751709
2025-11-03T09:48:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:28
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98014497756958s
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0307931;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05056;2460982.82533289;9.80797028;1.3;_
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0307931;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05056;2460982.82533289;9.80797028;1.3;_
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:28.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0307931, teldec = -24.256607
2025-11-03T09:48:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0307931 -24.256607
2025-11-03T09:48:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0307931 -24.256607
2025-11-03T09:48:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0307931 -24.256607
2025-11-03T09:48:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0307931;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05056;2460982.82533292;9.80797028;1.3;_15.0060177259468 -24.1546784884501
2025-11-03T09:48:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0060177259468     dec_j2k = -24.1546784884501
2025-11-03T09:48:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967879118328266;171.162357330327;_
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967879118328266;171.162357330327;_
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57163)
2025-11-03T09:48:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82533289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967879118328266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0307931, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0060177259468, telescope_dec_j2k=-24.1546784884501, observability=1)
2025-11-03T09:48:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:30
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785819053649902s
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0313532;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05112;2460982.82535604;9.80852889;1.3;_
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0313532;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05112;2460982.82535604;9.80852889;1.3;_
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0313532, teldec = -24.256607
2025-11-03T09:48:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0313532 -24.256607
2025-11-03T09:48:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0313532 -24.256607
2025-11-03T09:48:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0313532 -24.256607
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0313532;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05112;2460982.82535608;9.80852889;1.3;_15.006577369161 -24.1546929336447
2025-11-03T09:48:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.006577369161     dec_j2k = -24.1546929336447
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096787831608941;171.162351965909;_
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096787831608941;171.162351965909;_
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:30.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45171)
2025-11-03T09:48:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:30.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:30.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82535604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096787831608941, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0313532, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05112, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.006577369161, telescope_dec_j2k=-24.1546929336447, observability=1)
2025-11-03T09:48:32.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:32
2025-11-03T09:48:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978074073791504s
2025-11-03T09:48:32.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:32.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0319036;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05167;2460982.82537917;9.80907778;1.3;_
2025-11-03T09:48:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0319036;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05167;2460982.82537917;9.80907778;1.3;_
2025-11-03T09:48:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:32.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0319036, teldec = -24.256607
2025-11-03T09:48:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0319036 -24.256607
2025-11-03T09:48:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0319036 -24.256607
2025-11-03T09:48:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0319036 -24.256607
2025-11-03T09:48:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0319036;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05167;2460982.8253792;9.80907778;1.3;_15.0071273203403 -24.154707130839
2025-11-03T09:48:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0071273203403     dec_j2k = -24.154707130839
2025-11-03T09:48:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967875107133985;171.162368059163;_
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967875107133985;171.162368059163;_
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32879)
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:32.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:32.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:32.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:32.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:32.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82537917, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967875107133985, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0319036, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0071273203403, telescope_dec_j2k=-24.154707130839, observability=1)
2025-11-03T09:48:32.891 [DEBUG] [Thread-88737 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:32.892 [DEBUG] [Thread-88737 (handle)] [server.py] [get_status()] Status age = 0.11776041984558105s
2025-11-03T09:48:32.892 [DEBUG] [Thread-88737 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11776041984558105
2025-11-03T09:48:33.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:33
2025-11-03T09:48:33.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:33.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5917589664459229s
2025-11-03T09:48:33.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5917589664459229
2025-11-03T09:48:33.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:33
2025-11-03T09:48:33.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:33.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6136479377746582s
2025-11-03T09:48:33.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6136479377746582
2025-11-03T09:48:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:34
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9870028495788574s
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:34.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0324651;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05223;2460982.82540235;9.80963778;1.3;_
2025-11-03T09:48:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0324651;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05223;2460982.82540235;9.80963778;1.3;_
2025-11-03T09:48:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:34.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0324651, teldec = -24.256607
2025-11-03T09:48:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0324651 -24.256607
2025-11-03T09:48:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0324651 -24.256607
2025-11-03T09:48:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0324651 -24.256607
2025-11-03T09:48:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0324651;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05223;2460982.82540237;9.80963778;1.3;_15.0076883625237 -24.1547216165628
2025-11-03T09:48:34.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0076883625237     dec_j2k = -24.1547216165628
2025-11-03T09:48:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967879920567122;171.162357330327;_
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967879920567122;171.162357330327;_
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46515)
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:34.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:34.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82540235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967879920567122, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0324651, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0076883625237, telescope_dec_j2k=-24.1547216165628, observability=1)
2025-11-03T09:48:35.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:35
2025-11-03T09:48:35.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:35.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5815327167510986s
2025-11-03T09:48:35.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5815327167510986
2025-11-03T09:48:35.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:35
2025-11-03T09:48:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041624546051025s
2025-11-03T09:48:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041624546051025
2025-11-03T09:48:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:36
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981508731842041s
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0330256;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05279;2460982.82542551;9.81019667;1.3;_
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0330256;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05279;2460982.82542551;9.81019667;1.3;_
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:36.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0330256, teldec = -24.256607
2025-11-03T09:48:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0330256 -24.256607
2025-11-03T09:48:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0330256 -24.256607
2025-11-03T09:48:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0330256 -24.256607
2025-11-03T09:48:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0330256;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05279;2460982.82542554;9.81019667;1.3;_15.0082484055784 -24.1547360787168
2025-11-03T09:48:36.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0082484055784     dec_j2k = -24.1547360787168
2025-11-03T09:48:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967878717208838;171.162362694745;_
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967878717208838;171.162362694745;_
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40731)
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:36.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:36.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:36.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82542551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967878717208838, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0330256, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0082484055784, telescope_dec_j2k=-24.1547360787168, observability=1)
2025-11-03T09:48:37.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:37
2025-11-03T09:48:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5806765556335449s
2025-11-03T09:48:37.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5806765556335449
2025-11-03T09:48:37.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:37
2025-11-03T09:48:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6030285358428955s
2025-11-03T09:48:37.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6030285358428955
2025-11-03T09:48:38.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:38
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.987795352935791s
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0335768;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05334;2460982.82544872;9.81074639;1.3;_
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0335768;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05334;2460982.82544872;9.81074639;1.3;_
2025-11-03T09:48:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:38.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0335768, teldec = -24.256607
2025-11-03T09:48:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0335768 -24.256607
2025-11-03T09:48:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0335768 -24.256607
2025-11-03T09:48:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0335768 -24.256607
2025-11-03T09:48:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0335768;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05334;2460982.82544875;9.81074639;1.3;_15.0087991562694 -24.154750303081
2025-11-03T09:48:38.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0087991562694     dec_j2k = -24.154750303081
2025-11-03T09:48:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967881525044834;171.162357330327;_
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967881525044834;171.162357330327;_
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34705)
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:38.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:38.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:38.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82544872, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967881525044834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0335768, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0087991562694, telescope_dec_j2k=-24.154750303081, observability=1)
2025-11-03T09:48:39.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:39
2025-11-03T09:48:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5752840042114258s
2025-11-03T09:48:39.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5752840042114258
2025-11-03T09:48:39.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:39
2025-11-03T09:48:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5969767570495605s
2025-11-03T09:48:39.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5969767570495605
2025-11-03T09:48:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:40
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9760606288909912s
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0341383;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0539;2460982.82547181;9.81130639;1.3;_
2025-11-03T09:48:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0341383;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0539;2460982.82547181;9.81130639;1.3;_
2025-11-03T09:48:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0341383, teldec = -24.256607
2025-11-03T09:48:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0341383 -24.256607
2025-11-03T09:48:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0341383 -24.256607
2025-11-03T09:48:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0341383 -24.256607
2025-11-03T09:48:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0341383;-24.256607;50.108555;89.993053;50.08601;90.12017;12.0539;2460982.82547183;9.81130639;1.3;_15.00936019862 -24.1547647954621
2025-11-03T09:48:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.00936019862     dec_j2k = -24.1547647954621
2025-11-03T09:48:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096788232728369;171.162351965909;_
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096788232728369;171.162351965909;_
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53223)
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:40.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:40.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:40.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:40.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82547181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096788232728369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0341383, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0539, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.00936019862, telescope_dec_j2k=-24.1547647954621, observability=1)
2025-11-03T09:48:41.730 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:41
2025-11-03T09:48:41.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:41.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9481332302093506s
2025-11-03T09:48:41.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9481332302093506
2025-11-03T09:48:41.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:41
2025-11-03T09:48:41.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:41.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9746179580688477s
2025-11-03T09:48:41.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9746179580688477
2025-11-03T09:48:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:42
2025-11-03T09:48:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980545997619629s
2025-11-03T09:48:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0346698;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05444;2460982.82549496;9.81183639;1.3;_
2025-11-03T09:48:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0346698;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05444;2460982.82549496;9.81183639;1.3;_
2025-11-03T09:48:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0346698, teldec = -24.256607
2025-11-03T09:48:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0346698 -24.256607
2025-11-03T09:48:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0346698 -24.256607
2025-11-03T09:48:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0346698 -24.256607
2025-11-03T09:48:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0346979;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05446;2460982.82549499;9.81186444;1.3;_15.0098912654737 -24.1547785155973
2025-11-03T09:48:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0098912654737     dec_j2k = -24.1547785155973
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967888344075111;171.162362694745;_
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967888344075111;171.162362694745;_
2025-11-03T09:48:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55291)
2025-11-03T09:48:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:42.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:42.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:42.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:42.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82549496, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967888344075111, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0346698, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0098912654737, telescope_dec_j2k=-24.1547785155973, observability=1)
2025-11-03T09:48:43.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:43
2025-11-03T09:48:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.581099271774292s
2025-11-03T09:48:43.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.581099271774292
2025-11-03T09:48:43.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:43
2025-11-03T09:48:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6042740345001221s
2025-11-03T09:48:43.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6042740345001221
2025-11-03T09:48:43.715 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:43.715 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:43.715 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:43.715 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:43.715 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:43.716 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:48:43.717 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:48:43.718 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:44
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984790563583374s
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0352491;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05501;2460982.82551814;9.81241417;1.3;_
2025-11-03T09:48:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0352491;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05501;2460982.82551814;9.81241417;1.3;_
2025-11-03T09:48:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:44.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0352491, teldec = -24.256607
2025-11-03T09:48:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0352491 -24.256607
2025-11-03T09:48:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0352491 -24.256607
2025-11-03T09:48:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0352491 -24.256607
2025-11-03T09:48:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0352491;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05501;2460982.82551816;9.81241417;1.3;_15.0104700934301 -24.1547934719201
2025-11-03T09:48:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0104700934301     dec_j2k = -24.1547934719201
2025-11-03T09:48:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967879920567122;171.162351965909;_
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967879920567122;171.162351965909;_
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54407)
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:44.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82551814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967879920567122, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0352491, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05501, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0104700934301, telescope_dec_j2k=-24.1547934719201, observability=1)
2025-11-03T09:48:45.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:45
2025-11-03T09:48:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5800681114196777s
2025-11-03T09:48:45.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5800681114196777
2025-11-03T09:48:45.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:45
2025-11-03T09:48:45.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:45.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6023781299591064s
2025-11-03T09:48:45.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6023781299591064
2025-11-03T09:48:46.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:46
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824411869049072s
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0358107;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05558;2460982.82554127;9.81297417;1.3;_
2025-11-03T09:48:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0358107;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05558;2460982.82554127;9.81297417;1.3;_
2025-11-03T09:48:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:46.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0358107, teldec = -24.256607
2025-11-03T09:48:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0358107 -24.256607
2025-11-03T09:48:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0358107 -24.256607
2025-11-03T09:48:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0358107 -24.256607
2025-11-03T09:48:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0358107;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05558;2460982.8255413;9.81297417;1.3;_15.0110312358665 -24.1548079735345
2025-11-03T09:48:46.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0110312358665     dec_j2k = -24.1548079735345
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967882728403118;171.162357330327;_
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967882728403118;171.162357330327;_
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34495)
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:46.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:46.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:46.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82554127, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967882728403118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0358107, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0110312358665, telescope_dec_j2k=-24.1548079735345, observability=1)
2025-11-03T09:48:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:47
2025-11-03T09:48:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5783469676971436s
2025-11-03T09:48:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5783469676971436
2025-11-03T09:48:47.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:47
2025-11-03T09:48:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5998139381408691s
2025-11-03T09:48:47.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5998139381408691
2025-11-03T09:48:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:48
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976224422454834s
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:48.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0363627;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05613;2460982.82556438;9.81352472;1.3;_
2025-11-03T09:48:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0363627;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05613;2460982.82556438;9.81352472;1.3;_
2025-11-03T09:48:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0363627, teldec = -24.256607
2025-11-03T09:48:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0363627 -24.256607
2025-11-03T09:48:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0363627 -24.256607
2025-11-03T09:48:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0363627 -24.256607
2025-11-03T09:48:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0363627;-24.256607;50.108555;89.993053;50.08601;90.12017;12.05613;2460982.8255644;9.81352472;1.3;_15.0115827861792 -24.1548222294344
2025-11-03T09:48:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0115827861792     dec_j2k = -24.1548222294344
2025-11-03T09:48:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967888745194539;171.162357330327;_
2025-11-03T09:48:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967888745194539;171.162357330327;_
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:48.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56565)
2025-11-03T09:48:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:48.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:48.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:48.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:48.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:48.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:48.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82556438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967888745194539, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108555, telescope_az=89.993053, telescope_ra=15.0363627, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0115827861792, telescope_dec_j2k=-24.1548222294344, observability=1)
2025-11-03T09:48:49.121 [DEBUG] [Thread-88738 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:49.121 [DEBUG] [Thread-88738 (handle)] [server.py] [get_status()] Status age = 0.3439021110534668s
2025-11-03T09:48:49.121 [DEBUG] [Thread-88738 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3439021110534668
2025-11-03T09:48:49.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:49
2025-11-03T09:48:49.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:49.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5909385681152344s
2025-11-03T09:48:49.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5909385681152344
2025-11-03T09:48:49.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:49
2025-11-03T09:48:49.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:49.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6146633625030518s
2025-11-03T09:48:49.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6146633625030518
2025-11-03T09:48:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:50
2025-11-03T09:48:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853856563568115s
2025-11-03T09:48:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0369243;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05669;2460982.82558755;9.81408472;1.3;_
2025-11-03T09:48:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0369243;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05669;2460982.82558755;9.81408472;1.3;_
2025-11-03T09:48:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0369243, teldec = -24.256607
2025-11-03T09:48:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0369243 -24.256607
2025-11-03T09:48:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0369243 -24.256607
2025-11-03T09:48:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0369243 -24.256607
2025-11-03T09:48:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0369243;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05669;2460982.82558757;9.81408472;1.3;_15.0121439287269 -24.1548367354769
2025-11-03T09:48:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0121439287269     dec_j2k = -24.1548367354769
2025-11-03T09:48:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967883129522546;171.162362694745;_
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967883129522546;171.162362694745;_
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51343)
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82558755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967883129522546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0369243, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05669, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0121439287269, telescope_dec_j2k=-24.1548367354769, observability=1)
2025-11-03T09:48:50.974 [DEBUG] [Thread-88739 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:50.974 [DEBUG] [Thread-88739 (handle)] [server.py] [get_status()] Status age = 0.193115234375s
2025-11-03T09:48:50.974 [DEBUG] [Thread-88739 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.193115234375
2025-11-03T09:48:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:51
2025-11-03T09:48:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5792114734649658s
2025-11-03T09:48:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5792114734649658
2025-11-03T09:48:51.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:51
2025-11-03T09:48:51.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:51.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6006593704223633s
2025-11-03T09:48:51.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6006593704223633
2025-11-03T09:48:52.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:52
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980034589767456s
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0374571;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05722;2460982.82561068;9.81461611;1.3;_
2025-11-03T09:48:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0374571;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05722;2460982.82561068;9.81461611;1.3;_
2025-11-03T09:48:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0374571, teldec = -24.256607
2025-11-03T09:48:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0374571 -24.256607
2025-11-03T09:48:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0374571 -24.256607
2025-11-03T09:48:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0374571 -24.256607
2025-11-03T09:48:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0374571;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05722;2460982.82561071;9.81461611;1.3;_15.0126762947857 -24.1548504996837
2025-11-03T09:48:52.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0126762947857     dec_j2k = -24.1548504996837
2025-11-03T09:48:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967880722805978;171.162357330327;_
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967880722805978;171.162357330327;_
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43081)
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:52.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:52.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:52.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82561068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967880722805978, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0374571, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05722, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0126762947857, telescope_dec_j2k=-24.1548504996837, observability=1)
2025-11-03T09:48:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:53
2025-11-03T09:48:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.58270263671875s
2025-11-03T09:48:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.58270263671875
2025-11-03T09:48:53.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:53
2025-11-03T09:48:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.604647159576416s
2025-11-03T09:48:53.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.604647159576416
2025-11-03T09:48:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:54
2025-11-03T09:48:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983358383178711s
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0380373;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0578;2460982.82563384;9.81519472;1.3;_
2025-11-03T09:48:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0380373;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0578;2460982.82563384;9.81519472;1.3;_
2025-11-03T09:48:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0380373, teldec = -24.256607
2025-11-03T09:48:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0380373 -24.256607
2025-11-03T09:48:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0380373 -24.256607
2025-11-03T09:48:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0380373 -24.256607
2025-11-03T09:48:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0380373;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0578;2460982.82563387;9.81519472;1.3;_15.0132560222969 -24.1548654906942
2025-11-03T09:48:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0132560222969     dec_j2k = -24.1548654906942
2025-11-03T09:48:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967888344075111;171.162362694745;_
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967888344075111;171.162362694745;_
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:48:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37443)
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:54.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:54.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82563384, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967888344075111, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0380373, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0578, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0132560222969, telescope_dec_j2k=-24.1548654906942, observability=1)
2025-11-03T09:48:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:55
2025-11-03T09:48:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5766956806182861s
2025-11-03T09:48:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5766956806182861
2025-11-03T09:48:55.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:55
2025-11-03T09:48:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5992350578308105s
2025-11-03T09:48:55.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5992350578308105
2025-11-03T09:48:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:56
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9747204780578613s
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:56.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:56.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0385704;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05834;2460982.82565696;9.81572639;1.3;_
2025-11-03T09:48:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0385704;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05834;2460982.82565696;9.81572639;1.3;_
2025-11-03T09:48:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:56.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0385704, teldec = -24.256607
2025-11-03T09:48:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0385704 -24.256607
2025-11-03T09:48:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0385704 -24.256607
2025-11-03T09:48:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0385704 -24.256607
2025-11-03T09:48:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0385704;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05834;2460982.82565698;9.81572639;1.3;_15.0137886882171 -24.1548792668511
2025-11-03T09:48:56.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0137886882171     dec_j2k = -24.1548792668511
2025-11-03T09:48:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967885937358543;171.162357330327;_
2025-11-03T09:48:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967885937358543;171.162357330327;_
2025-11-03T09:48:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:56.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55681)
2025-11-03T09:48:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:56.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:56.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:56.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:56.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82565696, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967885937358543, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0385704, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05834, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0137886882171, telescope_dec_j2k=-24.1548792668511, observability=1)
2025-11-03T09:48:57.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:57
2025-11-03T09:48:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5794878005981445s
2025-11-03T09:48:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5794878005981445
2025-11-03T09:48:57.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:57
2025-11-03T09:48:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6024360656738281s
2025-11-03T09:48:57.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6024360656738281
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1824796199798584s
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:48:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0389259;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05869;2460982.82567089;9.81608083;1.3;_
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.0389259;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05869;2460982.82567089;9.81608083;1.3;_
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:48:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:48:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:48:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:48:57.967 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.0389259, teldec = -24.256607
2025-11-03T09:48:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0389259 -24.256607
2025-11-03T09:48:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0389259 -24.256607
2025-11-03T09:48:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0389259 -24.256607
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0389259;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05869;2460982.82567093;9.81608083;1.3;_15.0141438987774 -24.1548884546575
2025-11-03T09:48:57.968 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.0141438987774     dec_j2k = -24.1548884546575
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967891553030536;171.162351965909;_
2025-11-03T09:48:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967891553030536;171.162351965909;_
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:48:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:48:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:48:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:48:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47435)
2025-11-03T09:48:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:48:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:48:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:48:57.972 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:48:57.972 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:48:57.979 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:48:57.979 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82567089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967891553030536, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0389259, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05869, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0141438987774, telescope_dec_j2k=-24.1548884546575, observability=1)
2025-11-03T09:48:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:48:58
2025-11-03T09:48:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:48:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7838149070739746s
2025-11-03T09:48:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7838149070739746
2025-11-03T09:49:00.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:00
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7801949977874756s
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0397119;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05948;2460982.82570324;9.81686472;1.3;_
2025-11-03T09:49:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0397119;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05948;2460982.82570324;9.81686472;1.3;_
2025-11-03T09:49:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0397119, teldec = -24.256607
2025-11-03T09:49:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0397119 -24.256607
2025-11-03T09:49:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0397119 -24.256607
2025-11-03T09:49:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0397119 -24.256607
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0397119;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05948;2460982.82570328;9.81686472;1.3;_15.0149292589145 -24.1549087718002
2025-11-03T09:49:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0149292589145     dec_j2k = -24.1549087718002
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967889948552823;171.162368059163;_
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967889948552823;171.162368059163;_
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45721)
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:00.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:00.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:00.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:00.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82570324, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967889948552823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0397119, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.05948, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0149292589145, telescope_dec_j2k=-24.1549087718002, observability=1)
2025-11-03T09:49:02.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:02
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.589771032333374s
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0401325;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0599;2460982.82572189;9.81728417;1.3;_
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0401325;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0599;2460982.82572189;9.81728417;1.3;_
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:02.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0401325, teldec = -24.256607
2025-11-03T09:49:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0401325 -24.256607
2025-11-03T09:49:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0401325 -24.256607
2025-11-03T09:49:02.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0401325 -24.256607
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0401603;-24.256607;50.108554;89.993053;50.08601;90.12017;12.05993;2460982.82572191;9.81731194;1.3;_15.0153495165599 -24.154919645593
2025-11-03T09:49:02.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0153495165599     dec_j2k = -24.154919645593
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967886739597399;171.162357330327;_
2025-11-03T09:49:02.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967886739597399;171.162357330327;_
2025-11-03T09:49:02.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:02.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:02.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:02.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:02.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:02.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:02.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:02.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:02.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:02.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:02.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:02.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:02.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57957)
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:02.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:02.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:02.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:02.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:02.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:02.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82572189, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967886739597399, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0401325, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0599, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0153495165599, telescope_dec_j2k=-24.154919645593, observability=1)
2025-11-03T09:49:02.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:02
2025-11-03T09:49:02.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:02.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02491927146911621s
2025-11-03T09:49:02.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02491927146911621
2025-11-03T09:49:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:02
2025-11-03T09:49:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3736417293548584s
2025-11-03T09:49:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3736417293548584
2025-11-03T09:49:04.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:04
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9732298851013184s
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0407124;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06048;2460982.82574494;9.8178625;1.3;_
2025-11-03T09:49:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0407124;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06048;2460982.82574494;9.8178625;1.3;_
2025-11-03T09:49:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0407124, teldec = -24.256607
2025-11-03T09:49:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0407124 -24.256607
2025-11-03T09:49:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0407124 -24.256607
2025-11-03T09:49:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0407124 -24.256607
2025-11-03T09:49:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0407124;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06048;2460982.82574496;9.8178625;1.3;_15.015928944592 -24.1549346398286
2025-11-03T09:49:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.015928944592     dec_j2k = -24.1549346398286
2025-11-03T09:49:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096789275638882;171.162362694745;_
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096789275638882;171.162362694745;_
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48763)
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:04.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:04.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:04.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82574494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096789275638882, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0407124, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06048, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.015928944592, telescope_dec_j2k=-24.1549346398286, observability=1)
2025-11-03T09:49:04.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:04
2025-11-03T09:49:04.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:04.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02253246307373047s
2025-11-03T09:49:04.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02253246307373047
2025-11-03T09:49:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:04
2025-11-03T09:49:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37810182571411133s
2025-11-03T09:49:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37810182571411133
2025-11-03T09:49:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:06
2025-11-03T09:49:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764506816864014s
2025-11-03T09:49:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.041245;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06101;2460982.82576808;9.81839361;1.3;_
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.041245;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06101;2460982.82576808;9.81839361;1.3;_
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.041245, teldec = -24.256607
2025-11-03T09:49:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.041245 -24.256607
2025-11-03T09:49:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.041245 -24.256607
2025-11-03T09:49:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.041245 -24.256607
2025-11-03T09:49:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.041245;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06101;2460982.82576811;9.81839361;1.3;_15.0164611111735 -24.1549484131428
2025-11-03T09:49:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0164611111735     dec_j2k = -24.1549484131428
2025-11-03T09:49:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096789476198596;171.162357330327;_
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096789476198596;171.162357330327;_
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53793)
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:06.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:06.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:06.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82576808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096789476198596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.041245, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0164611111735, telescope_dec_j2k=-24.1549484131428, observability=1)
2025-11-03T09:49:06.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:06
2025-11-03T09:49:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022351741790771484s
2025-11-03T09:49:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022351741790771484
2025-11-03T09:49:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:06
2025-11-03T09:49:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38193416595458984s
2025-11-03T09:49:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38193416595458984
2025-11-03T09:49:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:08
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97928786277771s
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0418238;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06159;2460982.82579123;9.81897083;1.3;_
2025-11-03T09:49:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0418238;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06159;2460982.82579123;9.81897083;1.3;_
2025-11-03T09:49:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0418238, teldec = -24.256607
2025-11-03T09:49:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0418238 -24.256607
2025-11-03T09:49:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0418238 -24.256607
2025-11-03T09:49:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0418238 -24.256607
2025-11-03T09:49:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0418238;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06159;2460982.82579125;9.81897083;1.3;_15.0170394402157 -24.1549633834876
2025-11-03T09:49:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0170394402157     dec_j2k = -24.1549633834876
2025-11-03T09:49:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967891553030536;171.162362694745;_
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967891553030536;171.162362694745;_
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45273)
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:08.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:08.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82579123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967891553030536, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0418238, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06159, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0170394402157, telescope_dec_j2k=-24.1549633834876, observability=1)
2025-11-03T09:49:08.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:08
2025-11-03T09:49:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021338939666748047s
2025-11-03T09:49:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021338939666748047
2025-11-03T09:49:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:08
2025-11-03T09:49:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38263535499572754s
2025-11-03T09:49:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38263535499572754
2025-11-03T09:49:09.058 [DEBUG] [Thread-88740 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:09.058 [DEBUG] [Thread-88740 (handle)] [server.py] [get_status()] Status age = 0.6803691387176514s
2025-11-03T09:49:09.059 [DEBUG] [Thread-88740 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6803691387176514
2025-11-03T09:49:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:10
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823377132415771s
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0423839;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06215;2460982.82581438;9.81952944;1.3;_
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0423839;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06215;2460982.82581438;9.81952944;1.3;_
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0423839, teldec = -24.256607
2025-11-03T09:49:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0423839 -24.256607
2025-11-03T09:49:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0423839 -24.256607
2025-11-03T09:49:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0423839 -24.256607
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0423839;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06215;2460982.8258144;9.81952944;1.3;_15.0175990845306 -24.1549778724222
2025-11-03T09:49:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0175990845306     dec_j2k = -24.1549778724222
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967893959747104;171.162362694745;_
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967893959747104;171.162362694745;_
2025-11-03T09:49:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56349)
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:10.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:10.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82581438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967893959747104, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0423839, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06215, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0175990845306, telescope_dec_j2k=-24.1549778724222, observability=1)
2025-11-03T09:49:10.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:10
2025-11-03T09:49:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022103309631347656s
2025-11-03T09:49:10.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022103309631347656
2025-11-03T09:49:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:10
2025-11-03T09:49:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38015222549438477s
2025-11-03T09:49:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38015222549438477
2025-11-03T09:49:12.730 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:12
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.348602056503296s
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:12.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:12.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:12.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0430287;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06279;2460982.82584181;9.8201725;1.3;_
2025-11-03T09:49:12.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0430287;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06279;2460982.82584181;9.8201725;1.3;_
2025-11-03T09:49:12.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:12.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:12.732 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:12.733 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:12.733 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:12.733 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0430287, teldec = -24.256607
2025-11-03T09:49:12.733 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0430287 -24.256607
2025-11-03T09:49:12.733 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0430287 -24.256607
2025-11-03T09:49:12.733 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0430287 -24.256607
2025-11-03T09:49:12.734 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0430287;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06279;2460982.82584183;9.8201725;1.3;_15.0182433600049 -24.1549945551631
2025-11-03T09:49:12.734 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0182433600049     dec_j2k = -24.1549945551631
2025-11-03T09:49:12.734 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:12.734 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:12.734 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967893558627676;171.162351965909;_
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967893558627676;171.162351965909;_
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:12.735 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:12.736 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:12.737 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:12.737 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:12.737 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54627)
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:12.741 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:12.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:12.748 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82584181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967893558627676, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0430287, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0182433600049, telescope_dec_j2k=-24.1549945551631, observability=1)
2025-11-03T09:49:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:12
2025-11-03T09:49:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.01188969612121582s
2025-11-03T09:49:12.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.01188969612121582
2025-11-03T09:49:12.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:12
2025-11-03T09:49:12.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:12.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021493911743164062s
2025-11-03T09:49:12.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021493911743164062
2025-11-03T09:49:13.136 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:49:13
2025-11-03T09:49:13.136 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:13.136 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.3879821300506592s
2025-11-03T09:49:13.136 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3879821300506592
2025-11-03T09:49:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:14
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6128392219543457s
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0434761;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06324;2460982.82586068;9.82061861;1.3;_
2025-11-03T09:49:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0434761;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06324;2460982.82586068;9.82061861;1.3;_
2025-11-03T09:49:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0434761, teldec = -24.256607
2025-11-03T09:49:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0434761 -24.256607
2025-11-03T09:49:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0434761 -24.256607
2025-11-03T09:49:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0434761 -24.256607
2025-11-03T09:49:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0434761;-24.256607;50.108554;89.993053;50.08601;90.12017;12.06324;2460982.82586071;9.82061861;1.3;_15.0186903961018 -24.1550061323526
2025-11-03T09:49:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0186903961018     dec_j2k = -24.1550061323526
2025-11-03T09:49:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096789476198596;171.162362694745;_
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096789476198596;171.162362694745;_
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:14.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47309)
2025-11-03T09:49:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:14.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:14.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:14.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:14.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:14.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82586068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096789476198596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0434761, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06324, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0186903961018, telescope_dec_j2k=-24.1550061323526, observability=1)
2025-11-03T09:49:14.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:14
2025-11-03T09:49:14.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:14.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022456645965576172s
2025-11-03T09:49:14.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022456645965576172
2025-11-03T09:49:14.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:14
2025-11-03T09:49:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38324475288391113s
2025-11-03T09:49:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38324475288391113
2025-11-03T09:49:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:16
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978804588317871s
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0440309;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0638;2460982.82588382;9.82117194;1.3;_
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0440309;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0638;2460982.82588382;9.82117194;1.3;_
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0440309, teldec = -24.256607
2025-11-03T09:49:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0440309 -24.256607
2025-11-03T09:49:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0440309 -24.256607
2025-11-03T09:49:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0440309 -24.256607
2025-11-03T09:49:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0440309;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0638;2460982.82588385;9.82117194;1.3;_15.0192447448921 -24.1550204906535
2025-11-03T09:49:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0192447448921     dec_j2k = -24.1550204906535
2025-11-03T09:49:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967893959747104;171.162351965909;_
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967893959747104;171.162351965909;_
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:16.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47439)
2025-11-03T09:49:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:16.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:16.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82588382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967893959747104, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0440309, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0638, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:48:17.698938', telescope_ra_j2k=15.0192447448921, telescope_dec_j2k=-24.1550204906535, observability=1)
2025-11-03T09:49:16.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:16
2025-11-03T09:49:16.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:16.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022077083587646484s
2025-11-03T09:49:16.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022077083587646484
2025-11-03T09:49:16.661 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:49:16.661 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.28193187713623047s
2025-11-03T09:49:16.661 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.28193187713623047
2025-11-03T09:49:16.661 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.525045871734619 seconds ago
2025-11-03T09:49:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:16
2025-11-03T09:49:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.390716552734375s
2025-11-03T09:49:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.390716552734375
2025-11-03T09:49:17.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:17.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:17.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:17.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:17.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:17.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:17.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:17.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:17.844 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:49:17.844 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:17.844 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:17.845 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:17.845 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:49:17.846 [INFO] [ThreadPoolExecutor-3425_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:49:17.846 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.7880373001098633s
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:18.167 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0445356;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0643;2460982.82590472;9.82167528;1.3;_
2025-11-03T09:49:18.168 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.0445356;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0643;2460982.82590472;9.82167528;1.3;_
2025-11-03T09:49:18.169 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:18.169 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:18.169 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:18.170 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:18.170 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:18.170 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.0445356, teldec = -24.256607
2025-11-03T09:49:18.170 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0445356 -24.256607
2025-11-03T09:49:18.170 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0445356 -24.256607
2025-11-03T09:49:18.170 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0445356 -24.256607
2025-11-03T09:49:18.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0445356;-24.256607;50.108554;89.993053;50.08601;90.12017;12.0643;2460982.82590476;9.82167528;1.3;_15.0197490344757 -24.1550335542488
2025-11-03T09:49:18.171 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.0197490344757     dec_j2k = -24.1550335542488
2025-11-03T09:49:18.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:18.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:18.171 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967897168702528;171.162362694745;_
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967897168702528;171.162362694745;_
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:18.172 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:18.173 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:18.174 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:18.174 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:18.174 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:18.175 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35677)
2025-11-03T09:49:18.175 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:18.175 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:18.175 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:18.175 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:18.176 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:18.183 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:18.183 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82590472, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967897168702528, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0445356, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0197490344757, telescope_dec_j2k=-24.1550335542488, observability=1)
2025-11-03T09:49:18.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:18
2025-11-03T09:49:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18073368072509766s
2025-11-03T09:49:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18073368072509766
2025-11-03T09:49:18.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:18
2025-11-03T09:49:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20227384567260742s
2025-11-03T09:49:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20227384567260742
2025-11-03T09:49:18.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:18
2025-11-03T09:49:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6006550788879395s
2025-11-03T09:49:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6006550788879395
2025-11-03T09:49:20.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:20
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5751144886016846s
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:20.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:20.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0452554;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06502;2460982.82593472;9.82239306;1.3;_
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0452554;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06502;2460982.82593472;9.82239306;1.3;_
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:20.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:20.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0452554, teldec = -24.256606
2025-11-03T09:49:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0452554 -24.256606
2025-11-03T09:49:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0452554 -24.256606
2025-11-03T09:49:20.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0452554 -24.256606
2025-11-03T09:49:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0452554;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06502;2460982.82593475;9.82239306;1.3;_15.0204682493594 -24.1550511885974
2025-11-03T09:49:20.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0204682493594     dec_j2k = -24.1550511885974
2025-11-03T09:49:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967901581016237;171.162346601491;_
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967901581016237;171.162346601491;_
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56515)
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:20.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:20.773 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:20.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:20.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82593472, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967901581016237, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0452554, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06502, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0204682493594, telescope_dec_j2k=-24.1550511885974, observability=1)
2025-11-03T09:49:21.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:21
2025-11-03T09:49:21.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:21.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6575655937194824s
2025-11-03T09:49:21.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6575655937194824
2025-11-03T09:49:21.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:21
2025-11-03T09:49:21.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:21.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6815681457519531s
2025-11-03T09:49:21.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6815681457519531
2025-11-03T09:49:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:22
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9863924980163574s
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:22.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0458158;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06558;2460982.82595789;9.82295194;1.3;_
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0458158;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06558;2460982.82595789;9.82295194;1.3;_
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:22.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0458158, teldec = -24.256606
2025-11-03T09:49:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0458158 -24.256606
2025-11-03T09:49:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0458158 -24.256606
2025-11-03T09:49:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0458158 -24.256606
2025-11-03T09:49:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0458158;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06558;2460982.82595792;9.82295194;1.3;_15.0210281937737 -24.1550656988832
2025-11-03T09:49:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0210281937737     dec_j2k = -24.1550656988832
2025-11-03T09:49:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967896366463672;171.162362694745;_
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967896366463672;171.162362694745;_
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47091)
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:22.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:22.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82595789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967896366463672, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0458158, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0210281937737, telescope_dec_j2k=-24.1550656988832, observability=1)
2025-11-03T09:49:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:23
2025-11-03T09:49:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814478397369385s
2025-11-03T09:49:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814478397369385
2025-11-03T09:49:23.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:23
2025-11-03T09:49:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6027698516845703s
2025-11-03T09:49:23.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6027698516845703
2025-11-03T09:49:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:24
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802684783935547s
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0463754;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06614;2460982.82598104;9.82351;1.3;_
2025-11-03T09:49:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0463754;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06614;2460982.82598104;9.82351;1.3;_
2025-11-03T09:49:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:24.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0463754, teldec = -24.256606
2025-11-03T09:49:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0463754 -24.256606
2025-11-03T09:49:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0463754 -24.256606
2025-11-03T09:49:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0463754 -24.256606
2025-11-03T09:49:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0463754;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06614;2460982.82598106;9.82351;1.3;_15.0215873388944 -24.1550801906683
2025-11-03T09:49:24.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0215873388944     dec_j2k = -24.1550801906683
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967891151911107;171.162351965909;_
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967891151911107;171.162351965909;_
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59227)
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:24.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:24.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:24.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82598104, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967891151911107, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0463754, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06614, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0215873388944, telescope_dec_j2k=-24.1550801906683, observability=1)
2025-11-03T09:49:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:25
2025-11-03T09:49:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5814037322998047s
2025-11-03T09:49:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5814037322998047
2025-11-03T09:49:25.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:25
2025-11-03T09:49:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6041595935821533s
2025-11-03T09:49:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6041595935821533
2025-11-03T09:49:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:26
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983626365661621s
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0469269;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06669;2460982.82600422;9.82406;1.3;_
2025-11-03T09:49:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0469269;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06669;2460982.82600422;9.82406;1.3;_
2025-11-03T09:49:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:26.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0469269, teldec = -24.256606
2025-11-03T09:49:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0469269 -24.256606
2025-11-03T09:49:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0469269 -24.256606
2025-11-03T09:49:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0469269 -24.256606
2025-11-03T09:49:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0469269;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06669;2460982.82600425;9.82406;1.3;_15.0221383906541 -24.155094474854
2025-11-03T09:49:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0221383906541     dec_j2k = -24.155094474854
2025-11-03T09:49:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967889948552823;171.162357330327;_
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967889948552823;171.162357330327;_
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33039)
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:26.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82600422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967889948552823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0469269, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06669, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0221383906541, telescope_dec_j2k=-24.155094474854, observability=1)
2025-11-03T09:49:27.137 [DEBUG] [Thread-88741 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:27.137 [DEBUG] [Thread-88741 (handle)] [server.py] [get_status()] Status age = 0.3530244827270508s
2025-11-03T09:49:27.137 [DEBUG] [Thread-88741 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3530244827270508
2025-11-03T09:49:27.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:27
2025-11-03T09:49:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.577075719833374s
2025-11-03T09:49:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.577075719833374
2025-11-03T09:49:27.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:27
2025-11-03T09:49:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5997073650360107s
2025-11-03T09:49:27.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5997073650360107
2025-11-03T09:49:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:28
2025-11-03T09:49:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787728786468506s
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0474882;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06725;2460982.82602736;9.82461972;1.3;_
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0474882;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06725;2460982.82602736;9.82461972;1.3;_
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0474882, teldec = -24.256606
2025-11-03T09:49:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0474882 -24.256606
2025-11-03T09:49:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0474882 -24.256606
2025-11-03T09:49:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0474882 -24.256606
2025-11-03T09:49:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0474882;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06725;2460982.8260274;9.82461972;1.3;_15.0226992345044 -24.155109015071
2025-11-03T09:49:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0226992345044     dec_j2k = -24.155109015071
2025-11-03T09:49:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967903586613377;171.162357330327;_
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967903586613377;171.162357330327;_
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38679)
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:28.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:28.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82602736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967903586613377, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0474882, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06725, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0226992345044, telescope_dec_j2k=-24.155109015071, observability=1)
2025-11-03T09:49:30.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:30
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984316110610962s
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.048067;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06783;2460982.82605053;9.82519694;1.3;_
2025-11-03T09:49:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.048067;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06783;2460982.82605053;9.82519694;1.3;_
2025-11-03T09:49:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.048067, teldec = -24.256606
2025-11-03T09:49:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.048067 -24.256606
2025-11-03T09:49:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.048067 -24.256606
2025-11-03T09:49:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.048067 -24.256606
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.048067;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06783;2460982.82605057;9.82519694;1.3;_15.0232775641922 -24.155124010947
2025-11-03T09:49:30.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0232775641922     dec_j2k = -24.155124010947
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967896366463672;171.162362694745;_
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967896366463672;171.162362694745;_
2025-11-03T09:49:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50655)
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:30.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:30.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:30.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:30.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:30.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:30.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:30.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82605053, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967896366463672, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.048067, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0232775641922, telescope_dec_j2k=-24.155124010947, observability=1)
2025-11-03T09:49:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:32
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97751784324646s
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0485995;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06836;2460982.82607363;9.82572806;1.3;_
2025-11-03T09:49:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0485995;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06836;2460982.82607363;9.82572806;1.3;_
2025-11-03T09:49:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0485995, teldec = -24.256606
2025-11-03T09:49:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0485995 -24.256606
2025-11-03T09:49:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0485995 -24.256606
2025-11-03T09:49:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0485995 -24.256606
2025-11-03T09:49:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0486274;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06839;2460982.82607367;9.82575583;1.3;_15.0238096315545 -24.1551378093453
2025-11-03T09:49:32.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0238096315545     dec_j2k = -24.1551378093453
2025-11-03T09:49:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967899174299669;171.162362694745;_
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967899174299669;171.162362694745;_
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58187)
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82607363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967899174299669, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0485995, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0238096315545, telescope_dec_j2k=-24.1551378093453, observability=1)
2025-11-03T09:49:34.544 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:34
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7631659507751465s
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:34.544 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:34.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0491037;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06887;2460982.82609429;9.82623083;1.3;_
2025-11-03T09:49:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0491037;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06887;2460982.82609429;9.82623083;1.3;_
2025-11-03T09:49:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:34.548 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0491037, teldec = -24.256606
2025-11-03T09:49:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0491037 -24.256606
2025-11-03T09:49:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0491037 -24.256606
2025-11-03T09:49:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0491037 -24.256606
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0491037;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06887;2460982.82609432;9.82623083;1.3;_15.0243134219564 -24.1551508762649
2025-11-03T09:49:34.549 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0243134219564     dec_j2k = -24.1551508762649
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967901581016237;171.162362694745;_
2025-11-03T09:49:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967901581016237;171.162362694745;_
2025-11-03T09:49:34.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:34.554 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46807)
2025-11-03T09:49:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:34.555 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:34.555 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:34.562 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:34.562 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82609429, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967901581016237, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0491037, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06887, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0243134219564, telescope_dec_j2k=-24.1551508762649, observability=1)
2025-11-03T09:49:34.584 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:34
2025-11-03T09:49:34.584 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:34.584 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021874666213989258s
2025-11-03T09:49:34.584 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021874666213989258
2025-11-03T09:49:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:34
2025-11-03T09:49:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19810748100280762s
2025-11-03T09:49:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19810748100280762
2025-11-03T09:49:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:36
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2056338787078857s
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0497195;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06948;2460982.82612001;9.826845;1.3;_
2025-11-03T09:49:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0497195;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06948;2460982.82612001;9.826845;1.3;_
2025-11-03T09:49:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0497195, teldec = -24.256606
2025-11-03T09:49:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0497195 -24.256606
2025-11-03T09:49:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0497195 -24.256606
2025-11-03T09:49:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0497195 -24.256606
2025-11-03T09:49:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0497195;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06948;2460982.82612007;9.826845;1.3;_15.0249287217591 -24.15516683786
2025-11-03T09:49:36.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0249287217591     dec_j2k = -24.15516683786
2025-11-03T09:49:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096789877318024;171.162351965909;_
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096789877318024;171.162351965909;_
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55465)
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:36.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82612001, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096789877318024, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0497195, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06948, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0249287217591, telescope_dec_j2k=-24.15516683786, observability=1)
2025-11-03T09:49:37.226 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:37
2025-11-03T09:49:37.226 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:37.226 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43935537338256836s
2025-11-03T09:49:37.226 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43935537338256836
2025-11-03T09:49:37.253 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:37
2025-11-03T09:49:37.253 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:37.253 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.466158390045166s
2025-11-03T09:49:37.253 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.466158390045166
2025-11-03T09:49:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:38
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5739872455596924s
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0501588;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06992;2460982.82613845;9.82728306;1.3;_
2025-11-03T09:49:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0501588;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06992;2460982.82613845;9.82728306;1.3;_
2025-11-03T09:49:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0501588, teldec = -24.256606
2025-11-03T09:49:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0501588 -24.256606
2025-11-03T09:49:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0501588 -24.256606
2025-11-03T09:49:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0501588 -24.256606
2025-11-03T09:49:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0501588;-24.256606;50.108554;89.993053;50.08601;90.12017;12.06992;2460982.82613847;9.82728306;1.3;_15.0253676649694 -24.1551782261934
2025-11-03T09:49:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0253676649694     dec_j2k = -24.1551782261934
2025-11-03T09:49:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967905191091089;171.162357330327;_
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967905191091089;171.162357330327;_
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44673)
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82613845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967905191091089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108554, telescope_az=89.993053, telescope_ra=15.0501588, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.06992, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0253676649694, telescope_dec_j2k=-24.1551782261934, observability=1)
2025-11-03T09:49:38.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:38
2025-11-03T09:49:38.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:38.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021056652069091797s
2025-11-03T09:49:38.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021056652069091797
2025-11-03T09:49:38.718 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.718 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.718 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:38.718 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:49:38.719 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:38.720 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:38.721 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:49:38.722 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:38.723 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:38.724 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:38.724 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:38.724 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:38.724 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:38.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Park
2025-11-03T09:49:38.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:49:38.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:49:38.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 29;15.0502711;-24.256606;50.108554;89.993053;50.08601;90.12017;12.07004;2460982.82614265;9.827395;1.3;_Park Command Successful
2025-11-03T09:49:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:38
2025-11-03T09:49:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38112425804138184s
2025-11-03T09:49:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38112425804138184
2025-11-03T09:49:39.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:49:39.725 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:49:39.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:49:39.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:49:39.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:49:40.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:40
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977060079574585s
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0507195;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07048;2460982.82616159;9.82784222;1.3;_
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0507195;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07048;2460982.82616159;9.82784222;1.3;_
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:40.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0507195, teldec = -24.256606
2025-11-03T09:49:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0507195 -24.256606
2025-11-03T09:49:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0507195 -24.256606
2025-11-03T09:49:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0507195 -24.256606
2025-11-03T09:49:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0507195;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07048;2460982.82616161;9.82784222;1.3;_15.0259279096315 -24.1551927636565
2025-11-03T09:49:40.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0259279096315     dec_j2k = -24.1551927636565
2025-11-03T09:49:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967903185493949;171.162362694745;_
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967903185493949;171.162362694745;_
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60405)
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:40.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:40.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82616159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967903185493949, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0507195, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07048, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0259279096315, telescope_dec_j2k=-24.1551927636565, observability=1)
2025-11-03T09:49:40.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:40
2025-11-03T09:49:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022753477096557617s
2025-11-03T09:49:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022753477096557617
2025-11-03T09:49:40.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:49:40.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:49:40.726 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:49:40.727 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:49:40.727 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:49:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:40
2025-11-03T09:49:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38329625129699707s
2025-11-03T09:49:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38329625129699707
2025-11-03T09:49:41.727 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:49:41.727 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:49:41.727 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:49:41.728 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:49:41.728 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:49:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:42
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828321933746338s
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0512794;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07104;2460982.82618476;9.82840056;1.3;_
2025-11-03T09:49:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0512794;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07104;2460982.82618476;9.82840056;1.3;_
2025-11-03T09:49:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0512794, teldec = -24.256606
2025-11-03T09:49:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0512794 -24.256606
2025-11-03T09:49:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0512794 -24.256606
2025-11-03T09:49:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0512794 -24.256606
2025-11-03T09:49:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0512794;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07104;2460982.82618478;9.82840056;1.3;_15.0264873549994 -24.1552072825908
2025-11-03T09:49:42.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0264873549994     dec_j2k = -24.1552072825908
2025-11-03T09:49:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967901581016237;171.162362694745;_
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967901581016237;171.162362694745;_
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:42.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49905)
2025-11-03T09:49:42.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:42.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82618476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967901581016237, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0512794, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07104, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0264873549994, telescope_dec_j2k=-24.1552072825908, observability=1)
2025-11-03T09:49:42.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:42
2025-11-03T09:49:42.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:42.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028067588806152344s
2025-11-03T09:49:42.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028067588806152344
2025-11-03T09:49:42.728 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:49:42.728 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:49:42.728 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:42.729 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:49:42.730 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:49:42.731 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:42.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:42
2025-11-03T09:49:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37996959686279297s
2025-11-03T09:49:42.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37996959686279297
2025-11-03T09:49:43.731 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:43.731 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:43.731 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:43.731 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:43.731 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:43.732 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:43.732 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:43.732 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:49:43.733 [DEBUG] [ThreadPoolExecutor-3424_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:43.734 [INFO] [ThreadPoolExecutor-3424_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:49:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:44
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980539321899414s
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0518298;-24.256606;50.108553;89.993053;50.08601;90.12017;12.0716;2460982.8262079;9.82894944;1.3;_
2025-11-03T09:49:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0518298;-24.256606;50.108553;89.993053;50.08601;90.12017;12.0716;2460982.8262079;9.82894944;1.3;_
2025-11-03T09:49:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0518298, teldec = -24.256606
2025-11-03T09:49:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0518298 -24.256606
2025-11-03T09:49:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0518298 -24.256606
2025-11-03T09:49:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0518298 -24.256606
2025-11-03T09:49:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0518579;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07162;2460982.82620793;9.8289775;1.3;_15.0270373081358 -24.1552215573331
2025-11-03T09:49:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0270373081358     dec_j2k = -24.1552215573331
2025-11-03T09:49:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967902383255093;171.162351965909;_
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967902383255093;171.162351965909;_
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41947)
2025-11-03T09:49:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:44.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:44.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:44.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8262079, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967902383255093, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0518298, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0716, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0270373081358, telescope_dec_j2k=-24.1552215573331, observability=1)
2025-11-03T09:49:44.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:44
2025-11-03T09:49:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022726774215698242s
2025-11-03T09:49:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022726774215698242
2025-11-03T09:49:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:44
2025-11-03T09:49:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38466787338256836s
2025-11-03T09:49:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38466787338256836
2025-11-03T09:49:45.200 [DEBUG] [Thread-88742 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:45.200 [DEBUG] [Thread-88742 (handle)] [server.py] [get_status()] Status age = 0.8207299709320068s
2025-11-03T09:49:45.200 [DEBUG] [Thread-88742 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8207299709320068
2025-11-03T09:49:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:46
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808330535888672s
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0523905;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07216;2460982.82623104;9.82950861;1.3;_
2025-11-03T09:49:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0523905;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07216;2460982.82623104;9.82950861;1.3;_
2025-11-03T09:49:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0523905, teldec = -24.256606
2025-11-03T09:49:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0523905 -24.256606
2025-11-03T09:49:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0523905 -24.256606
2025-11-03T09:49:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0523905 -24.256606
2025-11-03T09:49:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0523905;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07216;2460982.82623106;9.82950861;1.3;_15.0275975529656 -24.1552361014049
2025-11-03T09:49:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0275975529656     dec_j2k = -24.1552361014049
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967910004524226;171.162362694745;_
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967910004524226;171.162362694745;_
2025-11-03T09:49:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:49:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33061)
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:46.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:46.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:46.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82623104, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967910004524226, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0523905, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07216, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0275975529656, telescope_dec_j2k=-24.1552361014049, observability=1)
2025-11-03T09:49:46.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:46
2025-11-03T09:49:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022066593170166016s
2025-11-03T09:49:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022066593170166016
2025-11-03T09:49:46.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:46
2025-11-03T09:49:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39768552780151367s
2025-11-03T09:49:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39768552780151367
2025-11-03T09:49:48.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:48
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9863085746765137s
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0529506;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07272;2460982.82625422;9.83006722;1.3;_
2025-11-03T09:49:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0529506;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07272;2460982.82625422;9.83006722;1.3;_
2025-11-03T09:49:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:48.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0529506, teldec = -24.256606
2025-11-03T09:49:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0529506 -24.256606
2025-11-03T09:49:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0529506 -24.256606
2025-11-03T09:49:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0529506 -24.256606
2025-11-03T09:49:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0529506;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07272;2460982.82625425;9.83006722;1.3;_15.0281571983386 -24.1552506321266
2025-11-03T09:49:48.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0281571983386     dec_j2k = -24.1552506321266
2025-11-03T09:49:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967901179896809;171.162357330327;_
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967901179896809;171.162357330327;_
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:48.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45391)
2025-11-03T09:49:48.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:48.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:48.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:48.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:48.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:48.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82625422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967901179896809, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0529506, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07272, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0281571983386, telescope_dec_j2k=-24.1552506321266, observability=1)
2025-11-03T09:49:48.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:48
2025-11-03T09:49:48.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:48.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023448467254638672s
2025-11-03T09:49:48.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023448467254638672
2025-11-03T09:49:48.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:48
2025-11-03T09:49:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40386128425598145s
2025-11-03T09:49:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40386128425598145
2025-11-03T09:49:49.185 [DEBUG] [Thread-88743 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:49.185 [DEBUG] [Thread-88743 (handle)] [server.py] [get_status()] Status age = 0.8041043281555176s
2025-11-03T09:49:49.185 [DEBUG] [Thread-88743 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8041043281555176
2025-11-03T09:49:50.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:50
2025-11-03T09:49:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3783960342407227s
2025-11-03T09:49:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:50.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:50.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0536133;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07338;2460982.82628196;9.83072806;1.3;_
2025-11-03T09:49:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0536133;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07338;2460982.82628196;9.83072806;1.3;_
2025-11-03T09:49:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:50.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0536133, teldec = -24.256606
2025-11-03T09:49:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0536133 -24.256606
2025-11-03T09:49:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0536133 -24.256606
2025-11-03T09:49:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0536133 -24.256606
2025-11-03T09:49:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0536133;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07338;2460982.82628199;9.83072806;1.3;_15.0288193605049 -24.1552678274656
2025-11-03T09:49:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0288193605049     dec_j2k = -24.1552678274656
2025-11-03T09:49:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096790719668823;171.162351965909;_
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096790719668823;171.162351965909;_
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59097)
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:50.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:50.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82628196, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096790719668823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0536133, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07338, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0288193605049, telescope_dec_j2k=-24.1552678274656, observability=1)
2025-11-03T09:49:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:52
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807064533233643s
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.054174;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07394;2460982.82630512;9.83128722;1.3;_
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.054174;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07394;2460982.82630512;9.83128722;1.3;_
2025-11-03T09:49:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:52.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.054174, teldec = -24.256606
2025-11-03T09:49:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.054174 -24.256606
2025-11-03T09:49:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.054174 -24.256606
2025-11-03T09:49:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.054174 -24.256606
2025-11-03T09:49:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.054174;-24.256606;50.108553;89.993053;50.08601;90.12017;12.07394;2460982.82630515;9.83128722;1.3;_15.0293796055138 -24.1552823785881
2025-11-03T09:49:52.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0293796055138     dec_j2k = -24.1552823785881
2025-11-03T09:49:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967903987732805;171.162351965909;_
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967903987732805;171.162351965909;_
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41179)
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:52.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:52.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:52.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:52.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82630512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967903987732805, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.054174, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07394, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0293796055138, telescope_dec_j2k=-24.1552823785881, observability=1)
2025-11-03T09:49:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:54
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841265678405762s
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0547335;-24.256606;50.108553;89.993053;50.08601;90.12017;12.0745;2460982.82632826;9.83184528;1.3;_
2025-11-03T09:49:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0547335;-24.256606;50.108553;89.993053;50.08601;90.12017;12.0745;2460982.82632826;9.83184528;1.3;_
2025-11-03T09:49:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0547335, teldec = -24.256606
2025-11-03T09:49:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0547335 -24.256606
2025-11-03T09:49:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0547335 -24.256606
2025-11-03T09:49:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0547335 -24.256606
2025-11-03T09:49:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0547335;-24.256606;50.108553;89.993053;50.08601;90.12017;12.0745;2460982.82632829;9.83184528;1.3;_15.0299386515525 -24.1552969007773
2025-11-03T09:49:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0299386515525     dec_j2k = -24.1552969007773
2025-11-03T09:49:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096790719668823;171.162351965909;_
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096790719668823;171.162351965909;_
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34051)
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82632826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096790719668823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993053, telescope_ra=15.0547335, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0745, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0299386515525, telescope_dec_j2k=-24.1552969007773, observability=1)
2025-11-03T09:49:55.034 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:55
2025-11-03T09:49:55.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:55.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25481390953063965s
2025-11-03T09:49:55.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25481390953063965
2025-11-03T09:49:55.056 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:55
2025-11-03T09:49:55.056 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:55.056 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27652716636657715s
2025-11-03T09:49:55.056 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27652716636657715
2025-11-03T09:49:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:56
2025-11-03T09:49:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817721843719482s
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0552845;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07505;2460982.82635142;9.83239472;1.3;_
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0552845;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07505;2460982.82635142;9.83239472;1.3;_
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:56.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0552845, teldec = -24.256606
2025-11-03T09:49:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0552845 -24.256606
2025-11-03T09:49:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0552845 -24.256606
2025-11-03T09:49:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0552845 -24.256606
2025-11-03T09:49:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0552845;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07505;2460982.82635145;9.83239472;1.3;_15.0304892045427 -24.1553112044997
2025-11-03T09:49:56.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0304892045427     dec_j2k = -24.1553112044997
2025-11-03T09:49:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967909603404798;171.162357330327;_
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967909603404798;171.162357330327;_
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56303)
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:56.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82635142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967909603404798, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0552845, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07505, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0304892045427, telescope_dec_j2k=-24.1553112044997, observability=1)
2025-11-03T09:49:57.221 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:57
2025-11-03T09:49:57.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:57.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44132161140441895s
2025-11-03T09:49:57.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44132161140441895
2025-11-03T09:49:57.242 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:57
2025-11-03T09:49:57.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:57.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.462630033493042s
2025-11-03T09:49:57.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.462630033493042
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.181443214416504s
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:49:57.961 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:49:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:49:57.962 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.055621;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07539;2460982.82636531;9.83273028;1.3;_
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.055621;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07539;2460982.82636531;9.83273028;1.3;_
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:49:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:49:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:49:57.964 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.055621, teldec = -24.256606
2025-11-03T09:49:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.055621 -24.256606
2025-11-03T09:49:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.055621 -24.256606
2025-11-03T09:49:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.055621 -24.256606
2025-11-03T09:49:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.055621;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07539;2460982.82636534;9.83273028;1.3;_15.0308254315771 -24.1553199409467
2025-11-03T09:49:57.966 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.0308254315771     dec_j2k = -24.1553199409467
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0967900778777381;171.162346601491;_
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0967900778777381;171.162346601491;_
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:49:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:49:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:49:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:49:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37213)
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:49:57.971 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:49:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:49:57.978 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82636531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967900778777381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.055621, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07539, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0308254315771, telescope_dec_j2k=-24.1553199409467, observability=1)
2025-11-03T09:49:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:49:58
2025-11-03T09:49:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:49:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7831275463104248s
2025-11-03T09:49:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7831275463104248
2025-11-03T09:50:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:00
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7798686027526855s
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0564051;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07617;2460982.82639769;9.83351222;1.3;_
2025-11-03T09:50:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0564051;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07617;2460982.82639769;9.83351222;1.3;_
2025-11-03T09:50:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:00.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0564051, teldec = -24.256606
2025-11-03T09:50:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0564051 -24.256606
2025-11-03T09:50:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0564051 -24.256606
2025-11-03T09:50:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0564051 -24.256606
2025-11-03T09:50:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0564051;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07617;2460982.82639771;9.83351222;1.3;_15.0316088956014 -24.1553403013917
2025-11-03T09:50:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0316088956014     dec_j2k = -24.1553403013917
2025-11-03T09:50:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967905993329946;171.162351965909;_
2025-11-03T09:50:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967905993329946;171.162351965909;_
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37453)
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82639769, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967905993329946, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0564051, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07617, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0316088956014, telescope_dec_j2k=-24.1553403013917, observability=1)
2025-11-03T09:50:00.901 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:00
2025-11-03T09:50:00.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:00.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1226193904876709s
2025-11-03T09:50:00.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1226193904876709
2025-11-03T09:50:00.925 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:00
2025-11-03T09:50:00.925 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:00.925 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.14642000198364258s
2025-11-03T09:50:00.925 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14642000198364258
2025-11-03T09:50:02.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:02
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0132365226745605s
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:02.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:02.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0569836;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07675;2460982.82642122;9.83408917;1.3;_
2025-11-03T09:50:02.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0569836;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07675;2460982.82642122;9.83408917;1.3;_
2025-11-03T09:50:02.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:02.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:02.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:02.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:02.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:02.794 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0569836, teldec = -24.256606
2025-11-03T09:50:02.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0569836 -24.256606
2025-11-03T09:50:02.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0569836 -24.256606
2025-11-03T09:50:02.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0569836 -24.256606
2025-11-03T09:50:02.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0569836;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07675;2460982.82642124;9.83408917;1.3;_15.0321869264564 -24.1553553258714
2025-11-03T09:50:02.795 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0321869264564     dec_j2k = -24.1553553258714
2025-11-03T09:50:02.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:02.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967906394449373;171.162351965909;_
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967906394449373;171.162351965909;_
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:02.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:02.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:02.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:02.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:02.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:02.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45777)
2025-11-03T09:50:02.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:02.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:02.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:02.803 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:02.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:02.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:02.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82642122, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967906394449373, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0569836, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07675, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0321869264564, telescope_dec_j2k=-24.1553553258714, observability=1)
2025-11-03T09:50:03.342 [DEBUG] [Thread-88744 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:03.342 [DEBUG] [Thread-88744 (handle)] [server.py] [get_status()] Status age = 0.5317754745483398s
2025-11-03T09:50:03.342 [DEBUG] [Thread-88744 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5317754745483398
2025-11-03T09:50:04.545 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:04
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.734973669052124s
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:04.545 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:04.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0574599;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07723;2460982.82644152;9.83456417;1.3;_
2025-11-03T09:50:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0574599;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07723;2460982.82644152;9.83456417;1.3;_
2025-11-03T09:50:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:04.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:04.548 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0574599, teldec = -24.256606
2025-11-03T09:50:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0574599 -24.256606
2025-11-03T09:50:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0574599 -24.256606
2025-11-03T09:50:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0574599 -24.256606
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0574599;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07723;2460982.82644154;9.83456417;1.3;_15.0326628402374 -24.1553676978389
2025-11-03T09:50:04.550 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0326628402374     dec_j2k = -24.1553676978389
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967908400046514;171.162351965909;_
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967908400046514;171.162351965909;_
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37287)
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:04.557 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:04.564 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:04.564 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:04.564 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:04.564 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:04.564 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:04.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:04.565 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:04.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:04.565 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82644152, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967908400046514, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0574599, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07723, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0326628402374, telescope_dec_j2k=-24.1553676978389, observability=1)
2025-11-03T09:50:04.586 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:04
2025-11-03T09:50:04.586 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:04.586 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02173304557800293s
2025-11-03T09:50:04.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02173304557800293
2025-11-03T09:50:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:04
2025-11-03T09:50:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20160436630249023s
2025-11-03T09:50:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20160436630249023
2025-11-03T09:50:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:06
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.194308280944824s
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.058078;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07784;2460982.82646714;9.83518056;1.3;_
2025-11-03T09:50:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.058078;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07784;2460982.82646714;9.83518056;1.3;_
2025-11-03T09:50:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.058078, teldec = -24.256606
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.058078 -24.256606
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.058078 -24.256606
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.058078 -24.256606
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.058078;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07784;2460982.82646716;9.83518056;1.3;_15.0332804390973 -24.1553837554658
2025-11-03T09:50:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0332804390973     dec_j2k = -24.1553837554658
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967913614599079;171.162357330327;_
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967913614599079;171.162357330327;_
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36121)
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:06.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:06.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:06.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:06.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:06.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82646714, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967913614599079, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.058078, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07784, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0332804390973, telescope_dec_j2k=-24.1553837554658, observability=1)
2025-11-03T09:50:07.222 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:07
2025-11-03T09:50:07.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:07.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44602274894714355s
2025-11-03T09:50:07.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44602274894714355
2025-11-03T09:50:07.243 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:07
2025-11-03T09:50:07.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:07.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4671027660369873s
2025-11-03T09:50:07.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4671027660369873
2025-11-03T09:50:08.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:08
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5879733562469482s
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0585169;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07828;2460982.82648571;9.83561833;1.3;_
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0585169;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07828;2460982.82648571;9.83561833;1.3;_
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:08.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0585169, teldec = -24.256606
2025-11-03T09:50:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0585169 -24.256606
2025-11-03T09:50:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0585169 -24.256606
2025-11-03T09:50:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0585169 -24.256606
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0585169;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07828;2460982.82648574;9.83561833;1.3;_15.0337189832896 -24.1553951592873
2025-11-03T09:50:08.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0337189832896     dec_j2k = -24.1553951592873
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967912010121366;171.162357330327;_
2025-11-03T09:50:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967912010121366;171.162357330327;_
2025-11-03T09:50:08.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:08.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:08.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46925)
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:08.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:08.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:08.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:08.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:08.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:08.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82648571, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967912010121366, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0585169, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07828, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0337189832896, telescope_dec_j2k=-24.1553951592873, observability=1)
2025-11-03T09:50:08.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:08
2025-11-03T09:50:08.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:08.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022974491119384766s
2025-11-03T09:50:08.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022974491119384766
2025-11-03T09:50:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:08
2025-11-03T09:50:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37551331520080566s
2025-11-03T09:50:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37551331520080566
2025-11-03T09:50:10.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:10
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9756574630737305s
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0590774;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07884;2460982.82650882;9.83617722;1.3;_
2025-11-03T09:50:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0590774;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07884;2460982.82650882;9.83617722;1.3;_
2025-11-03T09:50:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0590774, teldec = -24.256606
2025-11-03T09:50:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0590774 -24.256606
2025-11-03T09:50:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0590774 -24.256606
2025-11-03T09:50:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0590774 -24.256606
2025-11-03T09:50:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0590774;-24.256606;50.108553;89.993052;50.08601;90.12017;12.07884;2460982.82650884;9.83617722;1.3;_15.0342790289535 -24.155409724581
2025-11-03T09:50:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0342790289535     dec_j2k = -24.155409724581
2025-11-03T09:50:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096791321347965;171.162346601491;_
2025-11-03T09:50:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096791321347965;171.162346601491;_
2025-11-03T09:50:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:10.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34927)
2025-11-03T09:50:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:10.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:10.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:10.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82650882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096791321347965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0590774, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.07884, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0342790289535, telescope_dec_j2k=-24.155409724581, observability=1)
2025-11-03T09:50:10.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:10
2025-11-03T09:50:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022342681884765625s
2025-11-03T09:50:10.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022342681884765625
2025-11-03T09:50:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:10
2025-11-03T09:50:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37871527671813965s
2025-11-03T09:50:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37871527671813965
2025-11-03T09:50:12.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:12
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811813831329346s
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0596375;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0794;2460982.82653199;9.83673583;1.3;_
2025-11-03T09:50:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0596375;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0794;2460982.82653199;9.83673583;1.3;_
2025-11-03T09:50:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0596375, teldec = -24.256606
2025-11-03T09:50:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0596375 -24.256606
2025-11-03T09:50:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0596375 -24.256606
2025-11-03T09:50:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0596375 -24.256606
2025-11-03T09:50:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0596375;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0794;2460982.82653201;9.83673583;1.3;_15.0348386749979 -24.1554242816895
2025-11-03T09:50:12.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0348386749979     dec_j2k = -24.1554242816895
2025-11-03T09:50:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967917224673931;171.162362694745;_
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967917224673931;171.162362694745;_
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59175)
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:12.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:12.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:12.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82653199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967917224673931, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0596375, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0794, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0348386749979, telescope_dec_j2k=-24.1554242816895, observability=1)
2025-11-03T09:50:12.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:12
2025-11-03T09:50:12.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:12.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02313971519470215s
2025-11-03T09:50:12.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02313971519470215
2025-11-03T09:50:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:12
2025-11-03T09:50:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.376556396484375s
2025-11-03T09:50:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.376556396484375
2025-11-03T09:50:13.197 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:50:13
2025-11-03T09:50:13.197 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:13.197 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.8124220371246338s
2025-11-03T09:50:13.197 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8124220371246338
2025-11-03T09:50:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:14
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3780601024627686s
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0602999;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08007;2460982.82655977;9.83739639;1.3;_
2025-11-03T09:50:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0602999;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08007;2460982.82655977;9.83739639;1.3;_
2025-11-03T09:50:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0602999, teldec = -24.256606
2025-11-03T09:50:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0602999 -24.256606
2025-11-03T09:50:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0602999 -24.256606
2025-11-03T09:50:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0602999 -24.256606
2025-11-03T09:50:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0602999;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08007;2460982.82655979;9.83739639;1.3;_15.0355005382018 -24.1554415004449
2025-11-03T09:50:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0355005382018     dec_j2k = -24.1554415004449
2025-11-03T09:50:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967914416837935;171.162357330327;_
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967914416837935;171.162357330327;_
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57899)
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:14.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82655977, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967914416837935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0602999, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08007, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0355005382018, telescope_dec_j2k=-24.1554415004449, observability=1)
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.9364888668060303s
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:16.721 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:16.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:16.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.0608606;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08063;2460982.82658244;9.83795556;1.3;_
2025-11-03T09:50:16.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.0608606;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08063;2460982.82658244;9.83795556;1.3;_
2025-11-03T09:50:16.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:16.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:16.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:16.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:16.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:16.724 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.0608606, teldec = -24.256606
2025-11-03T09:50:16.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.0608606 -24.256606
2025-11-03T09:50:16.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.0608606 -24.256606
2025-11-03T09:50:16.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0608606 -24.256606
2025-11-03T09:50:16.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.0608606;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08063;2460982.82658247;9.83795556;1.3;_15.0360607838829 -24.155456077973
2025-11-03T09:50:16.725 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.0360607838829     dec_j2k = -24.155456077973
2025-11-03T09:50:16.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:16.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:16.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0967922038107068;171.162362694745;_
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0967922038107068;171.162362694745;_
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:16.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:16.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:16.728 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:16.728 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:16.728 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:16.732 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47431)
2025-11-03T09:50:16.732 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:16.732 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:16.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:16.733 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:16.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:16.740 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T09:50:16.740 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82658244, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967922038107068, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0608606, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:49:17.842834', telescope_ra_j2k=15.0360607838829, telescope_dec_j2k=-24.155456077973, observability=1)
2025-11-03T09:50:16.740 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.543257713317871 seconds ago
2025-11-03T09:50:16.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:16
2025-11-03T09:50:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02840256690979004s
2025-11-03T09:50:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02840256690979004
2025-11-03T09:50:17.220 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:17
2025-11-03T09:50:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.480029821395874s
2025-11-03T09:50:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.480029821395874
2025-11-03T09:50:17.242 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:17
2025-11-03T09:50:17.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:17.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5020401477813721s
2025-11-03T09:50:17.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5020401477813721
2025-11-03T09:50:17.274 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:17.274 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.5339548587799072s
2025-11-03T09:50:17.274 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5339548587799072
2025-11-03T09:50:17.984 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:17.984 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:17.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:17.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:17.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:17.985 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:17.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:17.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:17.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:17.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:17.986 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:50:17.986 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:17.986 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:17.986 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:17.986 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:17.986 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:50:17.987 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:50:17.988 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:18.634 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:18
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8942248821258545s
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:18.634 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:18.635 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:18.636 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0613923;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08116;2460982.82660458;9.83848583;1.3;_
2025-11-03T09:50:18.636 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0613923;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08116;2460982.82660458;9.83848583;1.3;_
2025-11-03T09:50:18.636 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:18.636 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:18.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:18.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:18.637 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:18.638 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0613923, teldec = -24.256606
2025-11-03T09:50:18.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0613923 -24.256606
2025-11-03T09:50:18.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0613923 -24.256606
2025-11-03T09:50:18.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0613923 -24.256606
2025-11-03T09:50:18.638 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0613923;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08116;2460982.82660461;9.83848583;1.3;_15.0365920531141 -24.1554699035795
2025-11-03T09:50:18.639 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0365920531141     dec_j2k = -24.1554699035795
2025-11-03T09:50:18.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:18.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:18.639 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967918026912787;171.162351965909;_
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967918026912787;171.162351965909;_
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:18.640 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:18.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:18.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:18.641 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49933)
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:18.644 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:18.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:18.651 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82660458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967918026912787, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0613923, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08116, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0365920531141, telescope_dec_j2k=-24.1554699035795, observability=1)
2025-11-03T09:50:18.673 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:18
2025-11-03T09:50:18.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:18.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022185087203979492s
2025-11-03T09:50:18.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022185087203979492
2025-11-03T09:50:18.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:18
2025-11-03T09:50:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1074974536895752s
2025-11-03T09:50:18.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1074974536895752
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:18.988 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:50:18.989 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:18.990 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:18.991 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:18.991 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:18.991 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:18.991 [DEBUG] [ThreadPoolExecutor-3426_0] [payload.py] [to_registers()] [0]
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38239)
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:18.992 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:19.000 [DEBUG] [ThreadPoolExecutor-3426_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:20
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7083356380462646s
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0618681;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08163;2460982.82662456;9.83896028;1.3;_
2025-11-03T09:50:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0618681;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08163;2460982.82662456;9.83896028;1.3;_
2025-11-03T09:50:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0618681, teldec = -24.256606
2025-11-03T09:50:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0618681 -24.256606
2025-11-03T09:50:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0618681 -24.256606
2025-11-03T09:50:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0618681 -24.256606
2025-11-03T09:50:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0618681;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08163;2460982.82662458;9.83896028;1.3;_15.0370674676769 -24.1554822773244
2025-11-03T09:50:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0370674676769     dec_j2k = -24.1554822773244
2025-11-03T09:50:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967916823554503;171.162357330327;_
2025-11-03T09:50:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967916823554503;171.162357330327;_
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39191)
2025-11-03T09:50:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:20.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:20.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:20.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82662456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967916823554503, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0618681, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08163, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0370674676769, telescope_dec_j2k=-24.1554822773244, observability=1)
2025-11-03T09:50:20.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:20
2025-11-03T09:50:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0229341983795166s
2025-11-03T09:50:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0229341983795166
2025-11-03T09:50:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:20
2025-11-03T09:50:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37969493865966797s
2025-11-03T09:50:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37969493865966797
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Status age = 1.0321907997131348s
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:21.413 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:21.414 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:21.414 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:21.415 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:21.416 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 17;15.0621666;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08193;2460982.82663676;9.83925806;1.3;_
2025-11-03T09:50:21.416 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response 17;15.0621666;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08193;2460982.82663676;9.83925806;1.3;_
2025-11-03T09:50:21.416 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:21.416 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:21.416 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:21.417 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:21.417 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:21.417 [INFO] [Thread-88745 (handle)] [driver.py] [get_status()] Telra = 15.0621666, teldec = -24.256606
2025-11-03T09:50:21.417 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0621666 -24.256606
2025-11-03T09:50:21.417 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0621666 -24.256606
2025-11-03T09:50:21.417 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0621666 -24.256606
2025-11-03T09:50:21.418 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 17;15.0621666;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08193;2460982.82663678;9.83925806;1.3;_15.0373657258881 -24.155490040985
2025-11-03T09:50:21.418 [INFO] [Thread-88745 (handle)] [driver.py] [get_status()] ra_j2k = 15.0373657258881     dec_j2k = -24.155490040985
2025-11-03T09:50:21.418 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:21.418 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:21.418 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 140;0.0967924043704208;171.162357330327;_
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response 140;0.0967924043704208;171.162357330327;_
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:21.419 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:21.420 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:21.421 [DEBUG] [Thread-88745 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:21.421 [DEBUG] [Thread-88745 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:21.421 [DEBUG] [Thread-88745 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43649)
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:21.427 [DEBUG] [Thread-88745 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:21.434 [DEBUG] [Thread-88745 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:21.435 [DEBUG] [Thread-88745 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:21.435 [INFO] [Thread-88745 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82663676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967924043704208, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0621666, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0373657258881, telescope_dec_j2k=-24.155490040985, observability=1)
2025-11-03T09:50:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:22
2025-11-03T09:50:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9257605075836182s
2025-11-03T09:50:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9257605075836182
2025-11-03T09:50:22.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:22
2025-11-03T09:50:22.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:22.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9476151466369629s
2025-11-03T09:50:22.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9476151466369629
2025-11-03T09:50:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:22
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3256635665893555s
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0625313;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0823;2460982.82665235;9.83962167;1.3;_
2025-11-03T09:50:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0625313;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0823;2460982.82665235;9.83962167;1.3;_
2025-11-03T09:50:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0625313, teldec = -24.256606
2025-11-03T09:50:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0625313 -24.256606
2025-11-03T09:50:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0625313 -24.256606
2025-11-03T09:50:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0625313 -24.256606
2025-11-03T09:50:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0625313;-24.256606;50.108553;89.993052;50.08601;90.12017;12.0823;2460982.82665237;9.83962167;1.3;_15.0377301304981 -24.1554995272862
2025-11-03T09:50:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0377301304981     dec_j2k = -24.1554995272862
2025-11-03T09:50:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967924845943064;171.162357330327;_
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967924845943064;171.162357330327;_
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53557)
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:22.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:22.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82665235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967924845943064, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0625313, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0823, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0377301304981, telescope_dec_j2k=-24.1554995272862, observability=1)
2025-11-03T09:50:24.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:24
2025-11-03T09:50:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5871386528015137s
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0629797;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08274;2460982.8266709;9.84006889;1.3;_
2025-11-03T09:50:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0629797;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08274;2460982.8266709;9.84006889;1.3;_
2025-11-03T09:50:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:24.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0629797, teldec = -24.256606
2025-11-03T09:50:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0629797 -24.256606
2025-11-03T09:50:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0629797 -24.256606
2025-11-03T09:50:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0629797 -24.256606
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0629797;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08274;2460982.82667094;9.84006889;1.3;_15.0381781673478 -24.1555111920109
2025-11-03T09:50:24.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0381781673478     dec_j2k = -24.1555111920109
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967924444823636;171.162351965909;_
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967924444823636;171.162351965909;_
2025-11-03T09:50:24.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:24.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33805)
2025-11-03T09:50:24.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:24.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:24.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8266709, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967924444823636, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0629797, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08274, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0381781673478, telescope_dec_j2k=-24.1555111920109, observability=1)
2025-11-03T09:50:24.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:24
2025-11-03T09:50:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023098468780517578s
2025-11-03T09:50:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023098468780517578
2025-11-03T09:50:24.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:24
2025-11-03T09:50:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3920595645904541s
2025-11-03T09:50:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3920595645904541
2025-11-03T09:50:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:26
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3805785179138184s
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.063651;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08342;2460982.82669865;9.84073833;1.3;_
2025-11-03T09:50:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.063651;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08342;2460982.82669865;9.84073833;1.3;_
2025-11-03T09:50:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:26.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.063651, teldec = -24.256606
2025-11-03T09:50:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.063651 -24.256606
2025-11-03T09:50:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.063651 -24.256606
2025-11-03T09:50:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.063651 -24.256606
2025-11-03T09:50:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.063651;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08342;2460982.82669867;9.84073833;1.3;_15.0388489237428 -24.1555286579228
2025-11-03T09:50:26.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0388489237428     dec_j2k = -24.1555286579228
2025-11-03T09:50:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967919230271071;171.162362694745;_
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967919230271071;171.162362694745;_
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35981)
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:26.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:26.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:26.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:26.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:26.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82669865, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967919230271071, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.063651, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0388489237428, telescope_dec_j2k=-24.1555286579228, observability=1)
2025-11-03T09:50:27.222 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:27
2025-11-03T09:50:27.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:27.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44516444206237793s
2025-11-03T09:50:27.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44516444206237793
2025-11-03T09:50:27.243 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:27
2025-11-03T09:50:27.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:27.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46631574630737305s
2025-11-03T09:50:27.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46631574630737305
2025-11-03T09:50:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:28
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848713874816895s
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0642025;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08397;2460982.82672181;9.84128833;1.3;_
2025-11-03T09:50:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0642025;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08397;2460982.82672181;9.84128833;1.3;_
2025-11-03T09:50:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0642025, teldec = -24.256606
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0642025 -24.256606
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0642025 -24.256606
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0642025 -24.256606
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0642025;-24.256606;50.108553;89.993052;50.08601;90.12017;12.08397;2460982.82672182;9.84128833;1.3;_15.0393999772099 -24.1555430092441
2025-11-03T09:50:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0393999772099     dec_j2k = -24.1555430092441
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967926851540204;171.162362694745;_
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967926851540204;171.162362694745;_
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46765)
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:28.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:28.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:28.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82672181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967926851540204, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108553, telescope_az=89.993052, telescope_ra=15.0642025, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08397, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0393999772099, telescope_dec_j2k=-24.1555430092441, observability=1)
2025-11-03T09:50:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:30
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807217121124268s
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:30.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.064764;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08453;2460982.82674492;9.84184833;1.3;_
2025-11-03T09:50:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.064764;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08453;2460982.82674492;9.84184833;1.3;_
2025-11-03T09:50:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:30.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.064764, teldec = -24.256606
2025-11-03T09:50:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.064764 -24.256606
2025-11-03T09:50:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.064764 -24.256606
2025-11-03T09:50:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.064764 -24.256606
2025-11-03T09:50:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.064764;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08453;2460982.82674495;9.84184833;1.3;_15.0399610226365 -24.1555576229858
2025-11-03T09:50:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0399610226365     dec_j2k = -24.1555576229858
2025-11-03T09:50:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967932066092769;171.162368059163;_
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967932066092769;171.162368059163;_
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49457)
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:30.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82674492, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967932066092769, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.064764, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08453, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0399610226365, telescope_dec_j2k=-24.1555576229858, observability=1)
2025-11-03T09:50:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:32
2025-11-03T09:50:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828910827636719s
2025-11-03T09:50:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0653158;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08508;2460982.82676811;9.84239861;1.3;_
2025-11-03T09:50:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0653158;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08508;2460982.82676811;9.84239861;1.3;_
2025-11-03T09:50:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0653158, teldec = -24.256606
2025-11-03T09:50:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0653158 -24.256606
2025-11-03T09:50:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0653158 -24.256606
2025-11-03T09:50:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0653158 -24.256606
2025-11-03T09:50:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0653158;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08508;2460982.82676815;9.84239861;1.3;_15.0405123759711 -24.1555719864321
2025-11-03T09:50:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0405123759711     dec_j2k = -24.1555719864321
2025-11-03T09:50:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967931263853913;171.162368059163;_
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967931263853913;171.162368059163;_
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48239)
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:32.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:32.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82676811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967931263853913, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0653158, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08508, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0405123759711, telescope_dec_j2k=-24.1555719864321, observability=1)
2025-11-03T09:50:34.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:34
2025-11-03T09:50:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.581286907196045s
2025-11-03T09:50:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:34.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0657648;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08553;2460982.82678666;9.84284639;1.3;_
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0657648;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08553;2460982.82678666;9.84284639;1.3;_
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:34.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0657648, teldec = -24.256606
2025-11-03T09:50:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0657648 -24.256606
2025-11-03T09:50:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0657648 -24.256606
2025-11-03T09:50:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0657648 -24.256606
2025-11-03T09:50:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0657648;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08553;2460982.82678668;9.84284639;1.3;_15.0409610125596 -24.1555836755564
2025-11-03T09:50:34.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0409610125596     dec_j2k = -24.1555836755564
2025-11-03T09:50:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967929258256773;171.162357330327;_
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967929258256773;171.162357330327;_
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34695)
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:34.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:34.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:34.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:34.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:34.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82678666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967929258256773, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0657648, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08553, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0409610125596, telescope_dec_j2k=-24.1555836755564, observability=1)
2025-11-03T09:50:34.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:34
2025-11-03T09:50:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023500680923461914s
2025-11-03T09:50:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023500680923461914
2025-11-03T09:50:34.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:34
2025-11-03T09:50:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3780043125152588s
2025-11-03T09:50:34.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3780043125152588
2025-11-03T09:50:36.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:36
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801480770111084s
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0663252;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08609;2460982.82680976;9.84340528;1.3;_
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0663252;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08609;2460982.82680976;9.84340528;1.3;_
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0663252, teldec = -24.256606
2025-11-03T09:50:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0663252 -24.256606
2025-11-03T09:50:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0663252 -24.256606
2025-11-03T09:50:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0663252 -24.256606
2025-11-03T09:50:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0663252;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08609;2460982.82680978;9.84340528;1.3;_15.041520959034 -24.1555982668208
2025-11-03T09:50:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.041520959034     dec_j2k = -24.1555982668208
2025-11-03T09:50:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967935275048193;171.162357330327;_
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967935275048193;171.162357330327;_
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38507)
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:36.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:36.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82680976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967935275048193, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0663252, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.041520959034, telescope_dec_j2k=-24.1555982668208, observability=1)
2025-11-03T09:50:36.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:36
2025-11-03T09:50:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023296594619750977s
2025-11-03T09:50:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023296594619750977
2025-11-03T09:50:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:36
2025-11-03T09:50:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38344335556030273s
2025-11-03T09:50:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38344335556030273
2025-11-03T09:50:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:38
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827823638916016s
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0668759;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08664;2460982.82683292;9.84395444;1.3;_
2025-11-03T09:50:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0668759;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08664;2460982.82683292;9.84395444;1.3;_
2025-11-03T09:50:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0668759, teldec = -24.256606
2025-11-03T09:50:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0668759 -24.256606
2025-11-03T09:50:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0668759 -24.256606
2025-11-03T09:50:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0668759 -24.256606
2025-11-03T09:50:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0668759;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08664;2460982.82683294;9.84395444;1.3;_15.0420712134135 -24.155612607674
2025-11-03T09:50:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0420712134135     dec_j2k = -24.155612607674
2025-11-03T09:50:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967934071689909;171.162346601491;_
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967934071689909;171.162346601491;_
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53057)
2025-11-03T09:50:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82683292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967934071689909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0668759, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08664, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0420712134135, telescope_dec_j2k=-24.155612607674, observability=1)
2025-11-03T09:50:38.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:38
2025-11-03T09:50:38.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:38.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022715330123901367s
2025-11-03T09:50:38.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022715330123901367
2025-11-03T09:50:38.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:38
2025-11-03T09:50:38.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:38.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3915128707885742s
2025-11-03T09:50:38.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3915128707885742
2025-11-03T09:50:39.485 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:39.485 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Status age = 1.1035046577453613s
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:39.486 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 17;15.0671837;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08695;2460982.82684591;9.84426139;1.3;_
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response 17;15.0671837;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08695;2460982.82684591;9.84426139;1.3;_
2025-11-03T09:50:39.487 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:39.488 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:39.488 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:39.489 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:39.489 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:39.489 [INFO] [Thread-88746 (handle)] [driver.py] [get_status()] Telra = 15.0671837, teldec = -24.256606
2025-11-03T09:50:39.489 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0671837 -24.256606
2025-11-03T09:50:39.489 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0671837 -24.256606
2025-11-03T09:50:39.489 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0671837 -24.256606
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 17;15.0672116;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08698;2460982.82684595;9.84428917;1.3;_15.0423787643689 -24.1556206240637
2025-11-03T09:50:39.490 [INFO] [Thread-88746 (handle)] [driver.py] [get_status()] ra_j2k = 15.0423787643689     dec_j2k = -24.1556206240637
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 140;0.096793607728705;171.162362694745;_
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response 140;0.096793607728705;171.162362694745;_
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:39.490 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:39.491 [DEBUG] [Thread-88746 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55709)
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:39.497 [DEBUG] [Thread-88746 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:39.504 [DEBUG] [Thread-88746 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:39.505 [INFO] [Thread-88746 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82684591, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096793607728705, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0671837, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08695, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0423787643689, telescope_dec_j2k=-24.1556206240637, observability=1)
2025-11-03T09:50:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:40
2025-11-03T09:50:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8554544448852539s
2025-11-03T09:50:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8554544448852539
2025-11-03T09:50:40.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:40
2025-11-03T09:50:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8773269653320312s
2025-11-03T09:50:40.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8773269653320312
2025-11-03T09:50:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:40
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2581615447998047s
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0675483;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08731;2460982.82686069;9.844625;1.3;_
2025-11-03T09:50:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0675483;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08731;2460982.82686069;9.844625;1.3;_
2025-11-03T09:50:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0675483, teldec = -24.256606
2025-11-03T09:50:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0675483 -24.256606
2025-11-03T09:50:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0675483 -24.256606
2025-11-03T09:50:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0675483 -24.256606
2025-11-03T09:50:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0675483;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08731;2460982.82686072;9.844625;1.3;_15.0427430693887 -24.1556301206223
2025-11-03T09:50:40.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0427430693887     dec_j2k = -24.1556301206223
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096793607728705;171.162346601491;_
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096793607728705;171.162346601491;_
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46733)
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:40.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:40.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82686069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096793607728705, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0675483, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08731, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0427430693887, telescope_dec_j2k=-24.1556301206223, observability=1)
2025-11-03T09:50:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:42
2025-11-03T09:50:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.576955795288086s
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0679965;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08776;2460982.82687919;9.84507194;1.3;_
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0679965;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08776;2460982.82687919;9.84507194;1.3;_
2025-11-03T09:50:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0679965, teldec = -24.256606
2025-11-03T09:50:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0679965 -24.256606
2025-11-03T09:50:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0679965 -24.256606
2025-11-03T09:50:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0679965 -24.256606
2025-11-03T09:50:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0679965;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08776;2460982.82687922;9.84507194;1.3;_15.0431909068046 -24.155641795949
2025-11-03T09:50:42.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0431909068046     dec_j2k = -24.155641795949
2025-11-03T09:50:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967936478406478;171.162368059163;_
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967936478406478;171.162368059163;_
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48633)
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:42.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:42.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:42.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:42.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:42.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82687919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967936478406478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0679965, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08776, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0431909068046, telescope_dec_j2k=-24.155641795949, observability=1)
2025-11-03T09:50:42.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:42
2025-11-03T09:50:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022515535354614258s
2025-11-03T09:50:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022515535354614258
2025-11-03T09:50:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:42
2025-11-03T09:50:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38478517532348633s
2025-11-03T09:50:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38478517532348633
2025-11-03T09:50:44.000 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:44.001 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:44.001 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:44.001 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:44.001 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:44.002 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:50:44.003 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:50:44.004 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:44.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:44
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.389162302017212s
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0686594;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08842;2460982.82690703;9.84573306;1.3;_
2025-11-03T09:50:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0686594;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08842;2460982.82690703;9.84573306;1.3;_
2025-11-03T09:50:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0686594, teldec = -24.256606
2025-11-03T09:50:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0686594 -24.256606
2025-11-03T09:50:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0686594 -24.256606
2025-11-03T09:50:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0686594 -24.256606
2025-11-03T09:50:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0686594;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08842;2460982.82690706;9.84573306;1.3;_15.0438532705992 -24.1556590666616
2025-11-03T09:50:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0438532705992     dec_j2k = -24.1556590666616
2025-11-03T09:50:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967944099675611;171.162357330327;_
2025-11-03T09:50:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967944099675611;171.162357330327;_
2025-11-03T09:50:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42455)
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:44.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:44.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82690703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967944099675611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0686594, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0438532705992, telescope_dec_j2k=-24.1556590666616, observability=1)
2025-11-03T09:50:45.013 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:45
2025-11-03T09:50:45.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:45.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2316913604736328s
2025-11-03T09:50:45.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2316913604736328
2025-11-03T09:50:45.036 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:45
2025-11-03T09:50:45.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:45.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25469207763671875s
2025-11-03T09:50:45.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25469207763671875
2025-11-03T09:50:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:46
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5787522792816162s
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0691081;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08887;2460982.82692547;9.84618056;1.3;_
2025-11-03T09:50:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0691081;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08887;2460982.82692547;9.84618056;1.3;_
2025-11-03T09:50:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0691081, teldec = -24.256606
2025-11-03T09:50:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0691081 -24.256606
2025-11-03T09:50:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0691081 -24.256606
2025-11-03T09:50:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0691081 -24.256606
2025-11-03T09:50:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0691081;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08887;2460982.82692551;9.84618056;1.3;_15.0443016077003 -24.1556707585152
2025-11-03T09:50:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0443016077003     dec_j2k = -24.1556707585152
2025-11-03T09:50:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096794209407847;171.162357330327;_
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096794209407847;171.162357330327;_
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44321)
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:46.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82692547, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096794209407847, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0691081, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08887, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0443016077003, telescope_dec_j2k=-24.1556707585152, observability=1)
2025-11-03T09:50:46.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:46
2025-11-03T09:50:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02276301383972168s
2025-11-03T09:50:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02276301383972168
2025-11-03T09:50:46.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:46
2025-11-03T09:50:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3805232048034668s
2025-11-03T09:50:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3805232048034668
2025-11-03T09:50:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:48
2025-11-03T09:50:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831087589263916s
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0696686;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08943;2460982.82694865;9.84673944;1.3;_
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0696686;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08943;2460982.82694865;9.84673944;1.3;_
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0696686, teldec = -24.256606
2025-11-03T09:50:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0696686 -24.256606
2025-11-03T09:50:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0696686 -24.256606
2025-11-03T09:50:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0696686 -24.256606
2025-11-03T09:50:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0696686;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08943;2460982.82694867;9.84673944;1.3;_15.0448616544309 -24.1556853655468
2025-11-03T09:50:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0448616544309     dec_j2k = -24.1556853655468
2025-11-03T09:50:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967942896317327;171.162357330327;_
2025-11-03T09:50:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967942896317327;171.162357330327;_
2025-11-03T09:50:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39535)
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:48.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:48.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82694865, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967942896317327, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0696686, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08943, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0448616544309, telescope_dec_j2k=-24.1556853655468, observability=1)
2025-11-03T09:50:48.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:48
2025-11-03T09:50:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023409366607666016s
2025-11-03T09:50:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023409366607666016
2025-11-03T09:50:48.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:48
2025-11-03T09:50:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789048194885254s
2025-11-03T09:50:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789048194885254
2025-11-03T09:50:49.258 [DEBUG] [Thread-88747 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:49.258 [DEBUG] [Thread-88747 (handle)] [server.py] [get_status()] Status age = 0.8753571510314941s
2025-11-03T09:50:49.258 [DEBUG] [Thread-88747 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8753571510314941
2025-11-03T09:50:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:50
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781725406646729s
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:50.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:50.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:50.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0702192;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08998;2460982.82697179;9.84728861;1.3;_
2025-11-03T09:50:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0702192;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08998;2460982.82697179;9.84728861;1.3;_
2025-11-03T09:50:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:50.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:50.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0702192, teldec = -24.256606
2025-11-03T09:50:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0702192 -24.256606
2025-11-03T09:50:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0702192 -24.256606
2025-11-03T09:50:50.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0702192 -24.256606
2025-11-03T09:50:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0702192;-24.256606;50.108552;89.993052;50.08601;90.12017;12.08998;2460982.82697182;9.84728861;1.3;_15.0454118092226 -24.1556997167249
2025-11-03T09:50:50.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0454118092226     dec_j2k = -24.1556997167249
2025-11-03T09:50:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:50.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967938885123046;171.162346601491;_
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967938885123046;171.162346601491;_
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:50.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:50.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:50.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54219)
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:50.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:50.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:50.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:50.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:50.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:50.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:50.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:50.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82697179, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967938885123046, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0702192, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.08998, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0454118092226, telescope_dec_j2k=-24.1556997167249, observability=1)
2025-11-03T09:50:50.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:50
2025-11-03T09:50:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02224898338317871s
2025-11-03T09:50:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02224898338317871
2025-11-03T09:50:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:50
2025-11-03T09:50:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3818235397338867s
2025-11-03T09:50:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3818235397338867
2025-11-03T09:50:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:52
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800162315368652s
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0707802;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09055;2460982.82699493;9.84784806;1.3;_
2025-11-03T09:50:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0707802;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09055;2460982.82699493;9.84784806;1.3;_
2025-11-03T09:50:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:52.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0707802, teldec = -24.256606
2025-11-03T09:50:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0707802 -24.256606
2025-11-03T09:50:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0707802 -24.256606
2025-11-03T09:50:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0707802 -24.256606
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0707802;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09055;2460982.82699495;9.84784806;1.3;_15.0459723556612 -24.1557143411638
2025-11-03T09:50:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0459723556612     dec_j2k = -24.1557143411638
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096794008848133;171.162368059163;_
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096794008848133;171.162368059163;_
2025-11-03T09:50:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40007)
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82699493, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096794008848133, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0707802, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09055, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0459723556612, telescope_dec_j2k=-24.1557143411638, observability=1)
2025-11-03T09:50:52.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:52
2025-11-03T09:50:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022144079208374023s
2025-11-03T09:50:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022144079208374023
2025-11-03T09:50:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:52
2025-11-03T09:50:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37957191467285156s
2025-11-03T09:50:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37957191467285156
2025-11-03T09:50:54.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:54
2025-11-03T09:50:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844238758087158s
2025-11-03T09:50:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0713401;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09111;2460982.82701812;9.84840639;1.3;_
2025-11-03T09:50:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0713401;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09111;2460982.82701812;9.84840639;1.3;_
2025-11-03T09:50:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0713401, teldec = -24.256606
2025-11-03T09:50:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0713401 -24.256606
2025-11-03T09:50:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0713401 -24.256606
2025-11-03T09:50:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0713401 -24.256606
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0713401;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09111;2460982.82701815;9.84840639;1.3;_15.0465318030455 -24.15572893913
2025-11-03T09:50:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0465318030455     dec_j2k = -24.15572893913
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967945704153323;171.162362694745;_
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967945704153323;171.162362694745;_
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43051)
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:54.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:54.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:54.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:54.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:54.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82701812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967945704153323, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0713401, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0465318030455, telescope_dec_j2k=-24.15572893913, observability=1)
2025-11-03T09:50:54.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:54
2025-11-03T09:50:54.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:54.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022414207458496094s
2025-11-03T09:50:54.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022414207458496094
2025-11-03T09:50:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:54
2025-11-03T09:50:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37660813331604004s
2025-11-03T09:50:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37660813331604004
2025-11-03T09:50:56.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:56
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976288080215454s
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:56.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.071891;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09166;2460982.82704123;9.84895583;1.3;_
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.071891;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09166;2460982.82704123;9.84895583;1.3;_
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:56.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.071891, teldec = -24.256606
2025-11-03T09:50:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.071891 -24.256606
2025-11-03T09:50:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.071891 -24.256606
2025-11-03T09:50:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.071891 -24.256606
2025-11-03T09:50:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.071891;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09166;2460982.82704125;9.84895583;1.3;_15.0470822577605 -24.1557433045913
2025-11-03T09:50:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0470822577605     dec_j2k = -24.1557433045913
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967947709750463;171.162351965909;_
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967947709750463;171.162351965909;_
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58039)
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:56.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:56.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:56.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82704123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967947709750463, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.071891, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09166, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0470822577605, telescope_dec_j2k=-24.1557433045913, observability=1)
2025-11-03T09:50:56.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:56
2025-11-03T09:50:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02292156219482422s
2025-11-03T09:50:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02292156219482422
2025-11-03T09:50:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:56
2025-11-03T09:50:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3861427307128906s
2025-11-03T09:50:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3861427307128906
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Status age = 1.244760274887085s
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:57.621 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:57.622 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:57.623 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 17;15.0722556;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09202;2460982.82705582;9.84931944;1.3;_
2025-11-03T09:50:57.623 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response 17;15.0722556;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09202;2460982.82705582;9.84931944;1.3;_
2025-11-03T09:50:57.623 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:57.623 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:57.623 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:57.624 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:57.624 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:57.624 [INFO] [Thread-88748 (handle)] [driver.py] [get_status()] Telra = 15.0722556, teldec = -24.256606
2025-11-03T09:50:57.624 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0722556 -24.256606
2025-11-03T09:50:57.624 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0722556 -24.256606
2025-11-03T09:50:57.624 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0722556 -24.256606
2025-11-03T09:50:57.625 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 17;15.0722556;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09202;2460982.82705584;9.84931944;1.3;_15.0474465630893 -24.1557528131997
2025-11-03T09:50:57.625 [INFO] [Thread-88748 (handle)] [driver.py] [get_status()] ra_j2k = 15.0474465630893     dec_j2k = -24.1557528131997
2025-11-03T09:50:57.625 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:57.625 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:57.625 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 140;0.0967951720944744;171.162346601491;_
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response 140;0.0967951720944744;171.162346601491;_
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:57.626 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:57.627 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:57.628 [DEBUG] [Thread-88748 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:57.628 [DEBUG] [Thread-88748 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:50:57.628 [DEBUG] [Thread-88748 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51733)
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:57.634 [DEBUG] [Thread-88748 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:57.642 [DEBUG] [Thread-88748 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:57.642 [INFO] [Thread-88748 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82705582, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967951720944744, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0722556, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09202, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0474465630893, telescope_dec_j2k=-24.1557528131997, observability=1)
2025-11-03T09:50:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.34067797660827637s
2025-11-03T09:50:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34067797660827637
2025-11-03T09:50:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:58
2025-11-03T09:50:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7189242839813232s
2025-11-03T09:50:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7189242839813232
2025-11-03T09:50:58.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:58
2025-11-03T09:50:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.740973711013794s
2025-11-03T09:50:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.740973711013794
2025-11-03T09:50:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:50:58
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1188836097717285s
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:50:58.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:50:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:50:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:50:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:50:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:50:58.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:50:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:50:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:50:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.072564;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09233;2460982.82706902;9.84962694;1.3;_
2025-11-03T09:50:58.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.072564;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09233;2460982.82706902;9.84962694;1.3;_
2025-11-03T09:50:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:50:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:50:58.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:50:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:50:58.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.072564, teldec = -24.256606
2025-11-03T09:50:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.072564 -24.256606
2025-11-03T09:50:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.072564 -24.256606
2025-11-03T09:50:58.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.072564 -24.256606
2025-11-03T09:50:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.072564;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09233;2460982.82706905;9.84962694;1.3;_15.0477547138579 -24.1557608568648
2025-11-03T09:50:58.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0477547138579     dec_j2k = -24.1557608568648
2025-11-03T09:50:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:50:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:50:58.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967949314228175;171.162346601491;_
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967949314228175;171.162346601491;_
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:50:58.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:50:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:50:58.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53939)
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:50:58.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:50:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:50:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:58.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:50:58.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:50:58.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:50:58.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:50:58.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:50:58.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:50:58.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:50:58.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82706902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967949314228175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.072564, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09233, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0477547138579, telescope_dec_j2k=-24.1557608568648, observability=1)
2025-11-03T09:51:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:00
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.582181453704834s
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0730119;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09278;2460982.82708753;9.85007361;1.3;_
2025-11-03T09:51:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0730119;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09278;2460982.82708753;9.85007361;1.3;_
2025-11-03T09:51:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0730119, teldec = -24.256606
2025-11-03T09:51:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0730119 -24.256606
2025-11-03T09:51:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0730119 -24.256606
2025-11-03T09:51:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0730119 -24.256606
2025-11-03T09:51:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0730119;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09278;2460982.82708756;9.85007361;1.3;_15.0482022519209 -24.1557725401465
2025-11-03T09:51:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0482022519209     dec_j2k = -24.1557725401465
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967958539975021;171.162373423581;_
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967958539975021;171.162373423581;_
2025-11-03T09:51:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51785)
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:00.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:00.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:00.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82708753, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967958539975021, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0730119, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09278, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0482022519209, telescope_dec_j2k=-24.1557725401465, observability=1)
2025-11-03T09:51:00.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:00
2025-11-03T09:51:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022232532501220703s
2025-11-03T09:51:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022232532501220703
2025-11-03T09:51:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:00
2025-11-03T09:51:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.380582332611084s
2025-11-03T09:51:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.380582332611084
2025-11-03T09:51:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:02
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.381486177444458s
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0736742;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09344;2460982.82711532;9.85073417;1.3;_
2025-11-03T09:51:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0736742;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09344;2460982.82711532;9.85073417;1.3;_
2025-11-03T09:51:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0736742, teldec = -24.256606
2025-11-03T09:51:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0736742 -24.256606
2025-11-03T09:51:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0736742 -24.256606
2025-11-03T09:51:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0736742 -24.256606
2025-11-03T09:51:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0736742;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09344;2460982.82711537;9.85073417;1.3;_15.0488640167989 -24.1557898185404
2025-11-03T09:51:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0488640167989     dec_j2k = -24.1557898185404
2025-11-03T09:51:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967954127661312;171.162362694745;_
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967954127661312;171.162362694745;_
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:02.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40939)
2025-11-03T09:51:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:02.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:02.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:02.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:02.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82711532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967954127661312, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0736742, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09344, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0488640167989, telescope_dec_j2k=-24.1557898185404, observability=1)
2025-11-03T09:51:04.548 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:04
2025-11-03T09:51:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7680339813232422s
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0741784;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09394;2460982.82713601;9.85123694;1.3;_
2025-11-03T09:51:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0741784;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09394;2460982.82713601;9.85123694;1.3;_
2025-11-03T09:51:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:04.552 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0741784, teldec = -24.256606
2025-11-03T09:51:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0741784 -24.256606
2025-11-03T09:51:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0741784 -24.256606
2025-11-03T09:51:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0741784 -24.256606
2025-11-03T09:51:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0741784;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09394;2460982.82713603;9.85123694;1.3;_15.0493678094708 -24.1558029744097
2025-11-03T09:51:04.553 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0493678094708     dec_j2k = -24.1558029744097
2025-11-03T09:51:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967953726541884;171.162362694745;_
2025-11-03T09:51:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967953726541884;171.162362694745;_
2025-11-03T09:51:04.554 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:04.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:04.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:04.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:04.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:04.562 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47629)
2025-11-03T09:51:04.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:04.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:04.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:04.563 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:04.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:04.570 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:04.570 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82713601, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967953726541884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0741784, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09394, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0493678094708, telescope_dec_j2k=-24.1558029744097, observability=1)
2025-11-03T09:51:04.592 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:04
2025-11-03T09:51:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022314786911010742s
2025-11-03T09:51:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022314786911010742
2025-11-03T09:51:04.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:04
2025-11-03T09:51:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19839024543762207s
2025-11-03T09:51:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19839024543762207
2025-11-03T09:51:06.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:06
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1936981678009033s
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0747954;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09456;2460982.82716164;9.85185222;1.3;_
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0747954;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09456;2460982.82716164;9.85185222;1.3;_
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:06.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0747954, teldec = -24.256606
2025-11-03T09:51:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0747954 -24.256606
2025-11-03T09:51:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0747954 -24.256606
2025-11-03T09:51:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0747954 -24.256606
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0747954;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09456;2460982.82716167;9.85185222;1.3;_15.0499843110772 -24.1558190759455
2025-11-03T09:51:06.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0499843110772     dec_j2k = -24.1558190759455
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967963353408157;171.162351965909;_
2025-11-03T09:51:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967963353408157;171.162351965909;_
2025-11-03T09:51:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48359)
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:06.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:06.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:06.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:06.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:06.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82716164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967963353408157, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0747954, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09456, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0499843110772, telescope_dec_j2k=-24.1558190759455, observability=1)
2025-11-03T09:51:07.223 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:07
2025-11-03T09:51:07.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:07.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4379091262817383s
2025-11-03T09:51:07.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4379091262817383
2025-11-03T09:51:07.244 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:07
2025-11-03T09:51:07.244 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:07.244 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4594423770904541s
2025-11-03T09:51:07.244 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4594423770904541
2025-11-03T09:51:08.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:08
2025-11-03T09:51:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9735603332519531s
2025-11-03T09:51:08.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:08.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:08.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:08.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0753469;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09511;2460982.82718473;9.85240222;1.3;_
2025-11-03T09:51:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0753469;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09511;2460982.82718473;9.85240222;1.3;_
2025-11-03T09:51:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:08.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:08.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0753469, teldec = -24.256606
2025-11-03T09:51:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0753469 -24.256606
2025-11-03T09:51:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0753469 -24.256606
2025-11-03T09:51:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0753469 -24.256606
2025-11-03T09:51:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0753469;-24.256606;50.108552;89.993052;50.08601;90.12017;12.09511;2460982.82718476;9.85240222;1.3;_15.0505353656507 -24.1558334704204
2025-11-03T09:51:08.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0505353656507     dec_j2k = -24.1558334704204
2025-11-03T09:51:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967965760124726;171.162357330327;_
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967965760124726;171.162357330327;_
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:08.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59617)
2025-11-03T09:51:08.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:08.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:08.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:08.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:08.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82718473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967965760124726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0753469, telescope_dec=-24.256606, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09511, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0505353656507, telescope_dec_j2k=-24.1558334704204, observability=1)
2025-11-03T09:51:10.217 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:10
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4379360675811768s
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:10.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0757672;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09553;2460982.8272016;9.85282139;1.3;_
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0757672;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09553;2460982.8272016;9.85282139;1.3;_
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:10.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:10.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:10.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:10.219 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0757672, teldec = -24.256605
2025-11-03T09:51:10.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0757672 -24.256605
2025-11-03T09:51:10.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0757672 -24.256605
2025-11-03T09:51:10.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0757672 -24.256605
2025-11-03T09:51:10.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0757672;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09553;2460982.82720162;9.85282139;1.3;_15.0509553263659 -24.1558434419471
2025-11-03T09:51:10.220 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0509553263659     dec_j2k = -24.1558434419471
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096796495788587;171.162351965909;_
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096796495788587;171.162351965909;_
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:10.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:10.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:10.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:10.224 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60989)
2025-11-03T09:51:10.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:10.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:10.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:10.225 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:10.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:10.232 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:10.232 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8272016, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096796495788587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0757672, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09553, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0509553263659, telescope_dec_j2k=-24.1558434419471, observability=1)
2025-11-03T09:51:10.255 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:10
2025-11-03T09:51:10.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:10.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022420406341552734s
2025-11-03T09:51:10.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022420406341552734
2025-11-03T09:51:10.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:10
2025-11-03T09:51:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5298871994018555s
2025-11-03T09:51:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5298871994018555
2025-11-03T09:51:12.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:12
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.536252737045288s
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0764669;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09623;2460982.82723113;9.85351917;1.3;_
2025-11-03T09:51:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0764669;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09623;2460982.82723113;9.85351917;1.3;_
2025-11-03T09:51:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:12.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0764669, teldec = -24.256605
2025-11-03T09:51:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0764669 -24.256605
2025-11-03T09:51:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0764669 -24.256605
2025-11-03T09:51:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0764669 -24.256605
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0764669;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09623;2460982.82723117;9.85351917;1.3;_15.0516544613755 -24.1558617096596
2025-11-03T09:51:12.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0516544613755     dec_j2k = -24.1558617096596
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967971375796718;171.162362694745;_
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967971375796718;171.162362694745;_
2025-11-03T09:51:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34055)
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:12.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:12.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:12.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82723113, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967971375796718, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0764669, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0516544613755, telescope_dec_j2k=-24.1558617096596, observability=1)
2025-11-03T09:51:13.258 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:51:13
2025-11-03T09:51:13.258 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:13.258 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.4675331115722656s
2025-11-03T09:51:13.258 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4675331115722656
2025-11-03T09:51:13.720 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:13
2025-11-03T09:51:13.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:13.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9295942783355713s
2025-11-03T09:51:13.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9295942783355713
2025-11-03T09:51:13.742 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:13
2025-11-03T09:51:13.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:13.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9510829448699951s
2025-11-03T09:51:13.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9510829448699951
2025-11-03T09:51:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:14
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9709844589233398s
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0770175;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09678;2460982.8272542;9.85406833;1.3;_
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0770175;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09678;2460982.8272542;9.85406833;1.3;_
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0770175, teldec = -24.256605
2025-11-03T09:51:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0770175 -24.256605
2025-11-03T09:51:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0770175 -24.256605
2025-11-03T09:51:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0770175 -24.256605
2025-11-03T09:51:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0770175;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09678;2460982.82725422;9.85406833;1.3;_15.0522046168418 -24.1558760870936
2025-11-03T09:51:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0522046168418     dec_j2k = -24.1558760870936
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967970172438434;171.162362694745;_
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967970172438434;171.162362694745;_
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42845)
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:14.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:14.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:14.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8272542, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967970172438434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0770175, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0522046168418, telescope_dec_j2k=-24.1558760870936, observability=1)
2025-11-03T09:51:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:15
2025-11-03T09:51:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5791015625s
2025-11-03T09:51:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5791015625
2025-11-03T09:51:15.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:15
2025-11-03T09:51:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6005656719207764s
2025-11-03T09:51:15.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6005656719207764
2025-11-03T09:51:15.690 [DEBUG] [Thread-88749 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:15.690 [DEBUG] [Thread-88749 (handle)] [server.py] [get_status()] Status age = 0.908715009689331s
2025-11-03T09:51:15.690 [DEBUG] [Thread-88749 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.908715009689331
2025-11-03T09:51:16.361 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:16.361 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5798113346099854s
2025-11-03T09:51:16.361 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:16.361 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:16.361 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:16.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:16.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:16.362 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:16.363 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:16.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0774657;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09723;2460982.82727273;9.85451528;1.3;_
2025-11-03T09:51:16.364 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.0774657;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09723;2460982.82727273;9.85451528;1.3;_
2025-11-03T09:51:16.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:16.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:16.364 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:16.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:16.365 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:16.365 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.0774657, teldec = -24.256605
2025-11-03T09:51:16.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0774657 -24.256605
2025-11-03T09:51:16.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0774657 -24.256605
2025-11-03T09:51:16.365 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0774657 -24.256605
2025-11-03T09:51:16.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.0774657;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09723;2460982.82727275;9.85451528;1.3;_15.0526524550224 -24.1558877921964
2025-11-03T09:51:16.366 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.0526524550224     dec_j2k = -24.1558877921964
2025-11-03T09:51:16.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:16.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:16.366 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0967970172438434;171.162362694745;_
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0967970172438434;171.162362694745;_
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:16.367 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:16.369 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:16.370 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:16.370 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:16.370 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34035)
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:16.375 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:16.382 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:16.382 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82727273, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967970172438434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0774657, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09723, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.0526524550224, telescope_dec_j2k=-24.1558877921964, observability=1)
2025-11-03T09:51:16.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:16
2025-11-03T09:51:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4112205505371094s
2025-11-03T09:51:16.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4112205505371094
2025-11-03T09:51:16.800 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:51:16.800 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.41770124435424805s
2025-11-03T09:51:16.800 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.41770124435424805
2025-11-03T09:51:16.800 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5421030521392822 seconds ago
2025-11-03T09:51:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:17
2025-11-03T09:51:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9782459735870361s
2025-11-03T09:51:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9782459735870361
2025-11-03T09:51:17.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:17
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0003769397735596s
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:17.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:17.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0777462;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09751;2460982.82728454;9.854795;1.3;_
2025-11-03T09:51:17.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0777462;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09751;2460982.82728454;9.854795;1.3;_
2025-11-03T09:51:17.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:17.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:17.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:17.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:17.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:17.385 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0777462, teldec = -24.256605
2025-11-03T09:51:17.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0777462 -24.256605
2025-11-03T09:51:17.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0777462 -24.256605
2025-11-03T09:51:17.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0777462 -24.256605
2025-11-03T09:51:17.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0777462;-24.256605;50.108552;89.993052;50.08601;90.12017;12.09751;2460982.82728456;9.854795;1.3;_15.052932728601 -24.1558951183952
2025-11-03T09:51:17.386 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.052932728601     dec_j2k = -24.1558951183952
2025-11-03T09:51:17.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:17.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:17.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:17.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967968166841294;171.162357330327;_
2025-11-03T09:51:17.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967968166841294;171.162357330327;_
2025-11-03T09:51:17.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:17.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:17.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:17.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:17.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50519)
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:17.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:17.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:17.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:17.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82728454, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967968166841294, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0777462, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09751, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:50:17.983697', telescope_ra_j2k=15.052932728601, telescope_dec_j2k=-24.1558951183952, observability=1)
2025-11-03T09:51:18.125 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:18.126 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:51:18.126 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:18.127 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:18.128 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:51:18.128 [INFO] [ThreadPoolExecutor-3427_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:51:18.128 [INFO] [ThreadPoolExecutor-3427_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:51:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:18
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.365962266921997s
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0781384;-24.256605;50.108552;89.993052;50.08601;90.12017;12.0979;2460982.82730059;9.85518611;1.3;_
2025-11-03T09:51:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0781384;-24.256605;50.108552;89.993052;50.08601;90.12017;12.0979;2460982.82730059;9.85518611;1.3;_
2025-11-03T09:51:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0781384, teldec = -24.256605
2025-11-03T09:51:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0781384 -24.256605
2025-11-03T09:51:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0781384 -24.256605
2025-11-03T09:51:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0781384 -24.256605
2025-11-03T09:51:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0781384;-24.256605;50.108552;89.993052;50.08601;90.12017;12.0979;2460982.82730061;9.85518611;1.3;_15.0533246120384 -24.1559053629386
2025-11-03T09:51:18.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0533246120384     dec_j2k = -24.1559053629386
2025-11-03T09:51:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967964556766441;171.162357330327;_
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967964556766441;171.162357330327;_
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55133)
2025-11-03T09:51:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:18.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:18.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:18.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82730059, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967964556766441, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108552, telescope_az=89.993052, telescope_ra=15.0781384, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.0979, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0533246120384, telescope_dec_j2k=-24.1559053629386, observability=1)
2025-11-03T09:51:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:19
2025-11-03T09:51:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5702993869781494s
2025-11-03T09:51:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5702993869781494
2025-11-03T09:51:19.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:19
2025-11-03T09:51:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5919427871704102s
2025-11-03T09:51:19.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5919427871704102
2025-11-03T09:51:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:20
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9733662605285645s
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0786888;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09845;2460982.82732368;9.855735;1.3;_
2025-11-03T09:51:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0786888;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09845;2460982.82732368;9.855735;1.3;_
2025-11-03T09:51:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0786888, teldec = -24.256605
2025-11-03T09:51:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0786888 -24.256605
2025-11-03T09:51:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0786888 -24.256605
2025-11-03T09:51:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0786888 -24.256605
2025-11-03T09:51:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0786888;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09845;2460982.8273237;9.855735;1.3;_15.0538745678322 -24.155919741596
2025-11-03T09:51:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0538745678322     dec_j2k = -24.155919741596
2025-11-03T09:51:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967977392588139;171.162351965909;_
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967977392588139;171.162351965909;_
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54881)
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82732368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967977392588139, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0786888, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09845, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0538745678322, telescope_dec_j2k=-24.155919741596, observability=1)
2025-11-03T09:51:21.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:21
2025-11-03T09:51:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6729757785797119s
2025-11-03T09:51:21.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6729757785797119
2025-11-03T09:51:21.475 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:21
2025-11-03T09:51:21.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:21.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6944735050201416s
2025-11-03T09:51:21.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6944735050201416
2025-11-03T09:51:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:22
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841578006744385s
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0792497;-24.256612;50.108551;89.993063;50.08601;90.12018;12.09901;2460982.82734684;9.85629417;1.3;_
2025-11-03T09:51:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0792497;-24.256612;50.108551;89.993063;50.08601;90.12018;12.09901;2460982.82734684;9.85629417;1.3;_
2025-11-03T09:51:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0792497, teldec = -24.256612
2025-11-03T09:51:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0792497 -24.256612
2025-11-03T09:51:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0792497 -24.256612
2025-11-03T09:51:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0792497 -24.256612
2025-11-03T09:51:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0792497;-24.256612;50.108551;89.993063;50.08601;90.12018;12.09901;2460982.82734686;9.85629417;1.3;_15.0544350142309 -24.1559413966174
2025-11-03T09:51:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0544350142309     dec_j2k = -24.1559413966174
2025-11-03T09:51:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967973782513287;171.162357330327;_
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967973782513287;171.162357330327;_
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54067)
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:22.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:22.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82734684, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967973782513287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993063, telescope_ra=15.0792497, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09901, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0544350142309, telescope_dec_j2k=-24.1559413966174, observability=1)
2025-11-03T09:51:23.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:23
2025-11-03T09:51:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5792050361633301s
2025-11-03T09:51:23.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5792050361633301
2025-11-03T09:51:23.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:23
2025-11-03T09:51:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6037921905517578s
2025-11-03T09:51:23.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6037921905517578
2025-11-03T09:51:24.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:24
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0131423473358154s
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:24.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:24.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:24.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0798099;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09958;2460982.82737035;9.85685306;1.3;_
2025-11-03T09:51:24.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0798099;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09958;2460982.82737035;9.85685306;1.3;_
2025-11-03T09:51:24.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:24.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:24.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:24.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:24.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:24.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0798099, teldec = -24.256605
2025-11-03T09:51:24.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0798099 -24.256605
2025-11-03T09:51:24.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0798099 -24.256605
2025-11-03T09:51:24.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0798099 -24.256605
2025-11-03T09:51:24.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0798099;-24.256605;50.108551;89.993052;50.08601;90.12017;12.09958;2460982.82737037;9.85685306;1.3;_15.0549947632055 -24.1559490357912
2025-11-03T09:51:24.801 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0549947632055     dec_j2k = -24.1559490357912
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967973381393859;171.162351965909;_
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967973381393859;171.162351965909;_
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:24.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:24.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:24.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:24.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:24.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32907)
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:24.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:24.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:24.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:24.808 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:24.808 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:24.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:24.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:24.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:24.809 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:24.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:24.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82737035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967973381393859, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0798099, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.09958, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0549947632055, telescope_dec_j2k=-24.1559490357912, observability=1)
2025-11-03T09:51:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:25
2025-11-03T09:51:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5507817268371582s
2025-11-03T09:51:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5507817268371582
2025-11-03T09:51:25.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:25
2025-11-03T09:51:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5733335018157959s
2025-11-03T09:51:25.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5733335018157959
2025-11-03T09:51:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:26
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9533696174621582s
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0803695;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10013;2460982.8273931;9.85741111;1.3;_
2025-11-03T09:51:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0803695;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10013;2460982.8273931;9.85741111;1.3;_
2025-11-03T09:51:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:26.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0803695, teldec = -24.256605
2025-11-03T09:51:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0803695 -24.256605
2025-11-03T09:51:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0803695 -24.256605
2025-11-03T09:51:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0803695 -24.256605
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0803695;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10013;2460982.82739312;9.85741111;1.3;_15.0555539117437 -24.1559636613587
2025-11-03T09:51:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0555539117437     dec_j2k = -24.1559636613587
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967973782513287;171.162357330327;_
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967973782513287;171.162357330327;_
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41321)
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:26.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:26.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:26.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:26.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8273931, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967973782513287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0803695, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10013, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0555539117437, telescope_dec_j2k=-24.1559636613587, observability=1)
2025-11-03T09:51:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:27
2025-11-03T09:51:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5787341594696045s
2025-11-03T09:51:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5787341594696045
2025-11-03T09:51:27.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:27
2025-11-03T09:51:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6021909713745117s
2025-11-03T09:51:27.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6021909713745117
2025-11-03T09:51:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:28
2025-11-03T09:51:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806959629058838s
2025-11-03T09:51:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0809207;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10069;2460982.82741626;9.85796083;1.3;_
2025-11-03T09:51:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0809207;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10069;2460982.82741626;9.85796083;1.3;_
2025-11-03T09:51:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0809207, teldec = -24.256605
2025-11-03T09:51:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0809207 -24.256605
2025-11-03T09:51:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0809207 -24.256605
2025-11-03T09:51:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0809207 -24.256605
2025-11-03T09:51:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0809207;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10069;2460982.82741628;9.85796083;1.3;_15.0561046671139 -24.1559780695295
2025-11-03T09:51:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0561046671139     dec_j2k = -24.1559780695295
2025-11-03T09:51:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967978194826995;171.162357330327;_
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967978194826995;171.162357330327;_
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37743)
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:28.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:28.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:28.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82741626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967978194826995, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0809207, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10069, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0561046671139, telescope_dec_j2k=-24.1559780695295, observability=1)
2025-11-03T09:51:29.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:29
2025-11-03T09:51:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.577974796295166s
2025-11-03T09:51:29.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.577974796295166
2025-11-03T09:51:29.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:29
2025-11-03T09:51:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6000103950500488s
2025-11-03T09:51:29.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6000103950500488
2025-11-03T09:51:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:30
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832239151000977s
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0814809;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10125;2460982.82743946;9.85851944;1.3;_
2025-11-03T09:51:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0814809;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10125;2460982.82743946;9.85851944;1.3;_
2025-11-03T09:51:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0814809, teldec = -24.256605
2025-11-03T09:51:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0814809 -24.256605
2025-11-03T09:51:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0814809 -24.256605
2025-11-03T09:51:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0814809 -24.256605
2025-11-03T09:51:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0814809;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10125;2460982.82743948;9.85851944;1.3;_15.0566644152804 -24.1559927151364
2025-11-03T09:51:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0566644152804     dec_j2k = -24.1559927151364
2025-11-03T09:51:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967988623932125;171.162362694745;_
2025-11-03T09:51:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967988623932125;171.162362694745;_
2025-11-03T09:51:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53161)
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:30.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:30.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82743946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967988623932125, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0814809, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10125, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0566644152804, telescope_dec_j2k=-24.1559927151364, observability=1)
2025-11-03T09:51:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:31
2025-11-03T09:51:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5722968578338623s
2025-11-03T09:51:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5722968578338623
2025-11-03T09:51:31.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:31
2025-11-03T09:51:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5964868068695068s
2025-11-03T09:51:31.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5964868068695068
2025-11-03T09:51:32.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:32
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812226295471191s
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0820404;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10181;2460982.82746263;9.8590775;1.3;_
2025-11-03T09:51:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0820404;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10181;2460982.82746263;9.8590775;1.3;_
2025-11-03T09:51:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:32.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0820404, teldec = -24.256605
2025-11-03T09:51:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0820404 -24.256605
2025-11-03T09:51:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0820404 -24.256605
2025-11-03T09:51:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0820404 -24.256605
2025-11-03T09:51:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0820404;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10181;2460982.82746265;9.8590775;1.3;_15.0572234640681 -24.1560073446355
2025-11-03T09:51:32.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0572234640681     dec_j2k = -24.1560073446355
2025-11-03T09:51:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967985816096128;171.162368059163;_
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967985816096128;171.162368059163;_
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:32.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:32.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:32.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42925)
2025-11-03T09:51:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:32.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:32.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:32.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82746263, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967985816096128, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0820404, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0572234640681, telescope_dec_j2k=-24.1560073446355, observability=1)
2025-11-03T09:51:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:33
2025-11-03T09:51:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5760314464569092s
2025-11-03T09:51:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5760314464569092
2025-11-03T09:51:33.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:33
2025-11-03T09:51:33.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:33.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6011481285095215s
2025-11-03T09:51:33.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6011481285095215
2025-11-03T09:51:33.753 [DEBUG] [Thread-88750 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:33.754 [DEBUG] [Thread-88750 (handle)] [server.py] [get_status()] Status age = 0.9681391716003418s
2025-11-03T09:51:33.754 [DEBUG] [Thread-88750 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9681391716003418
2025-11-03T09:51:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:34
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829432964324951s
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0825925;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10236;2460982.82748576;9.85962806;1.3;_
2025-11-03T09:51:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0825925;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10236;2460982.82748576;9.85962806;1.3;_
2025-11-03T09:51:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:34.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0825925, teldec = -24.256605
2025-11-03T09:51:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0825925 -24.256605
2025-11-03T09:51:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0825925 -24.256605
2025-11-03T09:51:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0825925 -24.256605
2025-11-03T09:51:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0825925;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10236;2460982.82748579;9.85962806;1.3;_15.057775118879 -24.1560217827911
2025-11-03T09:51:34.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.057775118879     dec_j2k = -24.1560217827911
2025-11-03T09:51:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967978194826995;171.162362694745;_
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967978194826995;171.162362694745;_
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35533)
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:34.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:34.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82748576, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967978194826995, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0825925, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10236, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.057775118879, telescope_dec_j2k=-24.1560217827911, observability=1)
2025-11-03T09:51:35.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:35
2025-11-03T09:51:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5787410736083984s
2025-11-03T09:51:35.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5787410736083984
2025-11-03T09:51:35.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:35
2025-11-03T09:51:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6004419326782227s
2025-11-03T09:51:35.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6004419326782227
2025-11-03T09:51:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:36
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9759583473205566s
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0831538;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10292;2460982.82750883;9.86018778;1.3;_
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0831538;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10292;2460982.82750883;9.86018778;1.3;_
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0831538, teldec = -24.256605
2025-11-03T09:51:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0831538 -24.256605
2025-11-03T09:51:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0831538 -24.256605
2025-11-03T09:51:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0831538 -24.256605
2025-11-03T09:51:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0831538;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10292;2460982.82750885;9.86018778;1.3;_15.058335966328 -24.1560364637256
2025-11-03T09:51:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.058335966328     dec_j2k = -24.1560364637256
2025-11-03T09:51:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967983810498988;171.162357330327;_
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967983810498988;171.162357330327;_
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50613)
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:36.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:36.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:36.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82750883, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967983810498988, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0831538, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10292, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.058335966328, telescope_dec_j2k=-24.1560364637256, observability=1)
2025-11-03T09:51:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:37
2025-11-03T09:51:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5801410675048828s
2025-11-03T09:51:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5801410675048828
2025-11-03T09:51:37.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:37
2025-11-03T09:51:37.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:37.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6021590232849121s
2025-11-03T09:51:37.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6021590232849121
2025-11-03T09:51:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:38
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981523036956787s
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:38.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:38.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:38.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0837058;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10347;2460982.82753198;9.86073833;1.3;_
2025-11-03T09:51:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0837058;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10347;2460982.82753198;9.86073833;1.3;_
2025-11-03T09:51:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:38.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0837058, teldec = -24.256605
2025-11-03T09:51:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0837058 -24.256605
2025-11-03T09:51:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0837058 -24.256605
2025-11-03T09:51:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0837058 -24.256605
2025-11-03T09:51:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0837058;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10347;2460982.82753201;9.86073833;1.3;_15.0588875213306 -24.1560509035664
2025-11-03T09:51:38.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0588875213306     dec_j2k = -24.1560509035664
2025-11-03T09:51:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967986217215556;171.162357330327;_
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967986217215556;171.162357330327;_
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53361)
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:38.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:38.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:38.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82753198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967986217215556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0837058, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0588875213306, telescope_dec_j2k=-24.1560509035664, observability=1)
2025-11-03T09:51:39.004 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.004 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.004 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:39.004 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:39.004 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:51:39.005 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:39.006 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:39.007 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.008 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:39.009 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:39.010 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:39.010 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:39.010 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Park
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:51:39.011 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 29;15.08379;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10356;2460982.82753485;9.86082222;1.3;_Park Command Successful
2025-11-03T09:51:39.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:39
2025-11-03T09:51:39.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:39.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5845978260040283s
2025-11-03T09:51:39.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5845978260040283
2025-11-03T09:51:39.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:39
2025-11-03T09:51:39.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:39.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6075942516326904s
2025-11-03T09:51:39.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6075942516326904
2025-11-03T09:51:40.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:51:40.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:51:40.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:51:40.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:51:40.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:51:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:40
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776523113250732s
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:40.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0842674;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10403;2460982.82755512;9.86129833;1.3;_
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0842674;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10403;2460982.82755512;9.86129833;1.3;_
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:40.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0842674, teldec = -24.256605
2025-11-03T09:51:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0842674 -24.256605
2025-11-03T09:51:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0842674 -24.256605
2025-11-03T09:51:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0842674 -24.256605
2025-11-03T09:51:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0842674;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10403;2460982.82755514;9.86129833;1.3;_15.0594486686507 -24.1560655967225
2025-11-03T09:51:40.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0594486686507     dec_j2k = -24.1560655967225
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967983008260132;171.162357330327;_
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967983008260132;171.162357330327;_
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50211)
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:40.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:40.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:40.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82755512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967983008260132, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0842674, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10403, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0594486686507, telescope_dec_j2k=-24.1560655967225, observability=1)
2025-11-03T09:51:41.012 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:51:41.013 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:51:41.013 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:51:41.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:51:41.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:51:42.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:51:42.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:51:42.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:51:42.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:51:42.014 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:51:42.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:42
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9960920810699463s
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0848278;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10459;2460982.82757839;9.86185722;1.3;_
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0848278;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10459;2460982.82757839;9.86185722;1.3;_
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:42.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0848278, teldec = -24.256605
2025-11-03T09:51:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0848278 -24.256605
2025-11-03T09:51:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0848278 -24.256605
2025-11-03T09:51:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0848278 -24.256605
2025-11-03T09:51:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0848278;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10459;2460982.82757841;9.86185722;1.3;_15.0600086169949 -24.1560802606821
2025-11-03T09:51:42.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0600086169949     dec_j2k = -24.1560802606821
2025-11-03T09:51:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967984211618416;171.162346601491;_
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967984211618416;171.162346601491;_
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49267)
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:42.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:42.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82757839, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967984211618416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0848278, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10459, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0600086169949, telescope_dec_j2k=-24.1560802606821, observability=1)
2025-11-03T09:51:43.015 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:51:43.015 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:51:43.015 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:43.016 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:51:43.017 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:51:43.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:44.018 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:51:44.019 [DEBUG] [ThreadPoolExecutor-3426_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:44.020 [INFO] [ThreadPoolExecutor-3426_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:51:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:44
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9709539413452148s
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0853803;-24.256612;50.108551;89.993063;50.08601;90.12018;12.10515;2460982.82760142;9.86240806;1.3;_
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0853803;-24.256612;50.108551;89.993063;50.08601;90.12018;12.10515;2460982.82760142;9.86240806;1.3;_
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0853803, teldec = -24.256612
2025-11-03T09:51:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0853803 -24.256612
2025-11-03T09:51:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0853803 -24.256612
2025-11-03T09:51:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0853803 -24.256612
2025-11-03T09:51:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0853803;-24.256612;50.108551;89.993063;50.08601;90.12018;12.10515;2460982.82760146;9.86240806;1.3;_15.0605606707829 -24.1561017199506
2025-11-03T09:51:44.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0605606707829     dec_j2k = -24.1561017199506
2025-11-03T09:51:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967988623932125;171.162357330327;_
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967988623932125;171.162357330327;_
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:44.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48645)
2025-11-03T09:51:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:44.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:44.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82760142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967988623932125, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993063, telescope_ra=15.0853803, telescope_dec=-24.256612, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10515, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0605606707829, telescope_dec_j2k=-24.1561017199506, observability=1)
2025-11-03T09:51:46.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:46
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840691089630127s
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0859408;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10571;2460982.82762462;9.86296722;1.3;_
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0859408;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10571;2460982.82762462;9.86296722;1.3;_
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:46.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0859408, teldec = -24.256605
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0859408 -24.256605
2025-11-03T09:51:46.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0859408 -24.256605
2025-11-03T09:51:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0859408 -24.256605
2025-11-03T09:51:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0859408;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10571;2460982.82762463;9.86296722;1.3;_15.0611207201381 -24.1561093910116
2025-11-03T09:51:46.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0611207201381     dec_j2k = -24.1561093910116
2025-11-03T09:51:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967986217215556;171.162357330327;_
2025-11-03T09:51:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967986217215556;171.162357330327;_
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49729)
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:46.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:46.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:46.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82762462, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967986217215556, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0859408, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10571, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0611207201381, telescope_dec_j2k=-24.1561093910116, observability=1)
2025-11-03T09:51:47.225 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:47
2025-11-03T09:51:47.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:47.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43839526176452637s
2025-11-03T09:51:47.225 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43839526176452637
2025-11-03T09:51:47.246 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:47
2025-11-03T09:51:47.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:47.247 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46010541915893555s
2025-11-03T09:51:47.247 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46010541915893555
2025-11-03T09:51:48.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:48
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5887839794158936s
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:48.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:48.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:48.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0863804;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10615;2460982.82764325;9.86340556;1.3;_
2025-11-03T09:51:48.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0863804;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10615;2460982.82764325;9.86340556;1.3;_
2025-11-03T09:51:48.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:48.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:48.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:48.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:48.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:48.378 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0863804, teldec = -24.256605
2025-11-03T09:51:48.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0863804 -24.256605
2025-11-03T09:51:48.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0863804 -24.256605
2025-11-03T09:51:48.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0863804 -24.256605
2025-11-03T09:51:48.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0863804;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10615;2460982.82764328;9.86340556;1.3;_15.0615599659696 -24.156120898962
2025-11-03T09:51:48.379 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0615599659696     dec_j2k = -24.156120898962
2025-11-03T09:51:48.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:48.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:48.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967990228409837;171.162351965909;_
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967990228409837;171.162351965909;_
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:48.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:48.384 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46053)
2025-11-03T09:51:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:48.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:48.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:48.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:48.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82764325, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967990228409837, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0863804, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10615, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0615599659696, telescope_dec_j2k=-24.156120898962, observability=1)
2025-11-03T09:51:48.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:48
2025-11-03T09:51:48.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:48.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02292013168334961s
2025-11-03T09:51:48.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02292013168334961
2025-11-03T09:51:48.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:48
2025-11-03T09:51:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36934971809387207s
2025-11-03T09:51:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36934971809387207
2025-11-03T09:51:49.320 [DEBUG] [Thread-88751 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:49.320 [DEBUG] [Thread-88751 (handle)] [server.py] [get_status()] Status age = 0.9278042316436768s
2025-11-03T09:51:49.320 [DEBUG] [Thread-88751 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9278042316436768
2025-11-03T09:51:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:50
2025-11-03T09:51:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3733105659484863s
2025-11-03T09:51:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0870542;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10682;2460982.8276709;9.8640775;1.3;_
2025-11-03T09:51:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0870542;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10682;2460982.8276709;9.8640775;1.3;_
2025-11-03T09:51:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0870542, teldec = -24.256605
2025-11-03T09:51:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0870542 -24.256605
2025-11-03T09:51:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0870542 -24.256605
2025-11-03T09:51:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0870542 -24.256605
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0870542;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10682;2460982.82767094;9.8640775;1.3;_15.0622332231833 -24.1561385404763
2025-11-03T09:51:50.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0622332231833     dec_j2k = -24.1561385404763
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967991030648693;171.162351965909;_
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967991030648693;171.162351965909;_
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46489)
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8276709, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967991030648693, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0870542, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10682, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0622332231833, telescope_dec_j2k=-24.1561385404763, observability=1)
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Status age = 1.095508098602295s
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:51.876 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:51.877 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:51.878 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 17;15.0873622;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10713;2460982.82768377;9.86438472;1.3;_
2025-11-03T09:51:51.878 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response 17;15.0873622;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10713;2460982.82768377;9.86438472;1.3;_
2025-11-03T09:51:51.878 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:51.878 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:51.878 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:51.879 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:51.879 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:51.879 [INFO] [Thread-88752 (handle)] [driver.py] [get_status()] Telra = 15.0873622, teldec = -24.256605
2025-11-03T09:51:51.879 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0873622 -24.256605
2025-11-03T09:51:51.879 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0873622 -24.256605
2025-11-03T09:51:51.879 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0873622 -24.256605
2025-11-03T09:51:51.880 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 17;15.0873622;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10713;2460982.8276838;9.86438472;1.3;_15.0625409750982 -24.156146605627
2025-11-03T09:51:51.880 [INFO] [Thread-88752 (handle)] [driver.py] [get_status()] ra_j2k = 15.0625409750982     dec_j2k = -24.156146605627
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 140;0.0967997448559542;171.162351965909;_
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response 140;0.0967997448559542;171.162351965909;_
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:51.881 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:51.882 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:51.883 [DEBUG] [Thread-88752 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:51.883 [DEBUG] [Thread-88752 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:51.883 [DEBUG] [Thread-88752 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52825)
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:51.885 [DEBUG] [Thread-88752 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:51.893 [DEBUG] [Thread-88752 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:51.893 [INFO] [Thread-88752 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82768377, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967997448559542, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0873622, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10713, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0625409750982, telescope_dec_j2k=-24.156146605627, observability=1)
2025-11-03T09:51:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:52
2025-11-03T09:51:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8687038421630859s
2025-11-03T09:51:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8687038421630859
2025-11-03T09:51:54.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:54
2025-11-03T09:51:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.871333599090576s
2025-11-03T09:51:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0881666;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10793;2460982.8277172;9.86518694;1.3;_
2025-11-03T09:51:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0881666;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10793;2460982.8277172;9.86518694;1.3;_
2025-11-03T09:51:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0881666, teldec = -24.256605
2025-11-03T09:51:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0881666 -24.256605
2025-11-03T09:51:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0881666 -24.256605
2025-11-03T09:51:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0881666 -24.256605
2025-11-03T09:51:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0881666;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10793;2460982.82771722;9.86518694;1.3;_15.0633447272581 -24.1561676724138
2025-11-03T09:51:54.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0633447272581     dec_j2k = -24.1561676724138
2025-11-03T09:51:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967997047440114;171.162362694745;_
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967997047440114;171.162362694745;_
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:51:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56987)
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:54.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:54.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8277172, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967997047440114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0881666, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0633447272581, telescope_dec_j2k=-24.1561676724138, observability=1)
2025-11-03T09:51:55.032 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:55
2025-11-03T09:51:55.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:55.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24927997589111328s
2025-11-03T09:51:55.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24927997589111328
2025-11-03T09:51:55.054 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:55
2025-11-03T09:51:55.054 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:55.054 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27075719833374023s
2025-11-03T09:51:55.054 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27075719833374023
2025-11-03T09:51:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:56
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793927669525146s
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0887276;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10849;2460982.82774032;9.86574639;1.3;_
2025-11-03T09:51:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0887276;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10849;2460982.82774032;9.86574639;1.3;_
2025-11-03T09:51:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:56.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0887276, teldec = -24.256605
2025-11-03T09:51:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0887276 -24.256605
2025-11-03T09:51:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0887276 -24.256605
2025-11-03T09:51:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0887276 -24.256605
2025-11-03T09:51:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0887276;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10849;2460982.82774036;9.86574639;1.3;_15.0639052755146 -24.1561823673669
2025-11-03T09:51:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0639052755146     dec_j2k = -24.1561823673669
2025-11-03T09:51:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967996245201258;171.162368059163;_
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967996245201258;171.162368059163;_
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:56.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47127)
2025-11-03T09:51:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:56.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:56.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:56.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:56.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82774032, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967996245201258, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0887276, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10849, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0639052755146, telescope_dec_j2k=-24.1561823673669, observability=1)
2025-11-03T09:51:57.224 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:57
2025-11-03T09:51:57.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:57.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4447782039642334s
2025-11-03T09:51:57.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4447782039642334
2025-11-03T09:51:57.247 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:57
2025-11-03T09:51:57.248 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:57.248 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.467958927154541s
2025-11-03T09:51:57.248 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.467958927154541
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2024264335632324s
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:51:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:51:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:51:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:51:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:51:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:51:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:51:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0890555;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10882;2460982.82775444;9.86607333;1.3;_
2025-11-03T09:51:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.0890555;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10882;2460982.82775444;9.86607333;1.3;_
2025-11-03T09:51:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:51:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:51:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:51:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:51:57.985 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.0890555, teldec = -24.256605
2025-11-03T09:51:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0890555 -24.256605
2025-11-03T09:51:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0890555 -24.256605
2025-11-03T09:51:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0890555 -24.256605
2025-11-03T09:51:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.0890555;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10882;2460982.82775447;9.86607333;1.3;_15.0642329115005 -24.1561909574674
2025-11-03T09:51:57.986 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.0642329115005     dec_j2k = -24.1561909574674
2025-11-03T09:51:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:51:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:51:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968000256395538;171.162351965909;_
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968000256395538;171.162351965909;_
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:51:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:51:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:51:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55459)
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:51:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:51:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:51:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:57.997 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:51:57.997 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:51:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:51:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:51:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:51:57.998 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:51:57.998 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:51:57.998 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82775444, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968000256395538, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0890555, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10882, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0642329115005, telescope_dec_j2k=-24.1561909574674, observability=1)
2025-11-03T09:51:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:58
2025-11-03T09:51:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36215949058532715s
2025-11-03T09:51:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36215949058532715
2025-11-03T09:51:58.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:58
2025-11-03T09:51:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3842885494232178s
2025-11-03T09:51:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3842885494232178
2025-11-03T09:51:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:51:58
2025-11-03T09:51:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:51:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7640883922576904s
2025-11-03T09:51:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7640883922576904
2025-11-03T09:52:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:00
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.364203691482544s
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0897293;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10949;2460982.82778198;9.86674528;1.3;_
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0897293;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10949;2460982.82778198;9.86674528;1.3;_
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0897293, teldec = -24.256605
2025-11-03T09:52:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0897293 -24.256605
2025-11-03T09:52:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0897293 -24.256605
2025-11-03T09:52:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0897293 -24.256605
2025-11-03T09:52:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0897293;-24.256605;50.108551;89.993052;50.08601;90.12017;12.10949;2460982.827782;9.86674528;1.3;_15.0649061690404 -24.1562086115777
2025-11-03T09:52:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0649061690404     dec_j2k = -24.1562086115777
2025-11-03T09:52:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0967997448559542;171.162357330327;_
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0967997448559542;171.162357330327;_
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:00.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53387)
2025-11-03T09:52:00.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:00.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:00.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:00.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:00.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:00.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:00.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82778198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0967997448559542, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0897293, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.10949, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0649061690404, telescope_dec_j2k=-24.1562086115777, observability=1)
2025-11-03T09:52:00.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:00
2025-11-03T09:52:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023654937744140625s
2025-11-03T09:52:00.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023654937744140625
2025-11-03T09:52:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:00
2025-11-03T09:52:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3815007209777832s
2025-11-03T09:52:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3815007209777832
2025-11-03T09:52:02.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:02
2025-11-03T09:52:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.384317398071289s
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0903933;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11016;2460982.82780978;9.8674075;1.3;_
2025-11-03T09:52:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0903933;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11016;2460982.82780978;9.8674075;1.3;_
2025-11-03T09:52:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0903933, teldec = -24.256605
2025-11-03T09:52:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0903933 -24.256605
2025-11-03T09:52:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0903933 -24.256605
2025-11-03T09:52:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0903933 -24.256605
2025-11-03T09:52:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0903933;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11016;2460982.82780981;9.8674075;1.3;_15.0655696345505 -24.1562260120224
2025-11-03T09:52:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0655696345505     dec_j2k = -24.1562260120224
2025-11-03T09:52:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968002261992679;171.162362694745;_
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968002261992679;171.162362694745;_
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33659)
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:02.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:02.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:02.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:02.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:02.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82780978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968002261992679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0903933, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11016, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0655696345505, telescope_dec_j2k=-24.1562260120224, observability=1)
2025-11-03T09:52:04.548 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:04
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.766611099243164s
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:04.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:04.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0908986;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11066;2460982.82783044;9.86791139;1.3;_
2025-11-03T09:52:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0908986;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11066;2460982.82783044;9.86791139;1.3;_
2025-11-03T09:52:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:04.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:04.551 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0908986, teldec = -24.256605
2025-11-03T09:52:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0908986 -24.256605
2025-11-03T09:52:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0908986 -24.256605
2025-11-03T09:52:04.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0908986 -24.256605
2025-11-03T09:52:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0908986;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11066;2460982.82783046;9.86791139;1.3;_15.0660745278605 -24.1562392557193
2025-11-03T09:52:04.552 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0660745278605     dec_j2k = -24.1562392557193
2025-11-03T09:52:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:04.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968007877664671;171.162362694745;_
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968007877664671;171.162362694745;_
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:04.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:04.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:04.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60689)
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:04.559 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:04.566 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:04.567 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:04.567 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82783044, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968007877664671, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0908986, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11066, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0660745278605, telescope_dec_j2k=-24.1562392557193, observability=1)
2025-11-03T09:52:04.592 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:04
2025-11-03T09:52:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025655746459960938s
2025-11-03T09:52:04.592 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025655746459960938
2025-11-03T09:52:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:04
2025-11-03T09:52:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19362592697143555s
2025-11-03T09:52:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19362592697143555
2025-11-03T09:52:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:06
2025-11-03T09:52:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.194836378097534s
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0915144;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11128;2460982.82785605;9.86852556;1.3;_
2025-11-03T09:52:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0915144;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11128;2460982.82785605;9.86852556;1.3;_
2025-11-03T09:52:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0915144, teldec = -24.256605
2025-11-03T09:52:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0915144 -24.256605
2025-11-03T09:52:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0915144 -24.256605
2025-11-03T09:52:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0915144 -24.256605
2025-11-03T09:52:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0915144;-24.256605;50.108551;89.993052;50.08601;90.12017;12.11128;2460982.82785609;9.86852556;1.3;_15.0666898322972 -24.1562553979843
2025-11-03T09:52:06.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0666898322972     dec_j2k = -24.1562553979843
2025-11-03T09:52:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968005069828675;171.162357330327;_
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968005069828675;171.162357330327;_
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55223)
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:06.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:06.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:06.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82785605, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968005069828675, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108551, telescope_az=89.993052, telescope_ra=15.0915144, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11128, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0666898322972, telescope_dec_j2k=-24.1562553979843, observability=1)
2025-11-03T09:52:07.221 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:07
2025-11-03T09:52:07.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:07.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44349098205566406s
2025-11-03T09:52:07.221 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44349098205566406
2025-11-03T09:52:07.242 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:07
2025-11-03T09:52:07.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:07.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4647073745727539s
2025-11-03T09:52:07.243 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4647073745727539
2025-11-03T09:52:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:08
2025-11-03T09:52:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983642816543579s
2025-11-03T09:52:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:08.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0920668;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11183;2460982.8278792;9.86907639;1.3;_
2025-11-03T09:52:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0920668;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11183;2460982.8278792;9.86907639;1.3;_
2025-11-03T09:52:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:08.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0920668, teldec = -24.256605
2025-11-03T09:52:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0920668 -24.256605
2025-11-03T09:52:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0920668 -24.256605
2025-11-03T09:52:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0920668 -24.256605
2025-11-03T09:52:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0920668;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11183;2460982.82787924;9.86907639;1.3;_15.0672417878133 -24.156269880567
2025-11-03T09:52:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0672417878133     dec_j2k = -24.156269880567
2025-11-03T09:52:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968008278784099;171.162351965909;_
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968008278784099;171.162351965909;_
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53329)
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:08.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:08.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:08.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8278792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968008278784099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0920668, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0672417878133, telescope_dec_j2k=-24.156269880567, observability=1)
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Status age = 1.1654093265533447s
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:09.942 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:09.943 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:09.944 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:09.945 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 17;15.0924032;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11217;2460982.82789288;9.86941194;1.3;_
2025-11-03T09:52:09.945 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response 17;15.0924032;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11217;2460982.82789288;9.86941194;1.3;_
2025-11-03T09:52:09.945 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:09.945 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:09.945 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:09.946 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:09.946 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:09.946 [INFO] [Thread-88753 (handle)] [driver.py] [get_status()] Telra = 15.0924032, teldec = -24.256605
2025-11-03T09:52:09.946 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0924032 -24.256605
2025-11-03T09:52:09.946 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0924032 -24.256605
2025-11-03T09:52:09.946 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0924032 -24.256605
2025-11-03T09:52:09.947 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 17;15.0924032;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11217;2460982.8278929;9.86941194;1.3;_15.0675779171591 -24.1562787011994
2025-11-03T09:52:09.947 [INFO] [Thread-88753 (handle)] [driver.py] [get_status()] ra_j2k = 15.0675779171591     dec_j2k = -24.1562787011994
2025-11-03T09:52:09.947 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:09.947 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:09.947 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 140;0.0968003064231535;171.162362694745;_
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response 140;0.0968003064231535;171.162362694745;_
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:09.948 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:09.949 [DEBUG] [Thread-88753 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50399)
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:09.955 [DEBUG] [Thread-88753 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:09.962 [DEBUG] [Thread-88753 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:09.962 [DEBUG] [Thread-88753 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:09.962 [DEBUG] [Thread-88753 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:09.962 [DEBUG] [Thread-88753 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:09.963 [DEBUG] [Thread-88753 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:09.963 [DEBUG] [Thread-88753 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:09.963 [DEBUG] [Thread-88753 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:09.963 [DEBUG] [Thread-88753 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:09.963 [DEBUG] [Thread-88753 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:09.963 [INFO] [Thread-88753 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82789288, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968003064231535, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0924032, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11217, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0675779171591, telescope_dec_j2k=-24.1562787011994, observability=1)
2025-11-03T09:52:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:10
2025-11-03T09:52:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8003571033477783s
2025-11-03T09:52:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8003571033477783
2025-11-03T09:52:12.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:12
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.810359001159668s
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:12.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0931862;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11295;2460982.82792565;9.87019278;1.3;_
2025-11-03T09:52:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0931862;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11295;2460982.82792565;9.87019278;1.3;_
2025-11-03T09:52:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:12.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0931862, teldec = -24.256605
2025-11-03T09:52:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0931862 -24.256605
2025-11-03T09:52:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0931862 -24.256605
2025-11-03T09:52:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0931862 -24.256605
2025-11-03T09:52:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0931862;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11295;2460982.82792567;9.87019278;1.3;_15.0683602872675 -24.1562992350407
2025-11-03T09:52:12.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0683602872675     dec_j2k = -24.1562992350407
2025-11-03T09:52:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968003866470391;171.162357330327;_
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968003866470391;171.162357330327;_
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57559)
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:12.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:12.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:12.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82792565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968003866470391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0931862, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11295, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0683602872675, telescope_dec_j2k=-24.1562992350407, observability=1)
2025-11-03T09:52:12.902 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:12
2025-11-03T09:52:12.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:12.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10846972465515137s
2025-11-03T09:52:12.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10846972465515137
2025-11-03T09:52:12.923 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:12
2025-11-03T09:52:12.923 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:12.923 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13013744354248047s
2025-11-03T09:52:12.923 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13013744354248047
2025-11-03T09:52:13.319 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:52:13
2025-11-03T09:52:13.319 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:13.319 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.5256748199462891s
2025-11-03T09:52:13.319 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5256748199462891
2025-11-03T09:52:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:14
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9699246883392334s
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.093738;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1135;2460982.82794867;9.87074306;1.3;_
2025-11-03T09:52:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.093738;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1135;2460982.82794867;9.87074306;1.3;_
2025-11-03T09:52:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.093738, teldec = -24.256605
2025-11-03T09:52:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.093738 -24.256605
2025-11-03T09:52:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.093738 -24.256605
2025-11-03T09:52:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.093738 -24.256605
2025-11-03T09:52:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.093738;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1135;2460982.8279487;9.87074306;1.3;_15.0689116434336 -24.1563137083307
2025-11-03T09:52:14.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0689116434336     dec_j2k = -24.1563137083307
2025-11-03T09:52:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968013092217236;171.162351965909;_
2025-11-03T09:52:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968013092217236;171.162351965909;_
2025-11-03T09:52:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48299)
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:14.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:14.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:14.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:14.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:14.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82794867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968013092217236, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.093738, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1135, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.0689116434336, telescope_dec_j2k=-24.1563137083307, observability=1)
2025-11-03T09:52:15.475 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:15.475 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6951882839202881s
2025-11-03T09:52:15.475 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6951882839202881
2025-11-03T09:52:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:16
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990337610244751s
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0942984;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11406;2460982.8279719;9.87130194;1.3;_
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0942984;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11406;2460982.8279719;9.87130194;1.3;_
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:16.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0942984, teldec = -24.256605
2025-11-03T09:52:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0942984 -24.256605
2025-11-03T09:52:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0942984 -24.256605
2025-11-03T09:52:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0942984 -24.256605
2025-11-03T09:52:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0942984;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11406;2460982.82797192;9.87130194;1.3;_15.069471592739 -24.1563284093667
2025-11-03T09:52:16.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.069471592739     dec_j2k = -24.1563284093667
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968009081022956;171.162357330327;_
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968009081022956;171.162357330327;_
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43599)
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:16.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:16.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:16.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:16.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8279719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968009081022956, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0942984, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11406, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:51:18.125329', telescope_ra_j2k=15.069471592739, telescope_dec_j2k=-24.1563284093667, observability=1)
2025-11-03T09:52:16.860 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:52:16.860 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.07444381713867188s
2025-11-03T09:52:16.860 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.07444381713867188
2025-11-03T09:52:16.860 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.541552782058716 seconds ago
2025-11-03T09:52:17.219 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:17
2025-11-03T09:52:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43380165100097656s
2025-11-03T09:52:17.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43380165100097656
2025-11-03T09:52:17.241 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:17
2025-11-03T09:52:17.241 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:17.241 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4555060863494873s
2025-11-03T09:52:17.241 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4555060863494873
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:18.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:18.268 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:18.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:18.269 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:18.269 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:18.269 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:18.269 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:52:18.269 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:18.269 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:18.269 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:18.269 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:18.269 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:52:18.270 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:52:18.271 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:18
2025-11-03T09:52:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9777088165283203s
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.094858;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11462;2460982.82799498;9.87186;1.3;_
2025-11-03T09:52:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.094858;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11462;2460982.82799498;9.87186;1.3;_
2025-11-03T09:52:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.094858, teldec = -24.256605
2025-11-03T09:52:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.094858 -24.256605
2025-11-03T09:52:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.094858 -24.256605
2025-11-03T09:52:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.094858 -24.256605
2025-11-03T09:52:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.094858;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11462;2460982.827995;9.87186;1.3;_15.0700307427445 -24.1563430916026
2025-11-03T09:52:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0700307427445     dec_j2k = -24.1563430916026
2025-11-03T09:52:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968011086620096;171.162362694745;_
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968011086620096;171.162362694745;_
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52313)
2025-11-03T09:52:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82799498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968011086620096, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.094858, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11462, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0700307427445, telescope_dec_j2k=-24.1563430916026, observability=1)
2025-11-03T09:52:19.271 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:19.271 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:19.271 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:19.271 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:19.271 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:19.272 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:19.272 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:19.272 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:19.272 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:19.272 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:19.273 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:19.274 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:19.274 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:19.274 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:19.275 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:19.275 [DEBUG] [ThreadPoolExecutor-3428_0] [payload.py] [to_registers()] [0]
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43105)
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:19.279 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:19.286 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:19.286 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:52:19.286 [DEBUG] [ThreadPoolExecutor-3428_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:52:19.286 [DEBUG] [ThreadPoolExecutor-3428_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:52:19.286 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:19.287 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:19.287 [DEBUG] [ThreadPoolExecutor-3428_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:20
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809949398040771s
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0954095;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11517;2460982.8280181;9.87241;1.3;_
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0954095;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11517;2460982.8280181;9.87241;1.3;_
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:20.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0954095, teldec = -24.256605
2025-11-03T09:52:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0954095 -24.256605
2025-11-03T09:52:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0954095 -24.256605
2025-11-03T09:52:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0954095 -24.256605
2025-11-03T09:52:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0954095;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11517;2460982.82801814;9.87241;1.3;_15.0705817993192 -24.1563575634559
2025-11-03T09:52:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0705817993192     dec_j2k = -24.1563575634559
2025-11-03T09:52:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968012691097808;171.162362694745;_
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968012691097808;171.162362694745;_
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:20.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58827)
2025-11-03T09:52:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:20.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:20.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:20.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:20.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:20.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8280181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968012691097808, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0954095, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0705817993192, telescope_dec_j2k=-24.1563575634559, observability=1)
2025-11-03T09:52:21.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:21
2025-11-03T09:52:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6493930816650391s
2025-11-03T09:52:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6493930816650391
2025-11-03T09:52:21.454 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:21
2025-11-03T09:52:21.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:21.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6749973297119141s
2025-11-03T09:52:21.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6749973297119141
2025-11-03T09:52:22.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:22
2025-11-03T09:52:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9903969764709473s
2025-11-03T09:52:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0959699;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11574;2460982.82804133;9.87296889;1.3;_
2025-11-03T09:52:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0959699;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11574;2460982.82804133;9.87296889;1.3;_
2025-11-03T09:52:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:22.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0959699, teldec = -24.256605
2025-11-03T09:52:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0959699 -24.256605
2025-11-03T09:52:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0959699 -24.256605
2025-11-03T09:52:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0959699 -24.256605
2025-11-03T09:52:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0959699;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11574;2460982.82804135;9.87296889;1.3;_15.0711417487944 -24.1563722710263
2025-11-03T09:52:22.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0711417487944     dec_j2k = -24.1563722710263
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968013493336664;171.162357330327;_
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968013493336664;171.162357330327;_
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35217)
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:22.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:22.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:22.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82804133, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968013493336664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0959699, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11574, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0711417487944, telescope_dec_j2k=-24.1563722710263, observability=1)
2025-11-03T09:52:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:23
2025-11-03T09:52:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5756659507751465s
2025-11-03T09:52:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5756659507751465
2025-11-03T09:52:23.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:23
2025-11-03T09:52:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6008527278900146s
2025-11-03T09:52:23.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6008527278900146
2025-11-03T09:52:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:24
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9753413200378418s
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:24.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:24.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0965295;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11629;2460982.82806438;9.87352694;1.3;_
2025-11-03T09:52:24.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0965295;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11629;2460982.82806438;9.87352694;1.3;_
2025-11-03T09:52:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:24.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0965295, teldec = -24.256605
2025-11-03T09:52:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0965295 -24.256605
2025-11-03T09:52:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0965295 -24.256605
2025-11-03T09:52:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0965295 -24.256605
2025-11-03T09:52:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0965295;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11629;2460982.82806441;9.87352694;1.3;_15.0717008989697 -24.1563869597863
2025-11-03T09:52:24.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0717008989697     dec_j2k = -24.1563869597863
2025-11-03T09:52:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968007877664671;171.162357330327;_
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968007877664671;171.162357330327;_
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48489)
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:24.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:24.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82806438, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968007877664671, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0965295, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11629, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0717008989697, telescope_dec_j2k=-24.1563869597863, observability=1)
2025-11-03T09:52:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:25
2025-11-03T09:52:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5797739028930664s
2025-11-03T09:52:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5797739028930664
2025-11-03T09:52:25.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:25
2025-11-03T09:52:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.60272216796875s
2025-11-03T09:52:25.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.60272216796875
2025-11-03T09:52:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:26
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791507720947266s
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0970813;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11685;2460982.82808751;9.87407722;1.3;_
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0970813;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11685;2460982.82808751;9.87407722;1.3;_
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:26.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0970813, teldec = -24.256605
2025-11-03T09:52:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0970813 -24.256605
2025-11-03T09:52:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0970813 -24.256605
2025-11-03T09:52:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0970813 -24.256605
2025-11-03T09:52:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0970813;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11685;2460982.82808753;9.87407722;1.3;_15.0722522554705 -24.1564014459448
2025-11-03T09:52:26.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0722522554705     dec_j2k = -24.1564014459448
2025-11-03T09:52:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968015097814376;171.162362694745;_
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968015097814376;171.162362694745;_
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55437)
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:26.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:26.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:26.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82808751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968015097814376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0970813, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11685, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0722522554705, telescope_dec_j2k=-24.1564014459448, observability=1)
2025-11-03T09:52:27.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:27
2025-11-03T09:52:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5813753604888916s
2025-11-03T09:52:27.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5813753604888916
2025-11-03T09:52:27.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:27
2025-11-03T09:52:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6035492420196533s
2025-11-03T09:52:27.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6035492420196533
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Status age = 1.3049981594085693s
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:28.086 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:28.087 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:28.088 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 17;15.0974456;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11721;2460982.82810287;9.87444056;1.3;_
2025-11-03T09:52:28.088 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response 17;15.0974456;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11721;2460982.82810287;9.87444056;1.3;_
2025-11-03T09:52:28.088 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:28.088 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:28.088 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:28.089 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:28.089 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:28.089 [INFO] [Thread-88754 (handle)] [driver.py] [get_status()] Telra = 15.0974456, teldec = -24.256605
2025-11-03T09:52:28.089 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0974456 -24.256605
2025-11-03T09:52:28.089 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0974456 -24.256605
2025-11-03T09:52:28.089 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0974456 -24.256605
2025-11-03T09:52:28.090 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 17;15.0974456;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11721;2460982.82810289;9.87444056;1.3;_15.0726162627014 -24.1564110109131
2025-11-03T09:52:28.090 [INFO] [Thread-88754 (handle)] [driver.py] [get_status()] ra_j2k = 15.0726162627014     dec_j2k = -24.1564110109131
2025-11-03T09:52:28.090 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:28.090 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 140;0.0968006273186959;171.162362694745;_
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response 140;0.0968006273186959;171.162362694745;_
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:28.091 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:28.092 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:28.093 [DEBUG] [Thread-88754 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:28.093 [DEBUG] [Thread-88754 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:28.093 [DEBUG] [Thread-88754 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41773)
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:28.095 [DEBUG] [Thread-88754 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:28.103 [DEBUG] [Thread-88754 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:28.103 [INFO] [Thread-88754 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82810287, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968006273186959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0974456, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11721, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0726162627014, telescope_dec_j2k=-24.1564110109131, observability=1)
2025-11-03T09:52:28.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:28
2025-11-03T09:52:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6593644618988037s
2025-11-03T09:52:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6593644618988037
2025-11-03T09:52:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:30
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.659917116165161s
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0982013;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11797;2460982.82813385;9.87519417;1.3;_
2025-11-03T09:52:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0982013;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11797;2460982.82813385;9.87519417;1.3;_
2025-11-03T09:52:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:30.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0982013, teldec = -24.256605
2025-11-03T09:52:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0982013 -24.256605
2025-11-03T09:52:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0982013 -24.256605
2025-11-03T09:52:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0982013 -24.256605
2025-11-03T09:52:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0982013;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11797;2460982.82813388;9.87519417;1.3;_15.0733713554609 -24.1564308553305
2025-11-03T09:52:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0733713554609     dec_j2k = -24.1564308553305
2025-11-03T09:52:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968021515725225;171.162351965909;_
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968021515725225;171.162351965909;_
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:30.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38925)
2025-11-03T09:52:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:30.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:30.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:30.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:30.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:30.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:30.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82813385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968021515725225, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0982013, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0733713554609, telescope_dec_j2k=-24.1564308553305, observability=1)
2025-11-03T09:52:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:32
2025-11-03T09:52:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848222732543945s
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0987539;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11852;2460982.82815701;9.87574528;1.3;_
2025-11-03T09:52:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0987539;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11852;2460982.82815701;9.87574528;1.3;_
2025-11-03T09:52:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0987539, teldec = -24.256605
2025-11-03T09:52:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0987539 -24.256605
2025-11-03T09:52:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0987539 -24.256605
2025-11-03T09:52:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0987539 -24.256605
2025-11-03T09:52:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0987539;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11852;2460982.82815704;9.87574528;1.3;_15.0739235114865 -24.1564453689325
2025-11-03T09:52:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0739235114865     dec_j2k = -24.1564453689325
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968016702292089;171.162351965909;_
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968016702292089;171.162351965909;_
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59931)
2025-11-03T09:52:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:32.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:32.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82815701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968016702292089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0987539, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11852, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0739235114865, telescope_dec_j2k=-24.1564453689325, observability=1)
2025-11-03T09:52:34.546 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:34
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.76314377784729s
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:34.546 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:34.547 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0992592;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11902;2460982.82817763;9.87624917;1.3;_
2025-11-03T09:52:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0992592;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11902;2460982.82817763;9.87624917;1.3;_
2025-11-03T09:52:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:34.548 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:34.549 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0992592, teldec = -24.256605
2025-11-03T09:52:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0992592 -24.256605
2025-11-03T09:52:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0992592 -24.256605
2025-11-03T09:52:34.549 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0992592 -24.256605
2025-11-03T09:52:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0992592;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11902;2460982.82817766;9.87624917;1.3;_15.0744284055629 -24.1564586421001
2025-11-03T09:52:34.550 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0744284055629     dec_j2k = -24.1564586421001
2025-11-03T09:52:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968013092217236;171.162357330327;_
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968013092217236;171.162357330327;_
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44253)
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:34.558 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:34.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:34.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:34.565 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:34.565 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:34.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:34.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:34.566 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:34.566 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:34.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:34.566 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82817763, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968013092217236, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0992592, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11902, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0744284055629, telescope_dec_j2k=-24.1564586421001, observability=1)
2025-11-03T09:52:34.588 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:34
2025-11-03T09:52:34.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:34.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02193593978881836s
2025-11-03T09:52:34.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02193593978881836
2025-11-03T09:52:34.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:34
2025-11-03T09:52:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19707250595092773s
2025-11-03T09:52:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19707250595092773
2025-11-03T09:52:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:36
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7951998710632324s
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0997542;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11952;2460982.82819863;9.87674278;1.3;_
2025-11-03T09:52:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.0997542;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11952;2460982.82819863;9.87674278;1.3;_
2025-11-03T09:52:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.0997542, teldec = -24.256605
2025-11-03T09:52:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.0997542 -24.256605
2025-11-03T09:52:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.0997542 -24.256605
2025-11-03T09:52:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.0997542 -24.256605
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.0997542;-24.256605;50.10855;89.993052;50.08601;90.12017;12.11952;2460982.82819867;9.87674278;1.3;_15.0749230079584 -24.1564716464335
2025-11-03T09:52:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0749230079584     dec_j2k = -24.1564716464335
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968016702292089;171.162351965909;_
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968016702292089;171.162351965909;_
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57251)
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:36.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:36.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82819863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968016702292089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.0997542, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.11952, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0749230079584, telescope_dec_j2k=-24.1564716464335, observability=1)
2025-11-03T09:52:36.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:36
2025-11-03T09:52:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0223846435546875s
2025-11-03T09:52:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0223846435546875
2025-11-03T09:52:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:36
2025-11-03T09:52:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3810093402862549s
2025-11-03T09:52:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3810093402862549
2025-11-03T09:52:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:38
2025-11-03T09:52:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9800715446472168s
2025-11-03T09:52:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1003149;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12008;2460982.82822178;9.87730194;1.3;_
2025-11-03T09:52:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1003149;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12008;2460982.82822178;9.87730194;1.3;_
2025-11-03T09:52:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1003149, teldec = -24.256605
2025-11-03T09:52:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1003149 -24.256605
2025-11-03T09:52:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1003149 -24.256605
2025-11-03T09:52:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1003149 -24.256605
2025-11-03T09:52:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1003149;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12008;2460982.82822182;9.87730194;1.3;_15.0754832576349 -24.1564863788585
2025-11-03T09:52:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0754832576349     dec_j2k = -24.1564863788585
2025-11-03T09:52:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968019109008657;171.162373423581;_
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968019109008657;171.162373423581;_
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37073)
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82822178, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968019109008657, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1003149, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12008, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0754832576349, telescope_dec_j2k=-24.1564863788585, observability=1)
2025-11-03T09:52:38.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:38
2025-11-03T09:52:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02266716957092285s
2025-11-03T09:52:38.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02266716957092285
2025-11-03T09:52:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:38
2025-11-03T09:52:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3832395076751709s
2025-11-03T09:52:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3832395076751709
2025-11-03T09:52:40.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:40
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984102487564087s
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.100875;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12064;2460982.82824496;9.87786056;1.3;_
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.100875;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12064;2460982.82824496;9.87786056;1.3;_
2025-11-03T09:52:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:40.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.100875, teldec = -24.256605
2025-11-03T09:52:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.100875 -24.256605
2025-11-03T09:52:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.100875 -24.256605
2025-11-03T09:52:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.100875 -24.256605
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.100875;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12064;2460982.828245;9.87786056;1.3;_15.0760429078502 -24.1565010977051
2025-11-03T09:52:40.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0760429078502     dec_j2k = -24.1565010977051
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968016702292089;171.162357330327;_
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968016702292089;171.162357330327;_
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:40.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42899)
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:40.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:40.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82824496, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968016702292089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.100875, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12064, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0760429078502, telescope_dec_j2k=-24.1565010977051, observability=1)
2025-11-03T09:52:40.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:40
2025-11-03T09:52:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024467945098876953s
2025-11-03T09:52:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024467945098876953
2025-11-03T09:52:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:40
2025-11-03T09:52:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3859107494354248s
2025-11-03T09:52:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3859107494354248
2025-11-03T09:52:42.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:42
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9864540100097656s
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1014257;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12119;2460982.82826814;9.87840972;1.3;_
2025-11-03T09:52:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1014257;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12119;2460982.82826814;9.87840972;1.3;_
2025-11-03T09:52:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:42.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1014257, teldec = -24.256605
2025-11-03T09:52:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1014257 -24.256605
2025-11-03T09:52:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1014257 -24.256605
2025-11-03T09:52:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1014257 -24.256605
2025-11-03T09:52:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1014257;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12119;2460982.82826816;9.87840972;1.3;_15.0765931656697 -24.1565155716598
2025-11-03T09:52:42.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0765931656697     dec_j2k = -24.1565155716598
2025-11-03T09:52:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968020713486369;171.162346601491;_
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968020713486369;171.162346601491;_
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39237)
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:42.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82826814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968020713486369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1014257, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12119, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0765931656697, telescope_dec_j2k=-24.1565155716598, observability=1)
2025-11-03T09:52:42.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:42
2025-11-03T09:52:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024905920028686523s
2025-11-03T09:52:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024905920028686523
2025-11-03T09:52:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:42
2025-11-03T09:52:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3806185722351074s
2025-11-03T09:52:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3806185722351074
2025-11-03T09:52:44.287 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:44.287 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:44.287 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:44.287 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:44.287 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:44.288 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:52:44.289 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:52:44.290 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:44.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:44
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983595848083496s
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.101987;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12175;2460982.82829126;9.87896944;1.3;_
2025-11-03T09:52:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.101987;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12175;2460982.82829126;9.87896944;1.3;_
2025-11-03T09:52:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:44.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.101987, teldec = -24.256605
2025-11-03T09:52:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.101987 -24.256605
2025-11-03T09:52:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.101987 -24.256605
2025-11-03T09:52:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.101987 -24.256605
2025-11-03T09:52:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.101987;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12175;2460982.8282913;9.87896944;1.3;_15.0771540150348 -24.1565303263859
2025-11-03T09:52:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0771540150348     dec_j2k = -24.1565303263859
2025-11-03T09:52:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968021916844653;171.162357330327;_
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968021916844653;171.162357330327;_
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59253)
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:44.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:44.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82829126, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968021916844653, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.101987, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0771540150348, telescope_dec_j2k=-24.1565303263859, observability=1)
2025-11-03T09:52:44.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:44
2025-11-03T09:52:44.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:44.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021665334701538086s
2025-11-03T09:52:44.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021665334701538086
2025-11-03T09:52:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:44
2025-11-03T09:52:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3791990280151367s
2025-11-03T09:52:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3791990280151367
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Status age = 1.7570319175720215s
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:46.139 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:46.140 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 17;15.1024635;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12223;2460982.82831182;9.87944472;1.3;_
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response 17;15.1024635;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12223;2460982.82831182;9.87944472;1.3;_
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:46.141 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:46.142 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:46.142 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:46.142 [INFO] [Thread-88755 (handle)] [driver.py] [get_status()] Telra = 15.1024635, teldec = -24.256605
2025-11-03T09:52:46.142 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1024635 -24.256605
2025-11-03T09:52:46.142 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1024635 -24.256605
2025-11-03T09:52:46.142 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1024635 -24.256605
2025-11-03T09:52:46.143 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 17;15.1024635;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12223;2460982.82831184;9.87944472;1.3;_15.0776301325258 -24.1565428537212
2025-11-03T09:52:46.143 [INFO] [Thread-88755 (handle)] [driver.py] [get_status()] ra_j2k = 15.0776301325258     dec_j2k = -24.1565428537212
2025-11-03T09:52:46.143 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:46.143 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:46.143 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 140;0.0968025526919506;171.162357330327;_
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response 140;0.0968025526919506;171.162357330327;_
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:46.144 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:46.145 [DEBUG] [Thread-88755 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:46.148 [DEBUG] [Thread-88755 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59057)
2025-11-03T09:52:46.148 [DEBUG] [Thread-88755 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:46.148 [DEBUG] [Thread-88755 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:46.149 [DEBUG] [Thread-88755 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:46.149 [DEBUG] [Thread-88755 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:46.149 [DEBUG] [Thread-88755 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:46.156 [DEBUG] [Thread-88755 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:46.156 [INFO] [Thread-88755 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82831182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968025526919506, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1024635, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0776301325258, telescope_dec_j2k=-24.1565428537212, observability=1)
2025-11-03T09:52:46.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:46
2025-11-03T09:52:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2019650936126709s
2025-11-03T09:52:46.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2019650936126709
2025-11-03T09:52:46.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:46
2025-11-03T09:52:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22293949127197266s
2025-11-03T09:52:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22293949127197266
2025-11-03T09:52:46.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:46
2025-11-03T09:52:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.627507209777832s
2025-11-03T09:52:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.627507209777832
2025-11-03T09:52:48.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:48
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2048087120056152s
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1030989;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12286;2460982.82833752;9.88007833;1.3;_
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1030989;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12286;2460982.82833752;9.88007833;1.3;_
2025-11-03T09:52:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1030989, teldec = -24.256605
2025-11-03T09:52:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1030989 -24.256605
2025-11-03T09:52:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1030989 -24.256605
2025-11-03T09:52:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1030989 -24.256605
2025-11-03T09:52:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1030989;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12286;2460982.82833756;9.88007833;1.3;_15.0782650225244 -24.1565595610471
2025-11-03T09:52:48.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0782650225244     dec_j2k = -24.1565595610471
2025-11-03T09:52:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968025928038934;171.162357330327;_
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968025928038934;171.162357330327;_
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46493)
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:48.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:48.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:48.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:48.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:48.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:48.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:48.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:48.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82833752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968025928038934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1030989, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12286, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0782650225244, telescope_dec_j2k=-24.1565595610471, observability=1)
2025-11-03T09:52:48.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:48
2025-11-03T09:52:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023816823959350586s
2025-11-03T09:52:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023816823959350586
2025-11-03T09:52:48.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:48
2025-11-03T09:52:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3831934928894043s
2025-11-03T09:52:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3831934928894043
2025-11-03T09:52:49.379 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:49.379 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Status age = 1.001709222793579s
2025-11-03T09:52:49.379 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:49.380 [DEBUG] [Thread-88756 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:49.380 [DEBUG] [Thread-88756 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:49.380 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:49.380 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:49.380 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:49.381 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:49.382 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 17;15.1033794;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12314;2460982.82834933;9.88035806;1.3;_
2025-11-03T09:52:49.382 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response 17;15.1033794;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12314;2460982.82834933;9.88035806;1.3;_
2025-11-03T09:52:49.382 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:49.382 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:49.382 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:49.383 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:49.383 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:49.383 [INFO] [Thread-88756 (handle)] [driver.py] [get_status()] Telra = 15.1033794, teldec = -24.256605
2025-11-03T09:52:49.383 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1033794 -24.256605
2025-11-03T09:52:49.383 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1033794 -24.256605
2025-11-03T09:52:49.383 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1033794 -24.256605
2025-11-03T09:52:49.384 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 17;15.1033794;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12314;2460982.82834935;9.88035806;1.3;_15.0785452974056 -24.1565669374606
2025-11-03T09:52:49.384 [INFO] [Thread-88756 (handle)] [driver.py] [get_status()] ra_j2k = 15.0785452974056     dec_j2k = -24.1565669374606
2025-11-03T09:52:49.384 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:49.385 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:49.385 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:49.385 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 140;0.0968029136994358;171.162362694745;_
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response 140;0.0968029136994358;171.162362694745;_
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:49.386 [DEBUG] [Thread-88756 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:49.387 [DEBUG] [Thread-88756 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51747)
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:49.392 [DEBUG] [Thread-88756 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:49.399 [DEBUG] [Thread-88756 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:49.399 [DEBUG] [Thread-88756 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:49.399 [DEBUG] [Thread-88756 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:49.399 [DEBUG] [Thread-88756 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:49.399 [DEBUG] [Thread-88756 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:49.400 [DEBUG] [Thread-88756 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:49.400 [DEBUG] [Thread-88756 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:49.400 [DEBUG] [Thread-88756 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:49.400 [DEBUG] [Thread-88756 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:49.400 [INFO] [Thread-88756 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82834933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968029136994358, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1033794, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12314, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0785452974056, telescope_dec_j2k=-24.1565669374606, observability=1)
2025-11-03T09:52:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:50
2025-11-03T09:52:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9616410732269287s
2025-11-03T09:52:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9616410732269287
2025-11-03T09:52:50.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:50
2025-11-03T09:52:50.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:50.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9840590953826904s
2025-11-03T09:52:50.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9840590953826904
2025-11-03T09:52:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:50
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.364208698272705s
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1037721;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12354;2460982.82836534;9.88074972;1.3;_
2025-11-03T09:52:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1037721;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12354;2460982.82836534;9.88074972;1.3;_
2025-11-03T09:52:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1037721, teldec = -24.256605
2025-11-03T09:52:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1037721 -24.256605
2025-11-03T09:52:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1037721 -24.256605
2025-11-03T09:52:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1037721 -24.256605
2025-11-03T09:52:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1037721;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12354;2460982.82836537;9.88074972;1.3;_15.0789376822632 -24.1565772653595
2025-11-03T09:52:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0789376822632     dec_j2k = -24.1565772653595
2025-11-03T09:52:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968027933636074;171.162357330327;_
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968027933636074;171.162357330327;_
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43775)
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:50.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:50.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:50.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82836534, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968027933636074, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1037721, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12354, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0789376822632, telescope_dec_j2k=-24.1565772653595, observability=1)
2025-11-03T09:52:52.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:52
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.577498435974121s
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:52.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:52.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:52.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1041919;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12396;2460982.82838383;9.88116833;1.3;_
2025-11-03T09:52:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1041919;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12396;2460982.82838383;9.88116833;1.3;_
2025-11-03T09:52:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:52.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:52.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1041919, teldec = -24.256605
2025-11-03T09:52:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1041919 -24.256605
2025-11-03T09:52:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1041919 -24.256605
2025-11-03T09:52:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1041919 -24.256605
2025-11-03T09:52:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.10422;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12399;2460982.82838385;9.88119639;1.3;_15.0793571454041 -24.1565883071677
2025-11-03T09:52:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0793571454041     dec_j2k = -24.1565883071677
2025-11-03T09:52:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096802472468065;171.162351965909;_
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096802472468065;171.162351965909;_
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36243)
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:52.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:52.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:52.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:52.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:52.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:52.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:52.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82838383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096802472468065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1041919, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12396, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0793571454041, telescope_dec_j2k=-24.1565883071677, observability=1)
2025-11-03T09:52:52.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:52
2025-11-03T09:52:52.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:52.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022546768188476562s
2025-11-03T09:52:52.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022546768188476562
2025-11-03T09:52:52.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:52
2025-11-03T09:52:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3838531970977783s
2025-11-03T09:52:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3838531970977783
2025-11-03T09:52:54.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:54
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831793308258057s
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1047715;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12454;2460982.82840698;9.88174639;1.3;_
2025-11-03T09:52:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1047715;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12454;2460982.82840698;9.88174639;1.3;_
2025-11-03T09:52:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1047715, teldec = -24.256605
2025-11-03T09:52:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1047715 -24.256605
2025-11-03T09:52:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1047715 -24.256605
2025-11-03T09:52:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1047715 -24.256605
2025-11-03T09:52:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1047715;-24.256605;50.10855;89.993052;50.08601;90.12017;12.12454;2460982.828407;9.88174639;1.3;_15.0799362803697 -24.156603554138
2025-11-03T09:52:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0799362803697     dec_j2k = -24.156603554138
2025-11-03T09:52:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968030340352643;171.162362694745;_
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968030340352643;171.162362694745;_
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59183)
2025-11-03T09:52:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:54.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:54.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:54.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82840698, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968030340352643, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.1047715, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12454, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0799362803697, telescope_dec_j2k=-24.156603554138, observability=1)
2025-11-03T09:52:54.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:54
2025-11-03T09:52:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02251434326171875s
2025-11-03T09:52:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02251434326171875
2025-11-03T09:52:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:54
2025-11-03T09:52:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38135218620300293s
2025-11-03T09:52:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38135218620300293
2025-11-03T09:52:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:56
2025-11-03T09:52:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823217391967773s
2025-11-03T09:52:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.105333;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1251;2460982.82843013;9.88230639;1.3;_
2025-11-03T09:52:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.105333;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1251;2460982.82843013;9.88230639;1.3;_
2025-11-03T09:52:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.105333, teldec = -24.256605
2025-11-03T09:52:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.105333 -24.256605
2025-11-03T09:52:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.105333 -24.256605
2025-11-03T09:52:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.105333 -24.256605
2025-11-03T09:52:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.105333;-24.256605;50.10855;89.993052;50.08601;90.12017;12.1251;2460982.82843016;9.88230639;1.3;_15.0804973299159 -24.1566183271984
2025-11-03T09:52:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0804973299159     dec_j2k = -24.1566183271984
2025-11-03T09:52:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096802472468065;171.162346601491;_
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096802472468065;171.162346601491;_
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52287)
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:56.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:56.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:56.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:56.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:56.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82843013, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096802472468065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10855, telescope_az=89.993052, telescope_ra=15.105333, telescope_dec=-24.256605, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1251, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0804973299159, telescope_dec_j2k=-24.1566183271984, observability=1)
2025-11-03T09:52:56.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:56
2025-11-03T09:52:56.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:56.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021231651306152344s
2025-11-03T09:52:56.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021231651306152344
2025-11-03T09:52:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:56
2025-11-03T09:52:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3853445053100586s
2025-11-03T09:52:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3853445053100586
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.586271047592163s
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:52:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:52:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:52:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1057812;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12555;2460982.82844869;9.88275333;1.3;_
2025-11-03T09:52:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.1057812;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12555;2460982.82844869;9.88275333;1.3;_
2025-11-03T09:52:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:52:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:52:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:52:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:52:57.968 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.1057812, teldec = -24.256604
2025-11-03T09:52:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1057812 -24.256604
2025-11-03T09:52:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1057812 -24.256604
2025-11-03T09:52:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1057812 -24.256604
2025-11-03T09:52:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1057812;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12555;2460982.82844872;9.88275333;1.3;_15.0809451705368 -24.1566291209289
2025-11-03T09:52:57.969 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.0809451705368     dec_j2k = -24.1566291209289
2025-11-03T09:52:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:52:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:52:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968032345949783;171.162362694745;_
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968032345949783;171.162362694745;_
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:52:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:52:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:52:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36653)
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:52:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:52:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:52:57.986 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82844869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968032345949783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1057812, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12555, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0809451705368, telescope_dec_j2k=-24.1566291209289, observability=1)
2025-11-03T09:52:58.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:58
2025-11-03T09:52:58.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:58.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37726330757141113s
2025-11-03T09:52:58.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37726330757141113
2025-11-03T09:52:58.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:58
2025-11-03T09:52:58.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:58.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.399641752243042s
2025-11-03T09:52:58.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.399641752243042
2025-11-03T09:52:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:52:58
2025-11-03T09:52:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:52:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7723355293273926s
2025-11-03T09:52:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7723355293273926
2025-11-03T09:53:00.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:00
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3763480186462402s
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1064458;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12621;2460982.82847644;9.88341611;1.3;_
2025-11-03T09:53:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1064458;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12621;2460982.82847644;9.88341611;1.3;_
2025-11-03T09:53:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:00.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1064458, teldec = -24.256604
2025-11-03T09:53:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1064458 -24.256604
2025-11-03T09:53:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1064458 -24.256604
2025-11-03T09:53:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1064458 -24.256604
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1064458;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12621;2460982.82847647;9.88341611;1.3;_15.0816092375012 -24.1566466114561
2025-11-03T09:53:00.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0816092375012     dec_j2k = -24.1566466114561
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968031543710927;171.162368059163;_
2025-11-03T09:53:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968031543710927;171.162368059163;_
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:00.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42433)
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:00.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:00.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82847644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968031543710927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1064458, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12621, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0816092375012, telescope_dec_j2k=-24.1566466114561, observability=1)
2025-11-03T09:53:00.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:00
2025-11-03T09:53:00.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:00.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021689414978027344s
2025-11-03T09:53:00.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021689414978027344
2025-11-03T09:53:00.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:00
2025-11-03T09:53:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37691664695739746s
2025-11-03T09:53:00.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37691664695739746
2025-11-03T09:53:02.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:02
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789679050445557s
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1069789;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12674;2460982.82849958;9.88394778;1.3;_
2025-11-03T09:53:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1069789;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12674;2460982.82849958;9.88394778;1.3;_
2025-11-03T09:53:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1069789, teldec = -24.256604
2025-11-03T09:53:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1069789 -24.256604
2025-11-03T09:53:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1069789 -24.256604
2025-11-03T09:53:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1069789 -24.256604
2025-11-03T09:53:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1070071;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12677;2460982.82849961;9.88397583;1.3;_15.0821419099919 -24.156660643469
2025-11-03T09:53:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0821419099919     dec_j2k = -24.156660643469
2025-11-03T09:53:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968034351546923;171.162357330327;_
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968034351546923;171.162357330327;_
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52953)
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:02.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:02.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:02.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82849958, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968034351546923, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1069789, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12674, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0821419099919, telescope_dec_j2k=-24.156660643469, observability=1)
2025-11-03T09:53:02.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:02
2025-11-03T09:53:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021359920501708984s
2025-11-03T09:53:02.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021359920501708984
2025-11-03T09:53:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:02
2025-11-03T09:53:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38002610206604004s
2025-11-03T09:53:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38002610206604004
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Status age = 1.816481590270996s
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:04.196 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:04.197 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:04.198 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 17;15.1075029;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12727;2460982.82852081;9.88447028;1.3;_
2025-11-03T09:53:04.198 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response 17;15.1075029;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12727;2460982.82852081;9.88447028;1.3;_
2025-11-03T09:53:04.198 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:04.198 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:04.198 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:04.199 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:04.199 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:04.199 [INFO] [Thread-88757 (handle)] [driver.py] [get_status()] Telra = 15.1075029, teldec = -24.256604
2025-11-03T09:53:04.199 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1075029 -24.256604
2025-11-03T09:53:04.199 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1075029 -24.256604
2025-11-03T09:53:04.200 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1075029 -24.256604
2025-11-03T09:53:04.200 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 17;15.1075029;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12727;2460982.82852083;9.88447028;1.3;_15.0826654898306 -24.1566744378818
2025-11-03T09:53:04.200 [INFO] [Thread-88757 (handle)] [driver.py] [get_status()] ra_j2k = 15.0826654898306     dec_j2k = -24.1566744378818
2025-11-03T09:53:04.200 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 140;0.0968043978413196;171.162351965909;_
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response 140;0.0968043978413196;171.162351965909;_
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:04.201 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:04.202 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:04.203 [DEBUG] [Thread-88757 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:04.203 [DEBUG] [Thread-88757 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:04.203 [DEBUG] [Thread-88757 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53321)
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:04.207 [DEBUG] [Thread-88757 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:04.214 [DEBUG] [Thread-88757 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:04.214 [INFO] [Thread-88757 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82852081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968043978413196, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1075029, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0826654898306, telescope_dec_j2k=-24.1566744378818, observability=1)
2025-11-03T09:53:04.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:04
2025-11-03T09:53:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1454625129699707s
2025-11-03T09:53:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1454625129699707
2025-11-03T09:53:04.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:04
2025-11-03T09:53:04.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:04.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16750335693359375s
2025-11-03T09:53:04.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16750335693359375
2025-11-03T09:53:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:04
2025-11-03T09:53:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5480506420135498s
2025-11-03T09:53:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5480506420135498
2025-11-03T09:53:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:06
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1474437713623047s
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1081196;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12788;2460982.82854587;9.88508528;1.3;_
2025-11-03T09:53:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1081196;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12788;2460982.82854587;9.88508528;1.3;_
2025-11-03T09:53:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1081196, teldec = -24.256604
2025-11-03T09:53:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1081196 -24.256604
2025-11-03T09:53:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1081196 -24.256604
2025-11-03T09:53:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1081196 -24.256604
2025-11-03T09:53:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1081196;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12788;2460982.82854589;9.88508528;1.3;_15.0832816954033 -24.1566906750878
2025-11-03T09:53:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0832816954033     dec_j2k = -24.1566906750878
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968037560502348;171.162346601491;_
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968037560502348;171.162346601491;_
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54019)
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:06.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:06.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82854587, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968037560502348, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1081196, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12788, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0832816954033, telescope_dec_j2k=-24.1566906750878, observability=1)
2025-11-03T09:53:06.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:06
2025-11-03T09:53:06.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:06.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025324344635009766s
2025-11-03T09:53:06.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025324344635009766
2025-11-03T09:53:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:06
2025-11-03T09:53:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38950228691101074s
2025-11-03T09:53:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38950228691101074
2025-11-03T09:53:08.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:08
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9842760562896729s
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1086705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12844;2460982.828569;9.88563472;1.3;_
2025-11-03T09:53:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1086705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12844;2460982.828569;9.88563472;1.3;_
2025-11-03T09:53:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1086705, teldec = -24.256604
2025-11-03T09:53:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1086705 -24.256604
2025-11-03T09:53:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1086705 -24.256604
2025-11-03T09:53:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1086705 -24.256604
2025-11-03T09:53:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1086705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12844;2460982.82856904;9.88563472;1.3;_15.0838321537884 -24.1567051820695
2025-11-03T09:53:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0838321537884     dec_j2k = -24.1567051820695
2025-11-03T09:53:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968040769457772;171.162357330327;_
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968040769457772;171.162357330327;_
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45037)
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:08.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:08.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:08.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.828569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968040769457772, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1086705, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12844, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0838321537884, telescope_dec_j2k=-24.1567051820695, observability=1)
2025-11-03T09:53:08.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:08
2025-11-03T09:53:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02256488800048828s
2025-11-03T09:53:08.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02256488800048828
2025-11-03T09:53:08.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:08
2025-11-03T09:53:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37517571449279785s
2025-11-03T09:53:08.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37517571449279785
2025-11-03T09:53:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:10
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791877269744873s
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1092318;-24.256604;50.108549;89.993052;50.08601;90.12017;12.129;2460982.82859216;9.88619444;1.3;_
2025-11-03T09:53:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1092318;-24.256604;50.108549;89.993052;50.08601;90.12017;12.129;2460982.82859216;9.88619444;1.3;_
2025-11-03T09:53:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1092318, teldec = -24.256604
2025-11-03T09:53:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1092318 -24.256604
2025-11-03T09:53:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1092318 -24.256604
2025-11-03T09:53:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1092318 -24.256604
2025-11-03T09:53:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1092318;-24.256604;50.108549;89.993052;50.08601;90.12017;12.129;2460982.82859219;9.88619444;1.3;_15.0843930038935 -24.1567199650867
2025-11-03T09:53:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0843930038935     dec_j2k = -24.1567199650867
2025-11-03T09:53:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968049192965761;171.162346601491;_
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968049192965761;171.162346601491;_
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53687)
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:10.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:10.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82859216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968049192965761, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1092318, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.129, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0843930038935, telescope_dec_j2k=-24.1567199650867, observability=1)
2025-11-03T09:53:10.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:10
2025-11-03T09:53:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022699832916259766s
2025-11-03T09:53:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022699832916259766
2025-11-03T09:53:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:10
2025-11-03T09:53:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37720513343811035s
2025-11-03T09:53:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37720513343811035
2025-11-03T09:53:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:12
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805965423583984s
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1097643;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12953;2460982.82861534;9.88672556;1.3;_
2025-11-03T09:53:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1097643;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12953;2460982.82861534;9.88672556;1.3;_
2025-11-03T09:53:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1097643, teldec = -24.256604
2025-11-03T09:53:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1097643 -24.256604
2025-11-03T09:53:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1097643 -24.256604
2025-11-03T09:53:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1097643 -24.256604
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1097643;-24.256604;50.108549;89.993052;50.08601;90.12017;12.12953;2460982.82861536;9.88672556;1.3;_15.0849250771356 -24.1567339916192
2025-11-03T09:53:12.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0849250771356     dec_j2k = -24.1567339916192
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968045984010337;171.162357330327;_
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968045984010337;171.162357330327;_
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:12.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49809)
2025-11-03T09:53:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:12.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:12.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:12.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:12.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82861534, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968045984010337, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1097643, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.12953, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0849250771356, telescope_dec_j2k=-24.1567339916192, observability=1)
2025-11-03T09:53:12.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:12
2025-11-03T09:53:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021966934204101562s
2025-11-03T09:53:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021966934204101562
2025-11-03T09:53:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:12
2025-11-03T09:53:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3827488422393799s
2025-11-03T09:53:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3827488422393799
2025-11-03T09:53:13.379 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:53:13
2025-11-03T09:53:13.379 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:13.379 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.9986591339111328s
2025-11-03T09:53:13.379 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9986591339111328
2025-11-03T09:53:14.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:14
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854168891906738s
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:14.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:14.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1103429;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13011;2460982.82863852;9.8873025;1.3;_
2025-11-03T09:53:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1103429;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13011;2460982.82863852;9.8873025;1.3;_
2025-11-03T09:53:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:14.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1103429, teldec = -24.256604
2025-11-03T09:53:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1103429 -24.256604
2025-11-03T09:53:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1103429 -24.256604
2025-11-03T09:53:14.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1103429 -24.256604
2025-11-03T09:53:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1103429;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13011;2460982.82863854;9.8873025;1.3;_15.0855032134905 -24.1567492347013
2025-11-03T09:53:14.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0855032134905     dec_j2k = -24.1567492347013
2025-11-03T09:53:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:14.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968057215354322;171.162368059163;_
2025-11-03T09:53:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968057215354322;171.162368059163;_
2025-11-03T09:53:14.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:14.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:14.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:14.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35687)
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:14.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:14.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:14.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:14.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:14.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:14.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:14.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:14.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:14.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:14.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82863852, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968057215354322, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1103429, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13011, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0855032134905, telescope_dec_j2k=-24.1567492347013, observability=1)
2025-11-03T09:53:14.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:14
2025-11-03T09:53:14.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:14.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02170872688293457s
2025-11-03T09:53:14.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02170872688293457
2025-11-03T09:53:14.566 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:14.566 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.18312740325927734s
2025-11-03T09:53:14.566 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18312740325927734
2025-11-03T09:53:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:14
2025-11-03T09:53:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3782637119293213s
2025-11-03T09:53:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3782637119293213
2025-11-03T09:53:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:16
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793462753295898s
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1109036;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13067;2460982.82866162;9.88786167;1.3;_
2025-11-03T09:53:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1109036;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13067;2460982.82866162;9.88786167;1.3;_
2025-11-03T09:53:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1109036, teldec = -24.256604
2025-11-03T09:53:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1109036 -24.256604
2025-11-03T09:53:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1109036 -24.256604
2025-11-03T09:53:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1109036 -24.256604
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1109036;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13067;2460982.82866164;9.88786167;1.3;_15.0860634642474 -24.1567640084312
2025-11-03T09:53:16.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0860634642474     dec_j2k = -24.1567640084312
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968058017593178;171.162357330327;_
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968058017593178;171.162357330327;_
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41119)
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:16.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:16.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:16.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:16.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:16.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82866162, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968058017593178, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1109036, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13067, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0860634642474, telescope_dec_j2k=-24.1567640084312, observability=1)
2025-11-03T09:53:16.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:16
2025-11-03T09:53:16.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:16.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02159261703491211s
2025-11-03T09:53:16.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02159261703491211
2025-11-03T09:53:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:16
2025-11-03T09:53:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3899855613708496s
2025-11-03T09:53:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3899855613708496
2025-11-03T09:53:16.920 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:53:16.920 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5390424728393555s
2025-11-03T09:53:16.920 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5390424728393555
2025-11-03T09:53:16.920 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.540947675704956 seconds ago
2025-11-03T09:53:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:18
2025-11-03T09:53:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797148704528809s
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1114637;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13123;2460982.82868476;9.88842028;1.3;_
2025-11-03T09:53:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1114637;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13123;2460982.82868476;9.88842028;1.3;_
2025-11-03T09:53:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1114637, teldec = -24.256604
2025-11-03T09:53:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1114637 -24.256604
2025-11-03T09:53:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1114637 -24.256604
2025-11-03T09:53:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1114637 -24.256604
2025-11-03T09:53:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1114637;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13123;2460982.82868478;9.88842028;1.3;_15.0866231155422 -24.1567787685325
2025-11-03T09:53:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0866231155422     dec_j2k = -24.1567787685325
2025-11-03T09:53:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968061627668031;171.162368059163;_
2025-11-03T09:53:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968061627668031;171.162368059163;_
2025-11-03T09:53:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46481)
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:18.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:18.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:18.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:18.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82868476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968061627668031, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1114637, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13123, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:52:18.266888', telescope_ra_j2k=15.0866231155422, telescope_dec_j2k=-24.1567787685325, observability=1)
2025-11-03T09:53:18.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:18
2025-11-03T09:53:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02111029624938965s
2025-11-03T09:53:18.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02111029624938965
2025-11-03T09:53:18.411 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:18.411 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:18.411 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:18.411 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:18.411 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:18.412 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:18.412 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:18.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:18.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:18.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:18.413 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:53:18.413 [INFO] [ThreadPoolExecutor-3429_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:53:18.413 [INFO] [ThreadPoolExecutor-3429_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:53:18.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:18
2025-11-03T09:53:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38039183616638184s
2025-11-03T09:53:18.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38039183616638184
2025-11-03T09:53:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:20
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3811841011047363s
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1121263;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13189;2460982.82871257;9.88908111;1.3;_
2025-11-03T09:53:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1121263;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13189;2460982.82871257;9.88908111;1.3;_
2025-11-03T09:53:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1121263, teldec = -24.256604
2025-11-03T09:53:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1121263 -24.256604
2025-11-03T09:53:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1121263 -24.256604
2025-11-03T09:53:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1121263 -24.256604
2025-11-03T09:53:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1121263;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13189;2460982.82871259;9.88908111;1.3;_15.0872851847965 -24.1567962325908
2025-11-03T09:53:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0872851847965     dec_j2k = -24.1567962325908
2025-11-03T09:53:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968062429906887;171.162351965909;_
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968062429906887;171.162351965909;_
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48965)
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:20.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:20.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82871257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968062429906887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1121263, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0872851847965, telescope_dec_j2k=-24.1567962325908, observability=1)
2025-11-03T09:53:20.871 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:20
2025-11-03T09:53:20.871 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:20.872 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08840060234069824s
2025-11-03T09:53:20.872 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08840060234069824
2025-11-03T09:53:20.893 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:20
2025-11-03T09:53:20.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:20.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11022019386291504s
2025-11-03T09:53:20.893 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11022019386291504
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Status age = 1.5579445362091064s
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:22.341 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 17;15.1125469;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13231;2460982.82873081;9.88950056;1.3;_
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response 17;15.1125469;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13231;2460982.82873081;9.88950056;1.3;_
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:22.342 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:22.343 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:22.343 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:22.343 [INFO] [Thread-88758 (handle)] [driver.py] [get_status()] Telra = 15.1125469, teldec = -24.256604
2025-11-03T09:53:22.343 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1125469 -24.256604
2025-11-03T09:53:22.343 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1125469 -24.256604
2025-11-03T09:53:22.343 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1125469 -24.256604
2025-11-03T09:53:22.344 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 17;15.1125469;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13231;2460982.82873083;9.88950056;1.3;_15.0877054479355 -24.15680731987
2025-11-03T09:53:22.344 [INFO] [Thread-88758 (handle)] [driver.py] [get_status()] ra_j2k = 15.0877054479355     dec_j2k = -24.15680731987
2025-11-03T09:53:22.344 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:22.344 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:22.344 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 140;0.0968065237742883;171.162362694745;_
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response 140;0.0968065237742883;171.162362694745;_
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:22.345 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:22.346 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:22.347 [DEBUG] [Thread-88758 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:22.347 [DEBUG] [Thread-88758 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:22.347 [DEBUG] [Thread-88758 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:22.348 [DEBUG] [Thread-88758 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50503)
2025-11-03T09:53:22.348 [DEBUG] [Thread-88758 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:22.348 [DEBUG] [Thread-88758 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:22.349 [DEBUG] [Thread-88758 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:22.349 [DEBUG] [Thread-88758 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:22.349 [DEBUG] [Thread-88758 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:22.355 [DEBUG] [Thread-88758 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:22.356 [DEBUG] [Thread-88758 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:22.356 [INFO] [Thread-88758 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82873081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968065237742883, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1125469, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0877054479355, telescope_dec_j2k=-24.15680731987, observability=1)
2025-11-03T09:53:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:22
2025-11-03T09:53:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.004095554351806641s
2025-11-03T09:53:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.004095554351806641
2025-11-03T09:53:22.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:22
2025-11-03T09:53:22.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:22.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02537393569946289s
2025-11-03T09:53:22.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02537393569946289
2025-11-03T09:53:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:22
2025-11-03T09:53:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4084157943725586s
2025-11-03T09:53:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4084157943725586
2025-11-03T09:53:24.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:24
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.005150556564331s
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1131082;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13287;2460982.82875419;9.89006028;1.3;_
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1131082;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13287;2460982.82875419;9.89006028;1.3;_
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1131082, teldec = -24.256604
2025-11-03T09:53:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1131082 -24.256604
2025-11-03T09:53:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1131082 -24.256604
2025-11-03T09:53:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1131082 -24.256604
2025-11-03T09:53:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1131082;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13287;2460982.82875421;9.89006028;1.3;_15.0882662984372 -24.1568221180028
2025-11-03T09:53:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0882662984372     dec_j2k = -24.1568221180028
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968067644459452;171.162368059163;_
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968067644459452;171.162368059163;_
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51013)
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:24.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:24.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:24.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82875419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968067644459452, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1131082, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0882662984372, telescope_dec_j2k=-24.1568221180028, observability=1)
2025-11-03T09:53:24.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:24
2025-11-03T09:53:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02510690689086914s
2025-11-03T09:53:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02510690689086914
2025-11-03T09:53:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:24
2025-11-03T09:53:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38408422470092773s
2025-11-03T09:53:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38408422470092773
2025-11-03T09:53:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:26
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3903775215148926s
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1138009;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13357;2460982.82878205;9.89075111;1.3;_
2025-11-03T09:53:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1138009;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13357;2460982.82878205;9.89075111;1.3;_
2025-11-03T09:53:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1138009, teldec = -24.256604
2025-11-03T09:53:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1138009 -24.256604
2025-11-03T09:53:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1138009 -24.256604
2025-11-03T09:53:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1138009 -24.256604
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1138009;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13357;2460982.82878207;9.89075111;1.3;_15.0889584437909 -24.1568403833852
2025-11-03T09:53:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0889584437909     dec_j2k = -24.1568403833852
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968065638862311;171.162351965909;_
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968065638862311;171.162351965909;_
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:26.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60463)
2025-11-03T09:53:26.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:26.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:26.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:26.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:26.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82878205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968065638862311, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1138009, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13357, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0889584437909, telescope_dec_j2k=-24.1568403833852, observability=1)
2025-11-03T09:53:27.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:27
2025-11-03T09:53:27.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:27.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5815050601959229s
2025-11-03T09:53:27.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5815050601959229
2025-11-03T09:53:27.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:27
2025-11-03T09:53:27.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:27.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6035890579223633s
2025-11-03T09:53:27.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6035890579223633
2025-11-03T09:53:28.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:28
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9725654125213623s
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1143338;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13413;2460982.82880512;9.89131056;1.3;_
2025-11-03T09:53:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1143338;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13413;2460982.82880512;9.89131056;1.3;_
2025-11-03T09:53:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:28.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1143338, teldec = -24.256604
2025-11-03T09:53:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1143338 -24.256604
2025-11-03T09:53:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1143338 -24.256604
2025-11-03T09:53:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1143338 -24.256604
2025-11-03T09:53:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1143619;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13413;2460982.82880514;9.89131056;1.3;_15.0894909171563 -24.1568544373663
2025-11-03T09:53:28.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0894909171563     dec_j2k = -24.1568544373663
2025-11-03T09:53:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968067243340024;171.162357330327;_
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968067243340024;171.162357330327;_
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42861)
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:28.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:28.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82880512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968067243340024, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1143338, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13413, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0894909171563, telescope_dec_j2k=-24.1568544373663, observability=1)
2025-11-03T09:53:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:29
2025-11-03T09:53:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5804319381713867s
2025-11-03T09:53:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5804319381713867
2025-11-03T09:53:29.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:29
2025-11-03T09:53:29.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:29.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6024584770202637s
2025-11-03T09:53:29.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6024584770202637
2025-11-03T09:53:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:30
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809296131134033s
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:30.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:30.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.114914;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13468;2460982.82882828;9.89186111;1.3;_
2025-11-03T09:53:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.114914;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13468;2460982.82882828;9.89186111;1.3;_
2025-11-03T09:53:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:30.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.114914, teldec = -24.256604
2025-11-03T09:53:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.114914 -24.256604
2025-11-03T09:53:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.114914 -24.256604
2025-11-03T09:53:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.114914 -24.256604
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.114914;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13468;2460982.8288283;9.89186111;1.3;_15.0900706527128 -24.1568697410145
2025-11-03T09:53:30.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0900706527128     dec_j2k = -24.1568697410145
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968074062370301;171.162357330327;_
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968074062370301;171.162357330327;_
2025-11-03T09:53:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37847)
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:30.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:30.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82882828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968074062370301, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.114914, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0900706527128, telescope_dec_j2k=-24.1568697410145, observability=1)
2025-11-03T09:53:31.670 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:31
2025-11-03T09:53:31.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:31.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8939154148101807s
2025-11-03T09:53:31.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8939154148101807
2025-11-03T09:53:31.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:31
2025-11-03T09:53:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9199144840240479s
2025-11-03T09:53:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9199144840240479
2025-11-03T09:53:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:32
2025-11-03T09:53:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:32.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983428955078125s
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.115475;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13524;2460982.8288514;9.89242056;1.3;_
2025-11-03T09:53:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.115475;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13524;2460982.8288514;9.89242056;1.3;_
2025-11-03T09:53:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.115475, teldec = -24.256604
2025-11-03T09:53:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.115475 -24.256604
2025-11-03T09:53:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.115475 -24.256604
2025-11-03T09:53:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.115475 -24.256604
2025-11-03T09:53:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.115475;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13524;2460982.82885144;9.89242056;1.3;_15.0906312036971 -24.1568845404554
2025-11-03T09:53:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0906312036971     dec_j2k = -24.1568845404554
2025-11-03T09:53:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096807205677316;171.162362694745;_
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096807205677316;171.162362694745;_
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58337)
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:32.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8288514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096807205677316, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.115475, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0906312036971, telescope_dec_j2k=-24.1568845404554, observability=1)
2025-11-03T09:53:34.549 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:34
2025-11-03T09:53:34.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:34.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7689869403839111s
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:34.550 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:34.551 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1159705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13574;2460982.82887213;9.89291472;1.3;_
2025-11-03T09:53:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1159705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13574;2460982.82887213;9.89291472;1.3;_
2025-11-03T09:53:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:34.552 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:34.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:34.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:34.553 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1159705, teldec = -24.256604
2025-11-03T09:53:34.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1159705 -24.256604
2025-11-03T09:53:34.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1159705 -24.256604
2025-11-03T09:53:34.553 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1159705 -24.256604
2025-11-03T09:53:34.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1159705;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13574;2460982.82887215;9.89291472;1.3;_15.0911263071543 -24.156897613792
2025-11-03T09:53:34.554 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0911263071543     dec_j2k = -24.156897613792
2025-11-03T09:53:34.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:34.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:34.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968080079161721;171.162357330327;_
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968080079161721;171.162357330327;_
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:34.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:34.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:34.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:34.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:34.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59449)
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:34.561 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:34.568 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:34.569 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:34.569 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82887213, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968080079161721, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1159705, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13574, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0911263071543, telescope_dec_j2k=-24.156897613792, observability=1)
2025-11-03T09:53:34.591 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:34
2025-11-03T09:53:34.591 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:34.591 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022182226181030273s
2025-11-03T09:53:34.591 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022182226181030273
2025-11-03T09:53:34.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:34
2025-11-03T09:53:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19425058364868164s
2025-11-03T09:53:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19425058364868164
2025-11-03T09:53:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:36
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.198159694671631s
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.116588;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13635;2460982.82889779;9.89353056;1.3;_
2025-11-03T09:53:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.116588;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13635;2460982.82889779;9.89353056;1.3;_
2025-11-03T09:53:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:36.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.116588, teldec = -24.256604
2025-11-03T09:53:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.116588 -24.256604
2025-11-03T09:53:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.116588 -24.256604
2025-11-03T09:53:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.116588 -24.256604
2025-11-03T09:53:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.116588;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13635;2460982.82889781;9.89353056;1.3;_15.0917433130391 -24.1569139083767
2025-11-03T09:53:36.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0917433130391     dec_j2k = -24.1569139083767
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968073661250873;171.162351965909;_
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968073661250873;171.162351965909;_
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:36.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34777)
2025-11-03T09:53:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:36.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:36.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82889779, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968073661250873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.116588, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13635, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0917433130391, telescope_dec_j2k=-24.1569139083767, observability=1)
2025-11-03T09:53:37.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:37
2025-11-03T09:53:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.577049970626831s
2025-11-03T09:53:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.577049970626831
2025-11-03T09:53:37.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:37
2025-11-03T09:53:37.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:37.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5993845462799072s
2025-11-03T09:53:37.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5993845462799072
2025-11-03T09:53:38.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:38
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984480857849121s
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1171208;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13689;2460982.82892098;9.89406194;1.3;_
2025-11-03T09:53:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1171208;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13689;2460982.82892098;9.89406194;1.3;_
2025-11-03T09:53:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:38.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1171208, teldec = -24.256604
2025-11-03T09:53:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1171208 -24.256604
2025-11-03T09:53:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1171208 -24.256604
2025-11-03T09:53:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1171208 -24.256604
2025-11-03T09:53:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1171208;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13689;2460982.82892102;9.89406194;1.3;_15.0922756867557 -24.1569279700242
2025-11-03T09:53:38.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0922756867557     dec_j2k = -24.1569279700242
2025-11-03T09:53:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968078875803437;171.162357330327;_
2025-11-03T09:53:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968078875803437;171.162357330327;_
2025-11-03T09:53:38.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:38.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52089)
2025-11-03T09:53:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:38.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:38.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:38.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82892098, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968078875803437, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1171208, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13689, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0922756867557, telescope_dec_j2k=-24.1569279700242, observability=1)
2025-11-03T09:53:39.290 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.290 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:53:39.291 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:39.292 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:39.293 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:53:39.294 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:39.295 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:39.296 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:39.296 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:39.297 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:39.297 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:39.297 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Park
2025-11-03T09:53:39.297 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:53:39.297 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:53:39.298 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 29;15.1172802;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13705;2460982.82892706;9.89422083;1.3;_Park Command Successful
2025-11-03T09:53:40.079 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:40
2025-11-03T09:53:40.079 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:40.079 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2901644706726074s
2025-11-03T09:53:40.079 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:40.079 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:40.080 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:40.080 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:40.080 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:40.080 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:40.081 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1175049;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13727;2460982.82893612;9.894445;1.3;_
2025-11-03T09:53:40.082 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1175049;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13727;2460982.82893612;9.894445;1.3;_
2025-11-03T09:53:40.082 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:40.082 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:40.082 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:40.083 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:40.083 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:40.083 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1175049, teldec = -24.256604
2025-11-03T09:53:40.083 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1175049 -24.256604
2025-11-03T09:53:40.083 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1175049 -24.256604
2025-11-03T09:53:40.083 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1175049 -24.256604
2025-11-03T09:53:40.084 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1175049;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13727;2460982.82893616;9.894445;1.3;_15.0926594794765 -24.1569381084055
2025-11-03T09:53:40.084 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0926594794765     dec_j2k = -24.1569381084055
2025-11-03T09:53:40.084 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:40.084 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:40.084 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968075666848013;171.162368059163;_
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968075666848013;171.162368059163;_
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:40.085 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:40.086 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:40.088 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58067)
2025-11-03T09:53:40.088 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:40.089 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:40.089 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:40.089 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:40.089 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:40.096 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:40.096 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:40.097 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:40.097 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82893612, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968075666848013, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1175049, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0926594794765, telescope_dec_j2k=-24.1569381084055, observability=1)
2025-11-03T09:53:40.118 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:40
2025-11-03T09:53:40.118 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:40.118 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021007776260375977s
2025-11-03T09:53:40.118 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021007776260375977
2025-11-03T09:53:40.298 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:53:40.298 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:53:40.298 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:53:40.299 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:53:40.299 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:53:40.409 [DEBUG] [Thread-88759 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:40.409 [DEBUG] [Thread-88759 (handle)] [server.py] [get_status()] Status age = 0.3119809627532959s
2025-11-03T09:53:40.409 [DEBUG] [Thread-88759 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3119809627532959
2025-11-03T09:53:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:40
2025-11-03T09:53:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6667215824127197s
2025-11-03T09:53:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6667215824127197
2025-11-03T09:53:41.299 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:53:41.300 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:53:41.300 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:53:41.301 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:53:41.301 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:53:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:41
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2647719383239746s
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:41.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:41.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.117842;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13761;2460982.82895096;9.89478111;1.3;_
2025-11-03T09:53:41.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.117842;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13761;2460982.82895096;9.89478111;1.3;_
2025-11-03T09:53:41.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:41.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:41.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:41.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:41.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:41.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.117842, teldec = -24.256604
2025-11-03T09:53:41.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.117842 -24.256604
2025-11-03T09:53:41.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.117842 -24.256604
2025-11-03T09:53:41.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.117842 -24.256604
2025-11-03T09:53:41.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.117842;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13761;2460982.82895098;9.89478111;1.3;_15.0929963098195 -24.1569470070572
2025-11-03T09:53:41.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0929963098195     dec_j2k = -24.1569470070572
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968080480281149;171.162346601491;_
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968080480281149;171.162346601491;_
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:41.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:41.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:41.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:41.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:41.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:41.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:41.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58559)
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:41.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:41.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:41.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:41.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:41.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:41.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82895096, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968080480281149, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.117842, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13761, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0929963098195, telescope_dec_j2k=-24.1569470070572, observability=1)
2025-11-03T09:53:41.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:41
2025-11-03T09:53:41.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:41.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022571563720703125s
2025-11-03T09:53:41.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022571563720703125
2025-11-03T09:53:42.301 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:53:42.301 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:53:42.301 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:53:42.302 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:53:42.302 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:53:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:42
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3823809623718262s
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:42.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1182347;-24.256604;50.108549;89.993052;50.08601;90.12017;12.138;2460982.82896718;9.89517278;1.3;_
2025-11-03T09:53:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1182347;-24.256604;50.108549;89.993052;50.08601;90.12017;12.138;2460982.82896718;9.89517278;1.3;_
2025-11-03T09:53:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:42.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1182347, teldec = -24.256604
2025-11-03T09:53:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1182347 -24.256604
2025-11-03T09:53:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1182347 -24.256604
2025-11-03T09:53:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1182347 -24.256604
2025-11-03T09:53:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1182347;-24.256604;50.108549;89.993052;50.08601;90.12017;12.138;2460982.82896721;9.89517278;1.3;_15.0933886957124 -24.1569573744127
2025-11-03T09:53:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0933886957124     dec_j2k = -24.1569573744127
2025-11-03T09:53:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968079678042293;171.162357330327;_
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968079678042293;171.162357330327;_
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60245)
2025-11-03T09:53:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82896718, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968079678042293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1182347, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.138, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0933886957124, telescope_dec_j2k=-24.1569573744127, observability=1)
2025-11-03T09:53:43.302 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:53:43.302 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:53:43.302 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:43.303 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:53:43.304 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:43.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:43
2025-11-03T09:53:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5826973915100098s
2025-11-03T09:53:43.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5826973915100098
2025-11-03T09:53:43.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:43
2025-11-03T09:53:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6044249534606934s
2025-11-03T09:53:43.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6044249534606934
2025-11-03T09:53:44.304 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:44.305 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:53:44.306 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:53:44.307 [DEBUG] [ThreadPoolExecutor-3428_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:44.307 [INFO] [ThreadPoolExecutor-3428_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:53:44.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:44
2025-11-03T09:53:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9774360656738281s
2025-11-03T09:53:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:44.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:44.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:44.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1188146;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13858;2460982.82899028;9.89575111;1.3;_
2025-11-03T09:53:44.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1188146;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13858;2460982.82899028;9.89575111;1.3;_
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:44.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1188146, teldec = -24.256604
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1188146 -24.256604
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1188146 -24.256604
2025-11-03T09:53:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1188146 -24.256604
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1188146;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13858;2460982.8289903;9.89575111;1.3;_15.093968131922 -24.1569726858394
2025-11-03T09:53:44.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.093968131922     dec_j2k = -24.1569726858394
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968080881400577;171.162351965909;_
2025-11-03T09:53:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968080881400577;171.162351965909;_
2025-11-03T09:53:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39227)
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:44.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:44.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:44.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82899028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968080881400577, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1188146, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13858, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.093968131922, telescope_dec_j2k=-24.1569726858394, observability=1)
2025-11-03T09:53:46.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:46
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9923768043518066s
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:46.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1193497;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13911;2460982.82901353;9.89628472;1.3;_
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1193497;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13911;2460982.82901353;9.89628472;1.3;_
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:46.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1193497, teldec = -24.256604
2025-11-03T09:53:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1193497 -24.256604
2025-11-03T09:53:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1193497 -24.256604
2025-11-03T09:53:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1193497 -24.256604
2025-11-03T09:53:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1193779;-24.256604;50.108549;89.993052;50.08601;90.12017;12.13914;2460982.82901355;9.89631278;1.3;_15.0945028040162 -24.1569868164547
2025-11-03T09:53:46.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0945028040162     dec_j2k = -24.1569868164547
2025-11-03T09:53:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968086095953142;171.162362694745;_
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968086095953142;171.162362694745;_
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:46.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60101)
2025-11-03T09:53:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:46.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:46.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:46.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:46.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:46.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82901353, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968086095953142, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108549, telescope_az=89.993052, telescope_ra=15.1193497, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13911, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0945028040162, telescope_dec_j2k=-24.1569868164547, observability=1)
2025-11-03T09:53:47.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:47
2025-11-03T09:53:47.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:47.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5754914283752441s
2025-11-03T09:53:47.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5754914283752441
2025-11-03T09:53:47.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:47
2025-11-03T09:53:47.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:47.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5967791080474854s
2025-11-03T09:53:47.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5967791080474854
2025-11-03T09:53:48.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:48
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9719624519348145s
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:48.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1199296;-24.256604;50.108548;89.993052;50.08601;90.12017;12.13969;2460982.8290366;9.89686306;1.3;_
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1199296;-24.256604;50.108548;89.993052;50.08601;90.12017;12.13969;2460982.8290366;9.89686306;1.3;_
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:48.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1199296, teldec = -24.256604
2025-11-03T09:53:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1199296 -24.256604
2025-11-03T09:53:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1199296 -24.256604
2025-11-03T09:53:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1199296 -24.256604
2025-11-03T09:53:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1199296;-24.256604;50.108548;89.993052;50.08601;90.12017;12.13969;2460982.82903662;9.89686306;1.3;_15.095082240344 -24.1570021323638
2025-11-03T09:53:48.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.095082240344     dec_j2k = -24.1570021323638
2025-11-03T09:53:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096808449147543;171.162362694745;_
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096808449147543;171.162362694745;_
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:48.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47073)
2025-11-03T09:53:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:48.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:48.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:48.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:48.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:48.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8290366, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096808449147543, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1199296, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.13969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.095082240344, telescope_dec_j2k=-24.1570021323638, observability=1)
2025-11-03T09:53:49.448 [DEBUG] [Thread-88760 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:49.448 [DEBUG] [Thread-88760 (handle)] [server.py] [get_status()] Status age = 0.6693954467773438s
2025-11-03T09:53:49.448 [DEBUG] [Thread-88760 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6693954467773438
2025-11-03T09:53:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:50
2025-11-03T09:53:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843156337738037s
2025-11-03T09:53:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1204909;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14026;2460982.82905978;9.89742278;1.3;_
2025-11-03T09:53:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1204909;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14026;2460982.82905978;9.89742278;1.3;_
2025-11-03T09:53:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1204909, teldec = -24.256604
2025-11-03T09:53:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1204909 -24.256604
2025-11-03T09:53:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1204909 -24.256604
2025-11-03T09:53:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1204909 -24.256604
2025-11-03T09:53:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1204909;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14026;2460982.8290598;9.89742278;1.3;_15.0956430916024 -24.1570169592426
2025-11-03T09:53:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0956430916024     dec_j2k = -24.1570169592426
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968087700430854;171.162362694745;_
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968087700430854;171.162362694745;_
2025-11-03T09:53:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35543)
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:50.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:50.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:50.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:50.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82905978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968087700430854, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1204909, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14026, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0956430916024, telescope_dec_j2k=-24.1570169592426, observability=1)
2025-11-03T09:53:51.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:51
2025-11-03T09:53:51.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:51.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8879861831665039s
2025-11-03T09:53:51.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8879861831665039
2025-11-03T09:53:51.692 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:51
2025-11-03T09:53:51.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:51.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9102673530578613s
2025-11-03T09:53:51.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9102673530578613
2025-11-03T09:53:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:52
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830222129821777s
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1210427;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14081;2460982.82908294;9.89797306;1.3;_
2025-11-03T09:53:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1210427;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14081;2460982.82908294;9.89797306;1.3;_
2025-11-03T09:53:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1210427, teldec = -24.256604
2025-11-03T09:53:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1210427 -24.256604
2025-11-03T09:53:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1210427 -24.256604
2025-11-03T09:53:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1210427 -24.256604
2025-11-03T09:53:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1210427;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14081;2460982.82908296;9.89797306;1.3;_15.0961944505119 -24.1570315373047
2025-11-03T09:53:52.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0961944505119     dec_j2k = -24.1570315373047
2025-11-03T09:53:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968088502669711;171.162362694745;_
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968088502669711;171.162362694745;_
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57767)
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:52.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82908294, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968088502669711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1210427, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14081, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0961944505119, telescope_dec_j2k=-24.1570315373047, observability=1)
2025-11-03T09:53:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:54
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809095859527588s
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1216037;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14137;2460982.82910606;9.8985325;1.3;_
2025-11-03T09:53:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1216037;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14137;2460982.82910606;9.8985325;1.3;_
2025-11-03T09:53:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1216037, teldec = -24.256604
2025-11-03T09:53:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1216037 -24.256604
2025-11-03T09:53:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1216037 -24.256604
2025-11-03T09:53:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1216037 -24.256604
2025-11-03T09:53:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1216037;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14137;2460982.82910609;9.8985325;1.3;_15.0967550021243 -24.1570463605854
2025-11-03T09:53:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0967550021243     dec_j2k = -24.1570463605854
2025-11-03T09:53:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968090508266851;171.162357330327;_
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968090508266851;171.162357330327;_
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54541)
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:54.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:54.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82910606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968090508266851, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1216037, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0967550021243, telescope_dec_j2k=-24.1570463605854, observability=1)
2025-11-03T09:53:55.036 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:55
2025-11-03T09:53:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2551910877227783s
2025-11-03T09:53:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2551910877227783
2025-11-03T09:53:55.058 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:55
2025-11-03T09:53:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27718639373779297s
2025-11-03T09:53:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27718639373779297
2025-11-03T09:53:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:56
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9803531169891357s
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1221354;-24.256604;50.108548;89.993052;50.08601;90.12017;12.1419;2460982.82912921;9.89906278;1.3;_
2025-11-03T09:53:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1221354;-24.256604;50.108548;89.993052;50.08601;90.12017;12.1419;2460982.82912921;9.89906278;1.3;_
2025-11-03T09:53:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:56.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1221354, teldec = -24.256604
2025-11-03T09:53:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1221354 -24.256604
2025-11-03T09:53:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1221354 -24.256604
2025-11-03T09:53:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1221354 -24.256604
2025-11-03T09:53:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1221354;-24.256604;50.108548;89.993052;50.08601;90.12017;12.1419;2460982.82912924;9.89906278;1.3;_15.0972862772083 -24.1570604116858
2025-11-03T09:53:56.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0972862772083     dec_j2k = -24.1570604116858
2025-11-03T09:53:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968090508266851;171.162362694745;_
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968090508266851;171.162362694745;_
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:53:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33987)
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:56.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:56.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82912921, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968090508266851, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1221354, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1419, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0972862772083, telescope_dec_j2k=-24.1570604116858, observability=1)
2025-11-03T09:53:57.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:57
2025-11-03T09:53:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.579775333404541s
2025-11-03T09:53:57.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.579775333404541
2025-11-03T09:53:57.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:57
2025-11-03T09:53:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6019628047943115s
2025-11-03T09:53:57.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6019628047943115
2025-11-03T09:53:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.1975486278533936s
2025-11-03T09:53:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:53:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:53:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:53:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:53:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1224713;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14224;2460982.82914331;9.89939778;1.3;_
2025-11-03T09:53:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.1224713;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14224;2460982.82914331;9.89939778;1.3;_
2025-11-03T09:53:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:53:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:53:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:53:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:53:57.983 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.1224713, teldec = -24.256604
2025-11-03T09:53:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1224713 -24.256604
2025-11-03T09:53:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1224713 -24.256604
2025-11-03T09:53:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1224713 -24.256604
2025-11-03T09:53:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1224713;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14224;2460982.82914333;9.89939778;1.3;_15.0976219087954 -24.1570692894388
2025-11-03T09:53:57.984 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.0976219087954     dec_j2k = -24.1570692894388
2025-11-03T09:53:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:53:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:53:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968086095953142;171.162351965909;_
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968086095953142;171.162351965909;_
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:53:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:53:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:53:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:53:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43219)
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:53:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:53:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:53:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:57.997 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:53:57.998 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:53:57.998 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82914331, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968086095953142, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1224713, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14224, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0976219087954, telescope_dec_j2k=-24.1570692894388, observability=1)
2025-11-03T09:53:58.477 [DEBUG] [Thread-88761 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:58.477 [DEBUG] [Thread-88761 (handle)] [server.py] [get_status()] Status age = 0.4792616367340088s
2025-11-03T09:53:58.477 [DEBUG] [Thread-88761 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4792616367340088
2025-11-03T09:53:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:53:58
2025-11-03T09:53:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:53:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7672607898712158s
2025-11-03T09:53:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7672607898712158
2025-11-03T09:54:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:00
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.7639894485473633s
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1232473;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14301;2460982.8291755;9.90017167;1.3;_
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1232473;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14301;2460982.8291755;9.90017167;1.3;_
2025-11-03T09:54:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1232473, teldec = -24.256604
2025-11-03T09:54:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1232473 -24.256604
2025-11-03T09:54:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1232473 -24.256604
2025-11-03T09:54:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1232473 -24.256604
2025-11-03T09:54:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1232473;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14301;2460982.82917553;9.90017167;1.3;_15.0983972887839 -24.1570898019128
2025-11-03T09:54:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0983972887839     dec_j2k = -24.1570898019128
2025-11-03T09:54:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09680969261777;171.162346601491;_
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09680969261777;171.162346601491;_
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46477)
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:00.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8291755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09680969261777, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1232473, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14301, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0983972887839, telescope_dec_j2k=-24.1570898019128, observability=1)
2025-11-03T09:54:00.978 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:00
2025-11-03T09:54:00.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:00.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19963669776916504s
2025-11-03T09:54:00.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19963669776916504
2025-11-03T09:54:01.003 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:01
2025-11-03T09:54:01.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:01.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22458624839782715s
2025-11-03T09:54:01.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22458624839782715
2025-11-03T09:54:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:02
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5826396942138672s
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1236955;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14346;2460982.82919402;9.90061861;1.3;_
2025-11-03T09:54:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1236955;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14346;2460982.82919402;9.90061861;1.3;_
2025-11-03T09:54:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1236955, teldec = -24.256604
2025-11-03T09:54:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1236955 -24.256604
2025-11-03T09:54:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1236955 -24.256604
2025-11-03T09:54:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1236955 -24.256604
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1236955;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14346;2460982.82919404;9.90061861;1.3;_15.0988451307294 -24.1571016513523
2025-11-03T09:54:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0988451307294     dec_j2k = -24.1571016513523
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968104547446833;171.162351965909;_
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968104547446833;171.162351965909;_
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33993)
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82919402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968104547446833, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1236955, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14346, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0988451307294, telescope_dec_j2k=-24.1571016513523, observability=1)
2025-11-03T09:54:02.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:02
2025-11-03T09:54:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022705554962158203s
2025-11-03T09:54:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022705554962158203
2025-11-03T09:54:02.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:02
2025-11-03T09:54:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37802982330322266s
2025-11-03T09:54:02.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37802982330322266
2025-11-03T09:54:04.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:04
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9820177555084229s
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1242551;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14402;2460982.82921719;9.90117667;1.3;_
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1242551;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14402;2460982.82921719;9.90117667;1.3;_
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:04.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1242551, teldec = -24.256604
2025-11-03T09:54:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1242551 -24.256604
2025-11-03T09:54:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1242551 -24.256604
2025-11-03T09:54:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1242551 -24.256604
2025-11-03T09:54:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1242551;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14402;2460982.82921721;9.90117667;1.3;_15.0994042837323 -24.1571164479196
2025-11-03T09:54:04.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0994042837323     dec_j2k = -24.1571164479196
2025-11-03T09:54:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968098129535984;171.162362694745;_
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968098129535984;171.162362694745;_
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48069)
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:04.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:04.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82921719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968098129535984, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1242551, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14402, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0994042837323, telescope_dec_j2k=-24.1571164479196, observability=1)
2025-11-03T09:54:04.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:04
2025-11-03T09:54:04.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:04.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022387981414794922s
2025-11-03T09:54:04.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022387981414794922
2025-11-03T09:54:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:04
2025-11-03T09:54:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3791007995605469s
2025-11-03T09:54:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3791007995605469
2025-11-03T09:54:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:06
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975973129272461s
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:06.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1248066;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14457;2460982.82924028;9.90172667;1.3;_
2025-11-03T09:54:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1248066;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14457;2460982.82924028;9.90172667;1.3;_
2025-11-03T09:54:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:06.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1248066, teldec = -24.256604
2025-11-03T09:54:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1248066 -24.256604
2025-11-03T09:54:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1248066 -24.256604
2025-11-03T09:54:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1248066 -24.256604
2025-11-03T09:54:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1248066;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14457;2460982.82924031;9.90172667;1.3;_15.0999553432614 -24.1571310324332
2025-11-03T09:54:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.0999553432614     dec_j2k = -24.1571310324332
2025-11-03T09:54:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968108157521685;171.162346601491;_
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968108157521685;171.162346601491;_
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42605)
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:06.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:06.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:06.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82924028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968108157521685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1248066, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14457, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.0999553432614, telescope_dec_j2k=-24.1571310324332, observability=1)
2025-11-03T09:54:06.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:06
2025-11-03T09:54:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02158665657043457s
2025-11-03T09:54:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02158665657043457
2025-11-03T09:54:06.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:06
2025-11-03T09:54:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3897995948791504s
2025-11-03T09:54:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3897995948791504
2025-11-03T09:54:08.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:08
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834051132202148s
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1253678;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14513;2460982.82926343;9.90228639;1.3;_
2025-11-03T09:54:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1253678;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14513;2460982.82926343;9.90228639;1.3;_
2025-11-03T09:54:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:08.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1253678, teldec = -24.256604
2025-11-03T09:54:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1253678 -24.256604
2025-11-03T09:54:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1253678 -24.256604
2025-11-03T09:54:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1253678 -24.256604
2025-11-03T09:54:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1253678;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14513;2460982.82926346;9.90228639;1.3;_15.1005160951004 -24.1571458756262
2025-11-03T09:54:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1005160951004     dec_j2k = -24.1571458756262
2025-11-03T09:54:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968109761999397;171.162351965909;_
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968109761999397;171.162351965909;_
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56143)
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:08.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:08.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:08.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:08.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:08.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82926343, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968109761999397, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1253678, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14513, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1005160951004, telescope_dec_j2k=-24.1571458756262, observability=1)
2025-11-03T09:54:08.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:08
2025-11-03T09:54:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022250652313232422s
2025-11-03T09:54:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022250652313232422
2025-11-03T09:54:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:08
2025-11-03T09:54:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3804659843444824s
2025-11-03T09:54:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3804659843444824
2025-11-03T09:54:10.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:10
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816513061523438s
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1259464;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14571;2460982.82928663;9.90286333;1.3;_
2025-11-03T09:54:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1259464;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14571;2460982.82928663;9.90286333;1.3;_
2025-11-03T09:54:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1259464, teldec = -24.256604
2025-11-03T09:54:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1259464 -24.256604
2025-11-03T09:54:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1259464 -24.256604
2025-11-03T09:54:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1259464 -24.256604
2025-11-03T09:54:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1259464;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14571;2460982.82928666;9.90286333;1.3;_15.1010942331045 -24.1571611813144
2025-11-03T09:54:10.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1010942331045     dec_j2k = -24.1571611813144
2025-11-03T09:54:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968106151924545;171.162351965909;_
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968106151924545;171.162351965909;_
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56303)
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:10.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:10.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:10.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:10.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:10.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:10.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:10.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82928663, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968106151924545, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1259464, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14571, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1010942331045, telescope_dec_j2k=-24.1571611813144, observability=1)
2025-11-03T09:54:10.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:10
2025-11-03T09:54:10.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:10.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025469303131103516s
2025-11-03T09:54:10.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025469303131103516
2025-11-03T09:54:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:10
2025-11-03T09:54:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37784671783447266s
2025-11-03T09:54:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37784671783447266
2025-11-03T09:54:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:12
2025-11-03T09:54:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3787341117858887s
2025-11-03T09:54:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1265912;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14636;2460982.8293144;9.90350639;1.3;_
2025-11-03T09:54:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1265912;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14636;2460982.8293144;9.90350639;1.3;_
2025-11-03T09:54:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1265912, teldec = -24.256604
2025-11-03T09:54:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1265912 -24.256604
2025-11-03T09:54:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1265912 -24.256604
2025-11-03T09:54:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1265912 -24.256604
2025-11-03T09:54:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.126619;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14638;2460982.82931442;9.90353417;1.3;_15.1017385183221 -24.1571782409186
2025-11-03T09:54:12.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1017385183221     dec_j2k = -24.1571782409186
2025-11-03T09:54:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968109360879969;171.162351965909;_
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968109360879969;171.162351965909;_
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60119)
2025-11-03T09:54:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:12.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:12.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:12.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8293144, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968109360879969, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1265912, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14636, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1017385183221, telescope_dec_j2k=-24.1571782409186, observability=1)
2025-11-03T09:54:13.440 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:54:13
2025-11-03T09:54:13.440 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:13.440 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.6563425064086914s
2025-11-03T09:54:13.440 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6563425064086914
2025-11-03T09:54:13.659 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:13.659 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8756101131439209s
2025-11-03T09:54:13.659 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8756101131439209
2025-11-03T09:54:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:14
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831211566925049s
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1271511;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14692;2460982.82933759;9.90406472;1.3;_
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1271511;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14692;2460982.82933759;9.90406472;1.3;_
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:14.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1271511, teldec = -24.256604
2025-11-03T09:54:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1271511 -24.256604
2025-11-03T09:54:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1271511 -24.256604
2025-11-03T09:54:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1271511 -24.256604
2025-11-03T09:54:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1271511;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14692;2460982.82933762;9.90406472;1.3;_15.1022979713822 -24.1571930566396
2025-11-03T09:54:14.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1022979713822     dec_j2k = -24.1571930566396
2025-11-03T09:54:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968109761999397;171.162357330327;_
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968109761999397;171.162357330327;_
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36717)
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:14.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:14.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:14.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82933759, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968109761999397, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1271511, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14692, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1022979713822, telescope_dec_j2k=-24.1571930566396, observability=1)
2025-11-03T09:54:15.314 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:15
2025-11-03T09:54:15.314 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:15.314 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.526623010635376s
2025-11-03T09:54:15.314 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.526623010635376
2025-11-03T09:54:15.335 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:15
2025-11-03T09:54:15.335 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:15.336 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5478341579437256s
2025-11-03T09:54:15.336 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5478341579437256
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Status age = 1.8385484218597412s
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:16.626 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:16.627 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:16.627 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:16.628 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:16.629 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 17;15.1276739;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14744;2460982.82935913;9.90458611;1.3;_
2025-11-03T09:54:16.629 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response 17;15.1276739;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14744;2460982.82935913;9.90458611;1.3;_
2025-11-03T09:54:16.629 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:16.629 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:16.629 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:16.630 [INFO] [Thread-88762 (handle)] [driver.py] [get_status()] Telra = 15.1276739, teldec = -24.256604
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1276739 -24.256604
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1276739 -24.256604
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1276739 -24.256604
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 17;15.1276739;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14744;2460982.82935914;9.90458611;1.3;_15.1028203541092 -24.1572068926017
2025-11-03T09:54:16.630 [INFO] [Thread-88762 (handle)] [driver.py] [get_status()] ra_j2k = 15.1028203541092     dec_j2k = -24.1572068926017
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:16.630 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 140;0.0968114174313106;171.162351965909;_
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response 140;0.0968114174313106;171.162351965909;_
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:16.631 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:16.632 [DEBUG] [Thread-88762 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48441)
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:16.633 [DEBUG] [Thread-88762 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:16.640 [DEBUG] [Thread-88762 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:16.640 [DEBUG] [Thread-88762 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:16.640 [DEBUG] [Thread-88762 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:16.640 [DEBUG] [Thread-88762 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:16.640 [DEBUG] [Thread-88762 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:16.641 [DEBUG] [Thread-88762 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:16.641 [DEBUG] [Thread-88762 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:16.641 [DEBUG] [Thread-88762 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:16.641 [DEBUG] [Thread-88762 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:16.641 [INFO] [Thread-88762 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82935913, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968114174313106, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1276739, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14744, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1028203541092, telescope_dec_j2k=-24.1572068926017, observability=1)
2025-11-03T09:54:16.808 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:16
2025-11-03T09:54:16.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:16.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1671733856201172s
2025-11-03T09:54:16.808 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1671733856201172
2025-11-03T09:54:16.939 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:16
2025-11-03T09:54:16.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:16.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29859304428100586s
2025-11-03T09:54:16.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29859304428100586
2025-11-03T09:54:16.980 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:54:16.980 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.33903026580810547s
2025-11-03T09:54:16.980 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.33903026580810547
2025-11-03T09:54:16.980 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5400099754333496 seconds ago
2025-11-03T09:54:17.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:17
2025-11-03T09:54:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7216212749481201s
2025-11-03T09:54:17.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7216212749481201
2025-11-03T09:54:18.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:18
2025-11-03T09:54:18.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7187771797180176s
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1281505;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14792;2460982.82937918;9.90506139;1.3;_
2025-11-03T09:54:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1281505;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14792;2460982.82937918;9.90506139;1.3;_
2025-11-03T09:54:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:18.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1281505, teldec = -24.256604
2025-11-03T09:54:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1281505 -24.256604
2025-11-03T09:54:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1281505 -24.256604
2025-11-03T09:54:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1281505 -24.256604
2025-11-03T09:54:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1281505;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14792;2460982.8293792;9.90506139;1.3;_15.1032965737543 -24.1572195075228
2025-11-03T09:54:18.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1032965737543     dec_j2k = -24.1572195075228
2025-11-03T09:54:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968114174313106;171.162346601491;_
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968114174313106;171.162346601491;_
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46229)
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:18.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.82937918, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968114174313106, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1281505, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14792, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:53:18.411059', telescope_ra_j2k=15.1032965737543, telescope_dec_j2k=-24.1572195075228, observability=1)
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:18.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:18.552 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:18.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:18.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:18.554 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:54:18.554 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:18.554 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:18.554 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:18.554 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:18.554 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:54:18.555 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:54:18.556 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:18
2025-11-03T09:54:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38509082794189453s
2025-11-03T09:54:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38509082794189453
2025-11-03T09:54:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:19
2025-11-03T09:54:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9816365242004395s
2025-11-03T09:54:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9816365242004395
2025-11-03T09:54:19.556 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:19.556 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:19.556 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:19.556 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:19.556 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:19.557 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:19.558 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:19.558 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:19.558 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:19.559 [DEBUG] [ThreadPoolExecutor-3430_0] [payload.py] [to_registers()] [0]
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50239)
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:19.561 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:19.568 [DEBUG] [ThreadPoolExecutor-3430_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:20
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832584857940674s
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:20.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1287109;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14848;2460982.82940235;9.90562028;1.3;_
2025-11-03T09:54:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1287109;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14848;2460982.82940235;9.90562028;1.3;_
2025-11-03T09:54:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1287109, teldec = -24.256604
2025-11-03T09:54:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1287109 -24.256604
2025-11-03T09:54:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1287109 -24.256604
2025-11-03T09:54:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1287109 -24.256604
2025-11-03T09:54:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1287109;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14848;2460982.82940238;9.90562028;1.3;_15.1038565265754 -24.1572343425196
2025-11-03T09:54:20.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1038565265754     dec_j2k = -24.1572343425196
2025-11-03T09:54:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968110564238254;171.162351965909;_
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968110564238254;171.162351965909;_
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40023)
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:20.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:20.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:20.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82940235, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968110564238254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1287109, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14848, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1038565265754, telescope_dec_j2k=-24.1572343425196, observability=1)
2025-11-03T09:54:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:20
2025-11-03T09:54:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38297533988952637s
2025-11-03T09:54:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38297533988952637
2025-11-03T09:54:21.521 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:21
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1409401893615723s
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:21.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1290468;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14881;2460982.82941578;9.90595528;1.3;_
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1290468;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14881;2460982.82941578;9.90595528;1.3;_
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:21.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:21.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:21.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:21.524 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1290468, teldec = -24.256604
2025-11-03T09:54:21.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1290468 -24.256604
2025-11-03T09:54:21.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1290468 -24.256604
2025-11-03T09:54:21.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1290468 -24.256604
2025-11-03T09:54:21.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1290468;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14881;2460982.8294158;9.90595528;1.3;_15.1041921585669 -24.1572432355581
2025-11-03T09:54:21.525 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1041921585669     dec_j2k = -24.1572432355581
2025-11-03T09:54:21.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:21.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:21.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968117784387958;171.162351965909;_
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968117784387958;171.162351965909;_
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:21.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:21.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:21.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:21.527 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41023)
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:21.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:21.538 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:21.538 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82941578, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968117784387958, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1290468, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14881, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1041921585669, telescope_dec_j2k=-24.1572432355581, observability=1)
2025-11-03T09:54:22.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:22
2025-11-03T09:54:22.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:22.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.827939510345459s
2025-11-03T09:54:22.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.827939510345459
2025-11-03T09:54:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:22
2025-11-03T09:54:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2241036891937256s
2025-11-03T09:54:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1293822;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14915;2460982.82943015;9.90628972;1.3;_
2025-11-03T09:54:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1293822;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14915;2460982.82943015;9.90628972;1.3;_
2025-11-03T09:54:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1293822, teldec = -24.256604
2025-11-03T09:54:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1293822 -24.256604
2025-11-03T09:54:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1293822 -24.256604
2025-11-03T09:54:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1293822 -24.256604
2025-11-03T09:54:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1293822;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14915;2460982.82943017;9.90628972;1.3;_15.104527290978 -24.1572521161374
2025-11-03T09:54:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.104527290978     dec_j2k = -24.1572521161374
2025-11-03T09:54:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096811337207425;171.162351965909;_
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096811337207425;171.162351965909;_
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:22.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60619)
2025-11-03T09:54:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:22.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:22.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:22.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:22.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82943015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096811337207425, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1293822, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14915, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.104527290978, telescope_dec_j2k=-24.1572521161374, observability=1)
2025-11-03T09:54:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:23
2025-11-03T09:54:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5799574851989746s
2025-11-03T09:54:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5799574851989746
2025-11-03T09:54:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:24
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5791339874267578s
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1298214;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14959;2460982.82944863;9.90672778;1.3;_
2025-11-03T09:54:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1298214;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14959;2460982.82944863;9.90672778;1.3;_
2025-11-03T09:54:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1298214, teldec = -24.256604
2025-11-03T09:54:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1298214 -24.256604
2025-11-03T09:54:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1298214 -24.256604
2025-11-03T09:54:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1298214 -24.256604
2025-11-03T09:54:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1298214;-24.256604;50.108548;89.993052;50.08601;90.12017;12.14959;2460982.82944866;9.90672778;1.3;_15.1049661406066 -24.1572637462652
2025-11-03T09:54:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1049661406066     dec_j2k = -24.1572637462652
2025-11-03T09:54:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968118987746243;171.162362694745;_
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968118987746243;171.162362694745;_
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36099)
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:24.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:24.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82944863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968118987746243, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1298214, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.14959, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1049661406066, telescope_dec_j2k=-24.1572637462652, observability=1)
2025-11-03T09:54:24.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:24
2025-11-03T09:54:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38264036178588867s
2025-11-03T09:54:24.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38264036178588867
2025-11-03T09:54:25.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:25
2025-11-03T09:54:25.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820096492767334s
2025-11-03T09:54:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820096492767334
2025-11-03T09:54:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:26
2025-11-03T09:54:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830186367034912s
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1303821;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15015;2460982.82947178;9.90728694;1.3;_
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1303821;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15015;2460982.82947178;9.90728694;1.3;_
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:26.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1303821, teldec = -24.256604
2025-11-03T09:54:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1303821 -24.256604
2025-11-03T09:54:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1303821 -24.256604
2025-11-03T09:54:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1303821 -24.256604
2025-11-03T09:54:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1303821;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15015;2460982.82947181;9.90728694;1.3;_15.10552639336 -24.1572785956817
2025-11-03T09:54:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.10552639336     dec_j2k = -24.1572785956817
2025-11-03T09:54:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968128614612516;171.162351965909;_
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968128614612516;171.162351965909;_
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50519)
2025-11-03T09:54:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:26.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:26.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:26.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82947178, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968128614612516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1303821, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15015, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.10552639336, telescope_dec_j2k=-24.1572785956817, observability=1)
2025-11-03T09:54:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:26
2025-11-03T09:54:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38081812858581543s
2025-11-03T09:54:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38081812858581543
2025-11-03T09:54:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:27
2025-11-03T09:54:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9778432846069336s
2025-11-03T09:54:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9778432846069336
2025-11-03T09:54:28.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:28
2025-11-03T09:54:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784326553344727s
2025-11-03T09:54:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:28.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.130942;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15071;2460982.82949493;9.90784528;1.3;_
2025-11-03T09:54:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.130942;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15071;2460982.82949493;9.90784528;1.3;_
2025-11-03T09:54:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:28.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.130942, teldec = -24.256604
2025-11-03T09:54:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.130942 -24.256604
2025-11-03T09:54:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.130942 -24.256604
2025-11-03T09:54:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.130942 -24.256604
2025-11-03T09:54:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.130942;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15071;2460982.82949495;9.90784528;1.3;_15.1060858468091 -24.1572934260796
2025-11-03T09:54:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1060858468091     dec_j2k = -24.1572934260796
2025-11-03T09:54:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968124603418235;171.162357330327;_
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968124603418235;171.162357330327;_
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34751)
2025-11-03T09:54:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:28.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:28.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:28.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82949493, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968124603418235, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.130942, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15071, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1060858468091, telescope_dec_j2k=-24.1572934260796, observability=1)
2025-11-03T09:54:28.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:28
2025-11-03T09:54:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37833619117736816s
2025-11-03T09:54:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37833619117736816
2025-11-03T09:54:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:29
2025-11-03T09:54:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9785749912261963s
2025-11-03T09:54:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9785749912261963
2025-11-03T09:54:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:30
2025-11-03T09:54:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97849440574646s
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1314929;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15126;2460982.82951808;9.90839472;1.3;_
2025-11-03T09:54:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1314929;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15126;2460982.82951808;9.90839472;1.3;_
2025-11-03T09:54:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1314929, teldec = -24.256604
2025-11-03T09:54:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1314929 -24.256604
2025-11-03T09:54:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1314929 -24.256604
2025-11-03T09:54:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1314929 -24.256604
2025-11-03T09:54:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1314929;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15126;2460982.82951811;9.90839472;1.3;_15.1066363074922 -24.1573080202037
2025-11-03T09:54:30.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1066363074922     dec_j2k = -24.1573080202037
2025-11-03T09:54:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968122998940523;171.162362694745;_
2025-11-03T09:54:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968122998940523;171.162362694745;_
2025-11-03T09:54:30.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60057)
2025-11-03T09:54:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:30.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:30.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:30.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:30.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82951808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968122998940523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1314929, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15126, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1066363074922, telescope_dec_j2k=-24.1573080202037, observability=1)
2025-11-03T09:54:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:30
2025-11-03T09:54:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38011741638183594s
2025-11-03T09:54:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38011741638183594
2025-11-03T09:54:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:31
2025-11-03T09:54:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9789471626281738s
2025-11-03T09:54:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9789471626281738
2025-11-03T09:54:32.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:32
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979151725769043s
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1320536;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15182;2460982.82954123;9.90895389;1.3;_
2025-11-03T09:54:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1320536;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15182;2460982.82954123;9.90895389;1.3;_
2025-11-03T09:54:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1320536, teldec = -24.256604
2025-11-03T09:54:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1320536 -24.256604
2025-11-03T09:54:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1320536 -24.256604
2025-11-03T09:54:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1320536 -24.256604
2025-11-03T09:54:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1320536;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15182;2460982.82954125;9.90895389;1.3;_15.1071965604175 -24.1573228760972
2025-11-03T09:54:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1071965604175     dec_j2k = -24.1573228760972
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968128213493088;171.162357330327;_
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968128213493088;171.162357330327;_
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56865)
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:32.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:32.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:32.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82954123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968128213493088, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1320536, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15182, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1071965604175, telescope_dec_j2k=-24.1573228760972, observability=1)
2025-11-03T09:54:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:32
2025-11-03T09:54:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3829827308654785s
2025-11-03T09:54:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3829827308654785
2025-11-03T09:54:33.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:33
2025-11-03T09:54:33.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9797053337097168s
2025-11-03T09:54:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9797053337097168
2025-11-03T09:54:34.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:34
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787681102752686s
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1326132;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15238;2460982.82956436;9.90951194;1.3;_
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1326132;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15238;2460982.82956436;9.90951194;1.3;_
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:34.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1326132, teldec = -24.256604
2025-11-03T09:54:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1326132 -24.256604
2025-11-03T09:54:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1326132 -24.256604
2025-11-03T09:54:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1326132 -24.256604
2025-11-03T09:54:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1326132;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15238;2460982.82956439;9.90951194;1.3;_15.1077557142774 -24.1573377050115
2025-11-03T09:54:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1077557142774     dec_j2k = -24.1573377050115
2025-11-03T09:54:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09681298179708;171.162357330327;_
2025-11-03T09:54:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09681298179708;171.162357330327;_
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57815)
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:34.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:34.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82956436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09681298179708, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1326132, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1077557142774, telescope_dec_j2k=-24.1573377050115, observability=1)
2025-11-03T09:54:34.673 [DEBUG] [Thread-88763 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:34.673 [DEBUG] [Thread-88763 (handle)] [server.py] [get_status()] Status age = 0.2949037551879883s
2025-11-03T09:54:34.673 [DEBUG] [Thread-88763 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2949037551879883
2025-11-03T09:54:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:34
2025-11-03T09:54:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3825047016143799s
2025-11-03T09:54:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3825047016143799
2025-11-03T09:54:35.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:35
2025-11-03T09:54:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9822041988372803s
2025-11-03T09:54:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9822041988372803
2025-11-03T09:54:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:36
2025-11-03T09:54:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982025384902954s
2025-11-03T09:54:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1331636;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15293;2460982.82958752;9.91006083;1.3;_
2025-11-03T09:54:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1331636;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15293;2460982.82958752;9.91006083;1.3;_
2025-11-03T09:54:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1331636, teldec = -24.256604
2025-11-03T09:54:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1331636 -24.256604
2025-11-03T09:54:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1331636 -24.256604
2025-11-03T09:54:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1331636 -24.256604
2025-11-03T09:54:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1331636;-24.256604;50.108548;89.993052;50.08601;90.12017;12.15293;2460982.82958755;9.91006083;1.3;_15.108305675528 -24.157352292244
2025-11-03T09:54:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.108305675528     dec_j2k = -24.157352292244
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968132625806797;171.162368059163;_
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968132625806797;171.162368059163;_
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49833)
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:36.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:36.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82958752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968132625806797, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108548, telescope_az=89.993052, telescope_ra=15.1331636, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15293, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.108305675528, telescope_dec_j2k=-24.157352292244, observability=1)
2025-11-03T09:54:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:36
2025-11-03T09:54:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38581037521362305s
2025-11-03T09:54:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38581037521362305
2025-11-03T09:54:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:37
2025-11-03T09:54:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835519790649414s
2025-11-03T09:54:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835519790649414
2025-11-03T09:54:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:38
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832513332366943s
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1337243;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15349;2460982.82961067;9.91062;1.3;_
2025-11-03T09:54:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1337243;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15349;2460982.82961067;9.91062;1.3;_
2025-11-03T09:54:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1337243, teldec = -24.256604
2025-11-03T09:54:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1337243 -24.256604
2025-11-03T09:54:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1337243 -24.256604
2025-11-03T09:54:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1337243 -24.256604
2025-11-03T09:54:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1337243;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15349;2460982.82961069;9.91062;1.3;_15.1088659286252 -24.1573671546084
2025-11-03T09:54:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1088659286252     dec_j2k = -24.1573671546084
2025-11-03T09:54:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968134230284509;171.162351965909;_
2025-11-03T09:54:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968134230284509;171.162351965909;_
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:38.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54335)
2025-11-03T09:54:38.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:38.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:38.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:38.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:38.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82961067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968134230284509, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1337243, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15349, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1088659286252, telescope_dec_j2k=-24.1573671546084, observability=1)
2025-11-03T09:54:38.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:38
2025-11-03T09:54:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37891507148742676s
2025-11-03T09:54:38.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37891507148742676
2025-11-03T09:54:39.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:39
2025-11-03T09:54:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9767477512359619s
2025-11-03T09:54:39.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9767477512359619
2025-11-03T09:54:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:40
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782276153564453s
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1342853;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15405;2460982.82963382;9.91117944;1.3;_
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1342853;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15405;2460982.82963382;9.91117944;1.3;_
2025-11-03T09:54:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1342853, teldec = -24.256604
2025-11-03T09:54:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1342853 -24.256604
2025-11-03T09:54:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1342853 -24.256604
2025-11-03T09:54:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1342853 -24.256604
2025-11-03T09:54:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1342853;-24.256604;50.108547;89.993052;50.08601;90.12017;12.15405;2460982.82963385;9.91117944;1.3;_15.109426481541 -24.1573820270978
2025-11-03T09:54:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.109426481541     dec_j2k = -24.1573820270978
2025-11-03T09:54:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968134230284509;171.162357330327;_
2025-11-03T09:54:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968134230284509;171.162357330327;_
2025-11-03T09:54:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42191)
2025-11-03T09:54:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:40.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:40.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:40.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:40.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82963382, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968134230284509, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1342853, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.109426481541, telescope_dec_j2k=-24.1573820270978, observability=1)
2025-11-03T09:54:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:40
2025-11-03T09:54:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38080859184265137s
2025-11-03T09:54:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38080859184265137
2025-11-03T09:54:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:41
2025-11-03T09:54:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9808399677276611s
2025-11-03T09:54:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9808399677276611
2025-11-03T09:54:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:42
2025-11-03T09:54:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813411235809326s
2025-11-03T09:54:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1348368;-24.256604;50.108547;89.993052;50.08601;90.12017;12.1546;2460982.82965696;9.91172944;1.3;_
2025-11-03T09:54:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1348368;-24.256604;50.108547;89.993052;50.08601;90.12017;12.1546;2460982.82965696;9.91172944;1.3;_
2025-11-03T09:54:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1348368, teldec = -24.256604
2025-11-03T09:54:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1348368 -24.256604
2025-11-03T09:54:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1348368 -24.256604
2025-11-03T09:54:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1348368 -24.256604
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1348368;-24.256604;50.108547;89.993052;50.08601;90.12017;12.1546;2460982.82965699;9.91172944;1.3;_15.109977542084 -24.1573966498539
2025-11-03T09:54:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.109977542084     dec_j2k = -24.1573966498539
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968141851553642;171.162362694745;_
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968141851553642;171.162362694745;_
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55885)
2025-11-03T09:54:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:42.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:42.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:42.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82965696, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968141851553642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1348368, telescope_dec=-24.256604, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1546, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.109977542084, telescope_dec_j2k=-24.1573966498539, observability=1)
2025-11-03T09:54:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:42
2025-11-03T09:54:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38491368293762207s
2025-11-03T09:54:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38491368293762207
2025-11-03T09:54:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:43
2025-11-03T09:54:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9821386337280273s
2025-11-03T09:54:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9821386337280273
2025-11-03T09:54:44.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:44
2025-11-03T09:54:44.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:44.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821045398712158s
2025-11-03T09:54:44.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1353986;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15516;2460982.82968012;9.91228972;1.3;_
2025-11-03T09:54:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1353986;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15516;2460982.82968012;9.91228972;1.3;_
2025-11-03T09:54:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1353986, teldec = -24.256603
2025-11-03T09:54:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1353986 -24.256603
2025-11-03T09:54:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1353986 -24.256603
2025-11-03T09:54:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1353986 -24.256603
2025-11-03T09:54:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1353986;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15516;2460982.82968014;9.91228972;1.3;_15.1105388946187 -24.1574105478872
2025-11-03T09:54:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1105388946187     dec_j2k = -24.1574105478872
2025-11-03T09:54:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968137840359361;171.162368059163;_
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968137840359361;171.162368059163;_
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:44.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57917)
2025-11-03T09:54:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:44.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:44.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82968012, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968137840359361, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1353986, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15516, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1105388946187, telescope_dec_j2k=-24.1574105478872, observability=1)
2025-11-03T09:54:44.568 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:44.568 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:44.568 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:44.568 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:44.569 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:54:44.570 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:54:44.571 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:44
2025-11-03T09:54:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3841526508331299s
2025-11-03T09:54:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3841526508331299
2025-11-03T09:54:45.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:45
2025-11-03T09:54:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815161228179932s
2025-11-03T09:54:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815161228179932
2025-11-03T09:54:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:46
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827625751495361s
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1359501;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15572;2460982.82970326;9.91283972;1.3;_
2025-11-03T09:54:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1359501;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15572;2460982.82970326;9.91283972;1.3;_
2025-11-03T09:54:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1359501, teldec = -24.256603
2025-11-03T09:54:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1359501 -24.256603
2025-11-03T09:54:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1359501 -24.256603
2025-11-03T09:54:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1359501 -24.256603
2025-11-03T09:54:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1359501;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15572;2460982.8297033;9.91283972;1.3;_15.1110899552746 -24.1574251748818
2025-11-03T09:54:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1110899552746     dec_j2k = -24.1574251748818
2025-11-03T09:54:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968143456031354;171.162351965909;_
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968143456031354;171.162351965909;_
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52165)
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:46.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82970326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968143456031354, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1359501, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15572, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1110899552746, telescope_dec_j2k=-24.1574251748818, observability=1)
2025-11-03T09:54:46.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:46
2025-11-03T09:54:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.385556697845459s
2025-11-03T09:54:46.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.385556697845459
2025-11-03T09:54:47.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:47
2025-11-03T09:54:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9817488193511963s
2025-11-03T09:54:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9817488193511963
2025-11-03T09:54:48.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:48
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.988269567489624s
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1365117;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15628;2460982.82972649;9.91339972;1.3;_
2025-11-03T09:54:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1365117;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15628;2460982.82972649;9.91339972;1.3;_
2025-11-03T09:54:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:48.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1365117, teldec = -24.256603
2025-11-03T09:54:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1365117 -24.256603
2025-11-03T09:54:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1365117 -24.256603
2025-11-03T09:54:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1365117 -24.256603
2025-11-03T09:54:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1365117;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15628;2460982.82972652;9.91339972;1.3;_15.1116511079418 -24.1574400719079
2025-11-03T09:54:48.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1116511079418     dec_j2k = -24.1574400719079
2025-11-03T09:54:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968142653792498;171.162357330327;_
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968142653792498;171.162357330327;_
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:48.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:48.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:48.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34737)
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:48.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:48.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82972649, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968142653792498, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1365117, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15628, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1116511079418, telescope_dec_j2k=-24.1574400719079, observability=1)
2025-11-03T09:54:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:48
2025-11-03T09:54:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37641143798828125s
2025-11-03T09:54:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37641143798828125
2025-11-03T09:54:49.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:49
2025-11-03T09:54:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9758996963500977s
2025-11-03T09:54:49.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9758996963500977
2025-11-03T09:54:49.480 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Status age = 1.094299077987671s
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:49.481 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:49.482 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:49.483 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 17;15.1368206;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15659;2460982.82973939;9.91370778;1.3;_
2025-11-03T09:54:49.483 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response 17;15.1368206;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15659;2460982.82973939;9.91370778;1.3;_
2025-11-03T09:54:49.483 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:49.483 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:49.483 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:49.484 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:49.484 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:49.484 [INFO] [Thread-88764 (handle)] [driver.py] [get_status()] Telra = 15.1368206, teldec = -24.256603
2025-11-03T09:54:49.484 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1368206 -24.256603
2025-11-03T09:54:49.484 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1368206 -24.256603
2025-11-03T09:54:49.484 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1368206 -24.256603
2025-11-03T09:54:49.485 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 17;15.1368206;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15659;2460982.82973941;9.91370778;1.3;_15.1119597619175 -24.1574482667306
2025-11-03T09:54:49.485 [INFO] [Thread-88764 (handle)] [driver.py] [get_status()] ra_j2k = 15.1119597619175     dec_j2k = -24.1574482667306
2025-11-03T09:54:49.485 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:49.485 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:49.485 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 140;0.0968141851553642;171.162351965909;_
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response 140;0.0968141851553642;171.162351965909;_
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:49.486 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:49.487 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:49.487 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:49.487 [DEBUG] [Thread-88764 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:49.487 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:49.487 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:49.488 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:49.488 [DEBUG] [Thread-88764 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:49.488 [DEBUG] [Thread-88764 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:49.488 [DEBUG] [Thread-88764 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44467)
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:49.494 [DEBUG] [Thread-88764 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:49.501 [DEBUG] [Thread-88764 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:49.501 [INFO] [Thread-88764 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82973939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968141851553642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1368206, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15659, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1119597619175, telescope_dec_j2k=-24.1574482667306, observability=1)
2025-11-03T09:54:50.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:50
2025-11-03T09:54:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8575882911682129s
2025-11-03T09:54:50.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8575882911682129
2025-11-03T09:54:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:50
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2592370510101318s
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:50.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1371846;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15695;2460982.82975419;9.91407083;1.3;_
2025-11-03T09:54:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1371846;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15695;2460982.82975419;9.91407083;1.3;_
2025-11-03T09:54:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:50.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1371846, teldec = -24.256603
2025-11-03T09:54:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1371846 -24.256603
2025-11-03T09:54:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1371846 -24.256603
2025-11-03T09:54:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1371846 -24.256603
2025-11-03T09:54:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1371846;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15695;2460982.82975422;9.91407083;1.3;_15.1123234720312 -24.1574579241488
2025-11-03T09:54:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1123234720312     dec_j2k = -24.1574579241488
2025-11-03T09:54:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968147868345063;171.162346601491;_
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968147868345063;171.162346601491;_
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34521)
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:50.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:50.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:50.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82975419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968147868345063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1371846, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15695, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1123234720312, telescope_dec_j2k=-24.1574579241488, observability=1)
2025-11-03T09:54:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:51
2025-11-03T09:54:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580651044845581s
2025-11-03T09:54:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580651044845581
2025-11-03T09:54:52.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:52
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.58418869972229s
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1376247;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15739;2460982.82977275;9.91450972;1.3;_
2025-11-03T09:54:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1376247;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15739;2460982.82977275;9.91450972;1.3;_
2025-11-03T09:54:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:52.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1376247, teldec = -24.256603
2025-11-03T09:54:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1376247 -24.256603
2025-11-03T09:54:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1376247 -24.256603
2025-11-03T09:54:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1376247 -24.256603
2025-11-03T09:54:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1376247;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15739;2460982.82977278;9.91450972;1.3;_15.112763221572 -24.1574696018251
2025-11-03T09:54:52.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.112763221572     dec_j2k = -24.1574696018251
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096814626386735;171.162351965909;_
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096814626386735;171.162351965909;_
2025-11-03T09:54:52.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59983)
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:52.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:52.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:52.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:52.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:52.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82977275, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096814626386735, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1376247, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.112763221572, telescope_dec_j2k=-24.1574696018251, observability=1)
2025-11-03T09:54:52.751 [DEBUG] [Thread-88765 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:52.751 [DEBUG] [Thread-88765 (handle)] [server.py] [get_status()] Status age = 0.3696296215057373s
2025-11-03T09:54:52.751 [DEBUG] [Thread-88765 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3696296215057373
2025-11-03T09:54:52.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:52
2025-11-03T09:54:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3756444454193115s
2025-11-03T09:54:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3756444454193115
2025-11-03T09:54:53.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:53
2025-11-03T09:54:53.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980849027633667s
2025-11-03T09:54:53.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980849027633667
2025-11-03T09:54:54.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:54
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779596328735352s
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1381857;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15795;2460982.82979586;9.91506917;1.3;_
2025-11-03T09:54:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1381857;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15795;2460982.82979586;9.91506917;1.3;_
2025-11-03T09:54:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:54.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1381857, teldec = -24.256603
2025-11-03T09:54:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1381857 -24.256603
2025-11-03T09:54:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1381857 -24.256603
2025-11-03T09:54:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1381857 -24.256603
2025-11-03T09:54:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1381857;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15795;2460982.82979588;9.91506917;1.3;_15.1133237748897 -24.1574844894164
2025-11-03T09:54:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1133237748897     dec_j2k = -24.1574844894164
2025-11-03T09:54:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968143857150782;171.162362694745;_
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968143857150782;171.162362694745;_
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:54.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34351)
2025-11-03T09:54:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:54.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:54.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:54.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:54.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:54.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82979586, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968143857150782, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1381857, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15795, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1133237748897, telescope_dec_j2k=-24.1574844894164, observability=1)
2025-11-03T09:54:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:54
2025-11-03T09:54:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38026928901672363s
2025-11-03T09:54:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38026928901672363
2025-11-03T09:54:55.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:55
2025-11-03T09:54:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9813473224639893s
2025-11-03T09:54:55.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9813473224639893
2025-11-03T09:54:56.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:56
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9795563220977783s
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1387372;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1585;2460982.82981902;9.91561917;1.3;_
2025-11-03T09:54:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1387372;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1585;2460982.82981902;9.91561917;1.3;_
2025-11-03T09:54:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1387372, teldec = -24.256603
2025-11-03T09:54:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1387372 -24.256603
2025-11-03T09:54:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1387372 -24.256603
2025-11-03T09:54:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1387372 -24.256603
2025-11-03T09:54:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1387372;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1585;2460982.82981904;9.91561917;1.3;_15.1138748358279 -24.1574991270165
2025-11-03T09:54:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1138748358279     dec_j2k = -24.1574991270165
2025-11-03T09:54:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968152280658771;171.162357330327;_
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968152280658771;171.162357330327;_
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54181)
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:56.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:56.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82981902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968152280658771, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1387372, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1585, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1138748358279, telescope_dec_j2k=-24.1574991270165, observability=1)
2025-11-03T09:54:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:56
2025-11-03T09:54:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3829984664916992s
2025-11-03T09:54:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3829984664916992
2025-11-03T09:54:57.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:57
2025-11-03T09:54:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9806814193725586s
2025-11-03T09:54:57.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9806814193725586
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.6014370918273926s
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1391865;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15895;2460982.82983775;9.91606722;1.3;_
2025-11-03T09:54:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.1391865;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15895;2460982.82983775;9.91606722;1.3;_
2025-11-03T09:54:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:57.984 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.1391865, teldec = -24.256603
2025-11-03T09:54:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1391865 -24.256603
2025-11-03T09:54:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1391865 -24.256603
2025-11-03T09:54:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1391865 -24.256603
2025-11-03T09:54:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1391865;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15898;2460982.82983779;9.91609528;1.3;_15.1143237781712 -24.1575110536329
2025-11-03T09:54:57.985 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.1143237781712     dec_j2k = -24.1575110536329
2025-11-03T09:54:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968149071703347;171.162357330327;_
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968149071703347;171.162357330327;_
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:54:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:54:57.993 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41257)
2025-11-03T09:54:57.993 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:57.993 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:58.001 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:58.001 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82983775, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968149071703347, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1391865, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15895, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1143237781712, telescope_dec_j2k=-24.1575110536329, observability=1)
2025-11-03T09:54:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:58
2025-11-03T09:54:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35901546478271484s
2025-11-03T09:54:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35901546478271484
2025-11-03T09:54:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:58
2025-11-03T09:54:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7603695392608643s
2025-11-03T09:54:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7603695392608643
2025-11-03T09:54:59.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:54:59
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3584818840026855s
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:54:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:54:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1395795;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15934;2460982.82985372;9.91645917;1.3;_
2025-11-03T09:54:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1395795;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15934;2460982.82985372;9.91645917;1.3;_
2025-11-03T09:54:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:54:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:54:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:54:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:54:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1395795, teldec = -24.256603
2025-11-03T09:54:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1395795 -24.256603
2025-11-03T09:54:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1395795 -24.256603
2025-11-03T09:54:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1395795 -24.256603
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1395795;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15934;2460982.82985375;9.91645917;1.3;_15.1147164653615 -24.1575214869136
2025-11-03T09:54:59.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1147164653615     dec_j2k = -24.1575214869136
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968153885136483;171.162346601491;_
2025-11-03T09:54:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968153885136483;171.162346601491;_
2025-11-03T09:54:59.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:54:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:54:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:54:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:54:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:54:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47449)
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:54:59.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:54:59.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:54:59.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82985372, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968153885136483, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1395795, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15934, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1147164653615, telescope_dec_j2k=-24.1575214869136, observability=1)
2025-11-03T09:55:00.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:00
2025-11-03T09:55:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9833958148956299s
2025-11-03T09:55:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9833958148956299
2025-11-03T09:55:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:00
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3841443061828613s
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1399717;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15974;2460982.82986994;9.91685028;1.3;_
2025-11-03T09:55:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1399717;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15974;2460982.82986994;9.91685028;1.3;_
2025-11-03T09:55:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:00.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1399717, teldec = -24.256603
2025-11-03T09:55:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1399717 -24.256603
2025-11-03T09:55:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1399717 -24.256603
2025-11-03T09:55:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1399717 -24.256603
2025-11-03T09:55:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1399717;-24.256603;50.108547;89.993052;50.08601;90.12017;12.15974;2460982.82986996;9.91685028;1.3;_15.1151083532168 -24.1575319000178
2025-11-03T09:55:00.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1151083532168     dec_j2k = -24.1575319000178
2025-11-03T09:55:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968153484017055;171.162362694745;_
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968153484017055;171.162362694745;_
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33731)
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:00.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82986994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968153484017055, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1399717, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.15974, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1151083532168, telescope_dec_j2k=-24.1575319000178, observability=1)
2025-11-03T09:55:01.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:01
2025-11-03T09:55:01.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:01.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5856072902679443s
2025-11-03T09:55:01.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5856072902679443
2025-11-03T09:55:02.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:02
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.582043170928955s
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1404118;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16018;2460982.82988845;9.91728917;1.3;_
2025-11-03T09:55:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1404118;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16018;2460982.82988845;9.91728917;1.3;_
2025-11-03T09:55:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1404118, teldec = -24.256603
2025-11-03T09:55:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1404118 -24.256603
2025-11-03T09:55:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1404118 -24.256603
2025-11-03T09:55:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1404118 -24.256603
2025-11-03T09:55:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1404118;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16018;2460982.82988848;9.91728917;1.3;_15.1155481029831 -24.1575435861535
2025-11-03T09:55:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1155481029831     dec_j2k = -24.1575435861535
2025-11-03T09:55:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968152681778199;171.162351965909;_
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968152681778199;171.162351965909;_
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47443)
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:02.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:02.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82988845, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968152681778199, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1404118, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16018, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1155481029831, telescope_dec_j2k=-24.1575435861535, observability=1)
2025-11-03T09:55:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:02
2025-11-03T09:55:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824946880340576s
2025-11-03T09:55:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824946880340576
2025-11-03T09:55:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:03
2025-11-03T09:55:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9773705005645752s
2025-11-03T09:55:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9773705005645752
2025-11-03T09:55:04.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:04
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815819263458252s
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.140973;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16074;2460982.82991164;9.91784889;1.3;_
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.140973;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16074;2460982.82991164;9.91784889;1.3;_
2025-11-03T09:55:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:04.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.140973, teldec = -24.256603
2025-11-03T09:55:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.140973 -24.256603
2025-11-03T09:55:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.140973 -24.256603
2025-11-03T09:55:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.140973 -24.256603
2025-11-03T09:55:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.140973;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16074;2460982.82991168;9.91784889;1.3;_15.1161088564291 -24.1575584898384
2025-11-03T09:55:04.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1161088564291     dec_j2k = -24.1575584898384
2025-11-03T09:55:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968155489614196;171.162346601491;_
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968155489614196;171.162346601491;_
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37695)
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:04.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:04.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:04.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:04.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82991164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968155489614196, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.140973, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1161088564291, telescope_dec_j2k=-24.1575584898384, observability=1)
2025-11-03T09:55:04.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:04
2025-11-03T09:55:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3774139881134033s
2025-11-03T09:55:04.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3774139881134033
2025-11-03T09:55:05.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:05
2025-11-03T09:55:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815373420715332s
2025-11-03T09:55:05.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815373420715332
2025-11-03T09:55:06.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:06
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768671989440918s
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1415248;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16129;2460982.82993473;9.91839917;1.3;_
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1415248;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16129;2460982.82993473;9.91839917;1.3;_
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:06.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1415248, teldec = -24.256603
2025-11-03T09:55:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1415248 -24.256603
2025-11-03T09:55:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1415248 -24.256603
2025-11-03T09:55:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1415248 -24.256603
2025-11-03T09:55:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1415248;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16129;2460982.82993476;9.91839917;1.3;_15.1166602174113 -24.1575731460058
2025-11-03T09:55:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1166602174113     dec_j2k = -24.1575731460058
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968149472822775;171.162351965909;_
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968149472822775;171.162351965909;_
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:06.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41383)
2025-11-03T09:55:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:06.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:06.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82993473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968149472822775, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1415248, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16129, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1166602174113, telescope_dec_j2k=-24.1575731460058, observability=1)
2025-11-03T09:55:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:06
2025-11-03T09:55:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3859379291534424s
2025-11-03T09:55:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3859379291534424
2025-11-03T09:55:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:07
2025-11-03T09:55:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9866058826446533s
2025-11-03T09:55:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9866058826446533
2025-11-03T09:55:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:08
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984830379486084s
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1420863;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16185;2460982.82995788;9.91895917;1.3;_
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1420863;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16185;2460982.82995788;9.91895917;1.3;_
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:08.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1420863, teldec = -24.256603
2025-11-03T09:55:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1420863 -24.256603
2025-11-03T09:55:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1420863 -24.256603
2025-11-03T09:55:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1420863 -24.256603
2025-11-03T09:55:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1420863;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16185;2460982.82995791;9.91895917;1.3;_15.1172212707336 -24.1575880619656
2025-11-03T09:55:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1172212707336     dec_j2k = -24.1575880619656
2025-11-03T09:55:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968154286255912;171.162357330327;_
2025-11-03T09:55:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968154286255912;171.162357330327;_
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41083)
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:08.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:08.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:08.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:08.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82995788, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968154286255912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1420863, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16185, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1172212707336, telescope_dec_j2k=-24.1575880619656, observability=1)
2025-11-03T09:55:08.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:08
2025-11-03T09:55:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3850724697113037s
2025-11-03T09:55:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3850724697113037
2025-11-03T09:55:09.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:09
2025-11-03T09:55:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.986628532409668s
2025-11-03T09:55:09.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.986628532409668
2025-11-03T09:55:10.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:10
2025-11-03T09:55:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838807582855225s
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1426459;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16241;2460982.82998103;9.91951722;1.3;_
2025-11-03T09:55:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1426459;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16241;2460982.82998103;9.91951722;1.3;_
2025-11-03T09:55:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:10.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1426459, teldec = -24.256603
2025-11-03T09:55:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1426459 -24.256603
2025-11-03T09:55:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1426459 -24.256603
2025-11-03T09:55:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1426459 -24.256603
2025-11-03T09:55:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1426459;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16241;2460982.82998105;9.91951722;1.3;_15.117780425625 -24.1576029296144
2025-11-03T09:55:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.117780425625     dec_j2k = -24.1576029296144
2025-11-03T09:55:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968159901927904;171.162362694745;_
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968159901927904;171.162362694745;_
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38765)
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:10.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:10.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:10.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.82998103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968159901927904, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1426459, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16241, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.117780425625, telescope_dec_j2k=-24.1576029296144, observability=1)
2025-11-03T09:55:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:10
2025-11-03T09:55:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3878910541534424s
2025-11-03T09:55:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3878910541534424
2025-11-03T09:55:10.868 [DEBUG] [Thread-88766 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:10.868 [DEBUG] [Thread-88766 (handle)] [server.py] [get_status()] Status age = 0.4929468631744385s
2025-11-03T09:55:10.869 [DEBUG] [Thread-88766 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4929468631744385
2025-11-03T09:55:11.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:11
2025-11-03T09:55:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9843597412109375s
2025-11-03T09:55:11.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9843597412109375
2025-11-03T09:55:12.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:12
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847817420959473s
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1431969;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16296;2460982.83000419;9.92006667;1.3;_
2025-11-03T09:55:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1431969;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16296;2460982.83000419;9.92006667;1.3;_
2025-11-03T09:55:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1431969, teldec = -24.256603
2025-11-03T09:55:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1431969 -24.256603
2025-11-03T09:55:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1431969 -24.256603
2025-11-03T09:55:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1431969 -24.256603
2025-11-03T09:55:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1431969;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16296;2460982.83000422;9.92006667;1.3;_15.1183309874133 -24.1576175708834
2025-11-03T09:55:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1183309874133     dec_j2k = -24.1576175708834
2025-11-03T09:55:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968153082897627;171.162362694745;_
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968153082897627;171.162362694745;_
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57251)
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:12.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:12.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:12.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83000419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968153082897627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1431969, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16296, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1183309874133, telescope_dec_j2k=-24.1576175708834, observability=1)
2025-11-03T09:55:12.753 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:12.753 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.37778425216674805s
2025-11-03T09:55:12.753 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37778425216674805
2025-11-03T09:55:12.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:12
2025-11-03T09:55:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3923642635345459s
2025-11-03T09:55:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3923642635345459
2025-11-03T09:55:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:13
2025-11-03T09:55:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9844348430633545s
2025-11-03T09:55:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9844348430633545
2025-11-03T09:55:13.501 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:55:13
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.125476598739624s
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:13.501 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:13.502 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:13.502 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:13.502 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:13.502 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:13.502 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:13.503 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.143505;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1633;2460982.8300174;9.92040167;1.3;_
2025-11-03T09:55:13.503 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.143505;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1633;2460982.8300174;9.92040167;1.3;_
2025-11-03T09:55:13.503 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:13.503 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:13.503 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:13.504 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:13.504 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:13.504 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.143505, teldec = -24.256603
2025-11-03T09:55:13.504 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.143505 -24.256603
2025-11-03T09:55:13.504 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.143505 -24.256603
2025-11-03T09:55:13.504 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.143505 -24.256603
2025-11-03T09:55:13.505 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.1435328;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1633;2460982.83001742;9.92040167;1.3;_15.1186388424049 -24.1576257586825
2025-11-03T09:55:13.505 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.1186388424049     dec_j2k = -24.1576257586825
2025-11-03T09:55:13.505 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:13.505 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:13.505 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968157896330764;171.162351965909;_
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968157896330764;171.162351965909;_
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:13.506 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:13.507 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:13.508 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:13.508 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:13.508 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37407)
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:13.513 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:13.521 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:13.521 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8300174, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968157896330764, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.143505, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1633, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1186388424049, telescope_dec_j2k=-24.1576257586825, observability=1)
2025-11-03T09:55:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:14
2025-11-03T09:55:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8385396003723145s
2025-11-03T09:55:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8385396003723145
2025-11-03T09:55:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:14
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2397119998931885s
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1438693;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16363;2460982.83003198;9.92073722;1.3;_
2025-11-03T09:55:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1438693;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16363;2460982.83003198;9.92073722;1.3;_
2025-11-03T09:55:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1438693, teldec = -24.256603
2025-11-03T09:55:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1438693 -24.256603
2025-11-03T09:55:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1438693 -24.256603
2025-11-03T09:55:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1438693 -24.256603
2025-11-03T09:55:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1438693;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16363;2460982.830032;9.92073722;1.3;_15.1190028527275 -24.1576354408478
2025-11-03T09:55:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1190028527275     dec_j2k = -24.1576354408478
2025-11-03T09:55:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968156291853052;171.162362694745;_
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968156291853052;171.162362694745;_
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39763)
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:14.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:14.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:14.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83003198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968156291853052, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1438693, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16363, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1190028527275, telescope_dec_j2k=-24.1576354408478, observability=1)
2025-11-03T09:55:15.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:15
2025-11-03T09:55:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5846848487854004s
2025-11-03T09:55:15.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5846848487854004
2025-11-03T09:55:16.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:16
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5854761600494385s
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1443172;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16408;2460982.83005051;9.92118389;1.3;_
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1443172;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16408;2460982.83005051;9.92118389;1.3;_
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1443172, teldec = -24.256603
2025-11-03T09:55:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1443172 -24.256603
2025-11-03T09:55:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1443172 -24.256603
2025-11-03T09:55:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1443172 -24.256603
2025-11-03T09:55:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1443172;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16408;2460982.83005053;9.92118389;1.3;_15.1194503966081 -24.1576473461408
2025-11-03T09:55:16.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1194503966081     dec_j2k = -24.1576473461408
2025-11-03T09:55:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968161907525045;171.162362694745;_
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968161907525045;171.162362694745;_
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:16.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:16.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47151)
2025-11-03T09:55:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:16.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:16.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:16.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:16.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83005051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968161907525045, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1443172, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1194503966081, telescope_dec_j2k=-24.1576473461408, observability=1)
2025-11-03T09:55:16.811 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:16
2025-11-03T09:55:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43274784088134766s
2025-11-03T09:55:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43274784088134766
2025-11-03T09:55:17.040 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:55:17.040 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6612582206726074s
2025-11-03T09:55:17.040 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6612582206726074
2025-11-03T09:55:17.040 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5389440059661865 seconds ago
2025-11-03T09:55:17.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:17
2025-11-03T09:55:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9855766296386719s
2025-11-03T09:55:17.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9855766296386719
2025-11-03T09:55:18.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:18
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822347164154053s
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1448676;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16463;2460982.83007363;9.92173278;1.3;_
2025-11-03T09:55:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1448676;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16463;2460982.83007363;9.92173278;1.3;_
2025-11-03T09:55:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1448676, teldec = -24.256603
2025-11-03T09:55:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1448676 -24.256603
2025-11-03T09:55:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1448676 -24.256603
2025-11-03T09:55:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1448676 -24.256603
2025-11-03T09:55:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1448676;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16463;2460982.83007366;9.92173278;1.3;_15.1200003590428 -24.1576619778011
2025-11-03T09:55:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1200003590428     dec_j2k = -24.1576619778011
2025-11-03T09:55:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968162308644473;171.162357330327;_
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968162308644473;171.162357330327;_
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34929)
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:18.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:18.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:18.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:18.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:18.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:18.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83007363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968162308644473, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1448676, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16463, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:54:18.551378', telescope_ra_j2k=15.1200003590428, telescope_dec_j2k=-24.1576619778011, observability=1)
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:18.701 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:18.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:18.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:18.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:18.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:18.702 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:55:18.702 [INFO] [ThreadPoolExecutor-3431_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:55:18.703 [INFO] [ThreadPoolExecutor-3431_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:55:18.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:18
2025-11-03T09:55:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3879280090332031s
2025-11-03T09:55:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3879280090332031
2025-11-03T09:55:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:19
2025-11-03T09:55:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9831533432006836s
2025-11-03T09:55:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9831533432006836
2025-11-03T09:55:20.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:20
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983973741531372s
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1454283;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16519;2460982.83009679;9.92229194;1.3;_
2025-11-03T09:55:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1454283;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16519;2460982.83009679;9.92229194;1.3;_
2025-11-03T09:55:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1454283, teldec = -24.256603
2025-11-03T09:55:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1454283 -24.256603
2025-11-03T09:55:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1454283 -24.256603
2025-11-03T09:55:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1454283 -24.256603
2025-11-03T09:55:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1454283;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16519;2460982.83009682;9.92229194;1.3;_15.1205606133464 -24.1576768854183
2025-11-03T09:55:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1205606133464     dec_j2k = -24.1576768854183
2025-11-03T09:55:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968164715361041;171.162368059163;_
2025-11-03T09:55:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968164715361041;171.162368059163;_
2025-11-03T09:55:20.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52923)
2025-11-03T09:55:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:20.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:20.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:20.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:20.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:20.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83009679, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968164715361041, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1454283, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16519, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1205606133464, telescope_dec_j2k=-24.1576768854183, observability=1)
2025-11-03T09:55:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:20
2025-11-03T09:55:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3833882808685303s
2025-11-03T09:55:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3833882808685303
2025-11-03T09:55:21.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:21
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0664241313934326s
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:21.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1457366;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1655;2460982.83010935;9.92259944;1.3;_
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1457366;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1655;2460982.83010935;9.92259944;1.3;_
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:21.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:21.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:21.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:21.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1457366, teldec = -24.256603
2025-11-03T09:55:21.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1457366 -24.256603
2025-11-03T09:55:21.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1457366 -24.256603
2025-11-03T09:55:21.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1457366 -24.256603
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1457366;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1655;2460982.83010938;9.92259944;1.3;_15.1208686683057 -24.15768508327
2025-11-03T09:55:21.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1208686683057     dec_j2k = -24.15768508327
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968159901927904;171.162351965909;_
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968159901927904;171.162351965909;_
2025-11-03T09:55:21.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:21.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:21.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:21.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:21.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:21.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:21.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:21.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36087)
2025-11-03T09:55:21.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:21.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:21.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:21.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:21.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:21.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:21.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:21.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83010935, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968159901927904, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1457366, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1208686683057, telescope_dec_j2k=-24.15768508327, observability=1)
2025-11-03T09:55:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:22
2025-11-03T09:55:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8962135314941406s
2025-11-03T09:55:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8962135314941406
2025-11-03T09:55:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:22
2025-11-03T09:55:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2994985580444336s
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1461004;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16587;2460982.83012461;9.92296222;1.3;_
2025-11-03T09:55:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1461004;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16587;2460982.83012461;9.92296222;1.3;_
2025-11-03T09:55:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1461004, teldec = -24.256603
2025-11-03T09:55:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1461004 -24.256603
2025-11-03T09:55:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1461004 -24.256603
2025-11-03T09:55:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1461004 -24.256603
2025-11-03T09:55:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1461004;-24.256603;50.108547;89.993052;50.08601;90.12017;12.16587;2460982.83012463;9.92296222;1.3;_15.1212321791753 -24.1576947577362
2025-11-03T09:55:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1212321791753     dec_j2k = -24.1576947577362
2025-11-03T09:55:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968167523197037;171.162351965909;_
2025-11-03T09:55:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968167523197037;171.162351965909;_
2025-11-03T09:55:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42655)
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:22.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:22.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83012461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968167523197037, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1461004, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1212321791753, telescope_dec_j2k=-24.1576947577362, observability=1)
2025-11-03T09:55:23.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:23
2025-11-03T09:55:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5760693550109863s
2025-11-03T09:55:23.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5760693550109863
2025-11-03T09:55:24.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:24
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5787367820739746s
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1465391;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1663;2460982.8301431;9.92339972;1.3;_
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1465391;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1663;2460982.8301431;9.92339972;1.3;_
2025-11-03T09:55:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1465391, teldec = -24.256603
2025-11-03T09:55:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1465391 -24.256603
2025-11-03T09:55:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1465391 -24.256603
2025-11-03T09:55:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1465391 -24.256603
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1465391;-24.256603;50.108547;89.993052;50.08601;90.12017;12.1663;2460982.83014314;9.92339972;1.3;_15.1216705305506 -24.1577064252159
2025-11-03T09:55:24.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1216705305506     dec_j2k = -24.1577064252159
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968161506405616;171.162357330327;_
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968161506405616;171.162357330327;_
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53925)
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:24.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:24.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8301431, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968161506405616, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108547, telescope_az=89.993052, telescope_ra=15.1465391, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1663, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1216705305506, telescope_dec_j2k=-24.1577064252159, observability=1)
2025-11-03T09:55:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:24
2025-11-03T09:55:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38231945037841797s
2025-11-03T09:55:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38231945037841797
2025-11-03T09:55:25.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:25
2025-11-03T09:55:25.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820373058319092s
2025-11-03T09:55:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820373058319092
2025-11-03T09:55:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:26
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983138084411621s
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1470998;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16686;2460982.83016624;9.92395889;1.3;_
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1470998;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16686;2460982.83016624;9.92395889;1.3;_
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1470998, teldec = -24.256603
2025-11-03T09:55:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1470998 -24.256603
2025-11-03T09:55:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1470998 -24.256603
2025-11-03T09:55:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1470998 -24.256603
2025-11-03T09:55:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1470998;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16686;2460982.83016627;9.92395889;1.3;_15.1222307850268 -24.1577213392844
2025-11-03T09:55:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1222307850268     dec_j2k = -24.1577213392844
2025-11-03T09:55:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968165918719325;171.162362694745;_
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968165918719325;171.162362694745;_
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40951)
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:26.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:26.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:26.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83016624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968165918719325, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1470998, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16686, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1222307850268, telescope_dec_j2k=-24.1577213392844, observability=1)
2025-11-03T09:55:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:26
2025-11-03T09:55:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38784050941467285s
2025-11-03T09:55:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38784050941467285
2025-11-03T09:55:27.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:27
2025-11-03T09:55:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9831640720367432s
2025-11-03T09:55:27.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9831640720367432
2025-11-03T09:55:28.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:28
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815807342529297s
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1476602;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16743;2460982.83018939;9.92451778;1.3;_
2025-11-03T09:55:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1476602;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16743;2460982.83018939;9.92451778;1.3;_
2025-11-03T09:55:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1476602, teldec = -24.256603
2025-11-03T09:55:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1476602 -24.256603
2025-11-03T09:55:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1476602 -24.256603
2025-11-03T09:55:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1476602 -24.256603
2025-11-03T09:55:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1476602;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16743;2460982.83018941;9.92451778;1.3;_15.1227907397994 -24.1577362475349
2025-11-03T09:55:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1227907397994     dec_j2k = -24.1577362475349
2025-11-03T09:55:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968165517599897;171.162351965909;_
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968165517599897;171.162351965909;_
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53599)
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:28.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:28.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:28.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83018939, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968165517599897, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1476602, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1227907397994, telescope_dec_j2k=-24.1577362475349, observability=1)
2025-11-03T09:55:28.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:28
2025-11-03T09:55:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824143409729004s
2025-11-03T09:55:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824143409729004
2025-11-03T09:55:28.931 [DEBUG] [Thread-88767 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:28.931 [DEBUG] [Thread-88767 (handle)] [server.py] [get_status()] Status age = 0.554328441619873s
2025-11-03T09:55:28.931 [DEBUG] [Thread-88767 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.554328441619873
2025-11-03T09:55:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:29
2025-11-03T09:55:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9835989475250244s
2025-11-03T09:55:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9835989475250244
2025-11-03T09:55:30.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:30
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9872350692749023s
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1482198;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16798;2460982.83021257;9.92507583;1.3;_
2025-11-03T09:55:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1482198;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16798;2460982.83021257;9.92507583;1.3;_
2025-11-03T09:55:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:30.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1482198, teldec = -24.256603
2025-11-03T09:55:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1482198 -24.256603
2025-11-03T09:55:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1482198 -24.256603
2025-11-03T09:55:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1482198 -24.256603
2025-11-03T09:55:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1482198;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16798;2460982.83021259;9.92507583;1.3;_15.1233498952653 -24.1577511366593
2025-11-03T09:55:30.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1233498952653     dec_j2k = -24.1577511366593
2025-11-03T09:55:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968167122077609;171.162368059163;_
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968167122077609;171.162368059163;_
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50753)
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:30.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:30.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83021257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968167122077609, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1482198, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16798, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1233498952653, telescope_dec_j2k=-24.1577511366593, observability=1)
2025-11-03T09:55:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:30
2025-11-03T09:55:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3775167465209961s
2025-11-03T09:55:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3775167465209961
2025-11-03T09:55:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:31
2025-11-03T09:55:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9761230945587158s
2025-11-03T09:55:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9761230945587158
2025-11-03T09:55:32.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:32
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9749279022216797s
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:32.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1487707;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16854;2460982.83023566;9.92562528;1.3;_
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1487707;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16854;2460982.83023566;9.92562528;1.3;_
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:32.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1487707, teldec = -24.256603
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1487707 -24.256603
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1487707 -24.256603
2025-11-03T09:55:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1487707 -24.256603
2025-11-03T09:55:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1487707;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16854;2460982.83023568;9.92562528;1.3;_15.1239003576986 -24.1577657964095
2025-11-03T09:55:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1239003576986     dec_j2k = -24.1577657964095
2025-11-03T09:55:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968171534391318;171.162346601491;_
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968171534391318;171.162346601491;_
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56343)
2025-11-03T09:55:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:32.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:32.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:32.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:32.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:32.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83023566, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968171534391318, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1487707, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16854, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1239003576986, telescope_dec_j2k=-24.1577657964095, observability=1)
2025-11-03T09:55:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:32
2025-11-03T09:55:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38107967376708984s
2025-11-03T09:55:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38107967376708984
2025-11-03T09:55:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:33
2025-11-03T09:55:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980090856552124s
2025-11-03T09:55:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980090856552124
2025-11-03T09:55:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:34
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788625240325928s
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1493314;-24.256603;50.108546;89.993052;50.08601;90.12017;12.1691;2460982.83025882;9.92618444;1.3;_
2025-11-03T09:55:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1493314;-24.256603;50.108546;89.993052;50.08601;90.12017;12.1691;2460982.83025882;9.92618444;1.3;_
2025-11-03T09:55:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1493314, teldec = -24.256603
2025-11-03T09:55:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1493314 -24.256603
2025-11-03T09:55:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1493314 -24.256603
2025-11-03T09:55:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1493314 -24.256603
2025-11-03T09:55:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1493314;-24.256603;50.108546;89.993052;50.08601;90.12017;12.1691;2460982.83025884;9.92618444;1.3;_15.1244606124056 -24.1577807190866
2025-11-03T09:55:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1244606124056     dec_j2k = -24.1577807190866
2025-11-03T09:55:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968179957899307;171.162357330327;_
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968179957899307;171.162357330327;_
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49607)
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:34.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:34.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:34.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:34.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:34.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83025882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968179957899307, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1493314, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1244606124056, telescope_dec_j2k=-24.1577807190866, observability=1)
2025-11-03T09:55:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:34
2025-11-03T09:55:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38279175758361816s
2025-11-03T09:55:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38279175758361816
2025-11-03T09:55:35.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:35
2025-11-03T09:55:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9834294319152832s
2025-11-03T09:55:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9834294319152832
2025-11-03T09:55:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:36
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819481372833252s
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1498913;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16966;2460982.83028198;9.92674278;1.3;_
2025-11-03T09:55:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1498913;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16966;2460982.83028198;9.92674278;1.3;_
2025-11-03T09:55:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1498913, teldec = -24.256603
2025-11-03T09:55:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1498913 -24.256603
2025-11-03T09:55:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1498913 -24.256603
2025-11-03T09:55:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1498913 -24.256603
2025-11-03T09:55:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1498913;-24.256603;50.108546;89.993052;50.08601;90.12017;12.16966;2460982.830282;9.92674278;1.3;_15.1250200678057 -24.1577956226299
2025-11-03T09:55:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1250200678057     dec_j2k = -24.1577956226299
2025-11-03T09:55:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968177952302167;171.162351965909;_
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968177952302167;171.162351965909;_
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39297)
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:36.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:36.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:36.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83028198, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968177952302167, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1498913, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.16966, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1250200678057, telescope_dec_j2k=-24.1577956226299, observability=1)
2025-11-03T09:55:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:36
2025-11-03T09:55:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38874173164367676s
2025-11-03T09:55:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38874173164367676
2025-11-03T09:55:37.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:37
2025-11-03T09:55:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984323263168335s
2025-11-03T09:55:37.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984323263168335
2025-11-03T09:55:38.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:38
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983438491821289s
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1504434;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17021;2460982.83030514;9.92729333;1.3;_
2025-11-03T09:55:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1504434;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17021;2460982.83030514;9.92729333;1.3;_
2025-11-03T09:55:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1504434, teldec = -24.256603
2025-11-03T09:55:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1504434 -24.256603
2025-11-03T09:55:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1504434 -24.256603
2025-11-03T09:55:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1504434 -24.256603
2025-11-03T09:55:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1504434;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17021;2460982.83030516;9.92729333;1.3;_15.1255717294561 -24.1578103206618
2025-11-03T09:55:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1255717294561     dec_j2k = -24.1578103206618
2025-11-03T09:55:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968176347824455;171.162351965909;_
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968176347824455;171.162351965909;_
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54305)
2025-11-03T09:55:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:38.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:38.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:38.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:38.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:38.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83030514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968176347824455, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1504434, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17021, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1255717294561, telescope_dec_j2k=-24.1578103206618, observability=1)
2025-11-03T09:55:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:38
2025-11-03T09:55:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3831295967102051s
2025-11-03T09:55:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3831295967102051
2025-11-03T09:55:39.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:39
2025-11-03T09:55:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980633020401001s
2025-11-03T09:55:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980633020401001
2025-11-03T09:55:39.571 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.571 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.571 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:39.571 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:55:39.572 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:55:39.573 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:55:39.573 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.573 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.573 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.574 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:39.574 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:39.574 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:39.574 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.574 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:39.575 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:55:39.576 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:39.577 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Park
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:55:39.578 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:55:39.579 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 29;15.1507801;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17054;2460982.8303192;9.92762917;1.3;_Park Command Successful
2025-11-03T09:55:40.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:40
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819376468658447s
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1510046;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17077;2460982.83032828;9.92785306;1.3;_
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1510046;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17077;2460982.83032828;9.92785306;1.3;_
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1510046, teldec = -24.256603
2025-11-03T09:55:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1510046 -24.256603
2025-11-03T09:55:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1510046 -24.256603
2025-11-03T09:55:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1510046 -24.256603
2025-11-03T09:55:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1510046;-24.256603;50.108546;89.993052;50.08601;90.12017;12.17077;2460982.8303283;9.92785306;1.3;_15.1261324839391 -24.1578252631022
2025-11-03T09:55:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1261324839391     dec_j2k = -24.1578252631022
2025-11-03T09:55:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968179155660451;171.162362694745;_
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968179155660451;171.162362694745;_
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58581)
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:40.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:40.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:40.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:40.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83032828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968179155660451, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993052, telescope_ra=15.1510046, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1261324839391, telescope_dec_j2k=-24.1578252631022, observability=1)
2025-11-03T09:55:40.579 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:55:40.579 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:55:40.579 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:55:40.580 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:55:40.580 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:55:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:40
2025-11-03T09:55:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38242101669311523s
2025-11-03T09:55:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38242101669311523
2025-11-03T09:55:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:41
2025-11-03T09:55:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.981328010559082s
2025-11-03T09:55:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.981328010559082
2025-11-03T09:55:41.580 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:55:41.580 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:55:41.580 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:55:41.581 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:55:41.581 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:55:42.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:42
2025-11-03T09:55:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982560157775879s
2025-11-03T09:55:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:42.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1515567;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17132;2460982.83035142;9.92840361;1.3;_
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1515567;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17132;2460982.83035142;9.92840361;1.3;_
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:42.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1515567, teldec = -24.256603
2025-11-03T09:55:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1515567 -24.256603
2025-11-03T09:55:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1515567 -24.256603
2025-11-03T09:55:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1515567 -24.256603
2025-11-03T09:55:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1515567;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17132;2460982.83035146;9.92840361;1.3;_15.1266841457029 -24.1578399653598
2025-11-03T09:55:42.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1266841457029     dec_j2k = -24.1578399653598
2025-11-03T09:55:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096817514446617;171.162357330327;_
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096817514446617;171.162357330327;_
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36321)
2025-11-03T09:55:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:42.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:42.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83035142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096817514446617, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1515567, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17132, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1266841457029, telescope_dec_j2k=-24.1578399653598, observability=1)
2025-11-03T09:55:42.581 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:55:42.581 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:55:42.581 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:55:42.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:55:42.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:55:42.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:42
2025-11-03T09:55:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3783760070800781s
2025-11-03T09:55:42.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3783760070800781
2025-11-03T09:55:43.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:43
2025-11-03T09:55:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.975940465927124s
2025-11-03T09:55:43.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.975940465927124
2025-11-03T09:55:43.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:55:43.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:55:43.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:55:43.582 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:55:43.583 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:55:43.584 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:44.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:44
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796416759490967s
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1521182;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17188;2460982.83037459;9.92896361;1.3;_
2025-11-03T09:55:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1521182;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17188;2460982.83037459;9.92896361;1.3;_
2025-11-03T09:55:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:44.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1521182, teldec = -24.256603
2025-11-03T09:55:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1521182 -24.256603
2025-11-03T09:55:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1521182 -24.256603
2025-11-03T09:55:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1521182 -24.256603
2025-11-03T09:55:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1521182;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17188;2460982.83037462;9.92896361;1.3;_15.1272452000631 -24.1578549200855
2025-11-03T09:55:44.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1272452000631     dec_j2k = -24.1578549200855
2025-11-03T09:55:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968178353421595;171.162362694745;_
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968178353421595;171.162362694745;_
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:44.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49219)
2025-11-03T09:55:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:44.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:44.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:44.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:44.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83037459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968178353421595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1521182, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17188, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1272452000631, telescope_dec_j2k=-24.1578549200855, observability=1)
2025-11-03T09:55:44.584 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:44.584 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:44.584 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:44.584 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:55:44.585 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:55:44.586 [DEBUG] [ThreadPoolExecutor-3430_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:44.586 [INFO] [ThreadPoolExecutor-3430_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:55:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:44
2025-11-03T09:55:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37941980361938477s
2025-11-03T09:55:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37941980361938477
2025-11-03T09:55:45.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:45
2025-11-03T09:55:45.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9784417152404785s
2025-11-03T09:55:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9784417152404785
2025-11-03T09:55:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:46
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785704612731934s
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1526778;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17244;2460982.8303977;9.92952167;1.3;_
2025-11-03T09:55:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1526778;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17244;2460982.8303977;9.92952167;1.3;_
2025-11-03T09:55:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:46.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1526778, teldec = -24.256603
2025-11-03T09:55:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1526778 -24.256603
2025-11-03T09:55:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1526778 -24.256603
2025-11-03T09:55:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1526778 -24.256603
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1526778;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17244;2460982.83039772;9.92952167;1.3;_15.1278043559891 -24.1578698263633
2025-11-03T09:55:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1278043559891     dec_j2k = -24.1578698263633
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968181161257591;171.162346601491;_
2025-11-03T09:55:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968181161257591;171.162346601491;_
2025-11-03T09:55:46.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41199)
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:46.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8303977, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968181161257591, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1526778, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17244, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1278043559891, telescope_dec_j2k=-24.1578698263633, observability=1)
2025-11-03T09:55:46.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:46
2025-11-03T09:55:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:46.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39901113510131836s
2025-11-03T09:55:46.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39901113510131836
2025-11-03T09:55:47.005 [DEBUG] [Thread-88768 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:47.005 [DEBUG] [Thread-88768 (handle)] [server.py] [get_status()] Status age = 0.6267039775848389s
2025-11-03T09:55:47.005 [DEBUG] [Thread-88768 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6267039775848389
2025-11-03T09:55:47.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:47
2025-11-03T09:55:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9837968349456787s
2025-11-03T09:55:47.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9837968349456787
2025-11-03T09:55:48.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:48
2025-11-03T09:55:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985926628112793s
2025-11-03T09:55:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1532288;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17299;2460982.83042091;9.93007111;1.3;_
2025-11-03T09:55:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1532288;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17299;2460982.83042091;9.93007111;1.3;_
2025-11-03T09:55:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:48.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1532288, teldec = -24.256603
2025-11-03T09:55:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1532288 -24.256603
2025-11-03T09:55:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1532288 -24.256603
2025-11-03T09:55:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1532288 -24.256603
2025-11-03T09:55:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1532288;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17299;2460982.83042094;9.93007111;1.3;_15.1283549187961 -24.1578845056621
2025-11-03T09:55:48.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1283549187961     dec_j2k = -24.1578845056621
2025-11-03T09:55:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968181963496447;171.162357330327;_
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968181963496447;171.162357330327;_
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:48.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58979)
2025-11-03T09:55:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:48.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:48.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:48.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:48.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83042091, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968181963496447, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1532288, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17299, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1283549187961, telescope_dec_j2k=-24.1578845056621, observability=1)
2025-11-03T09:55:48.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:48
2025-11-03T09:55:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.391524076461792s
2025-11-03T09:55:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.391524076461792
2025-11-03T09:55:49.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:49
2025-11-03T09:55:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9768483638763428s
2025-11-03T09:55:49.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9768483638763428
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Status age = 1.1671130657196045s
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:49.550 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:49.551 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:49.551 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:49.551 [DEBUG] [Thread-88769 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:49.552 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:49.552 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:49.552 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:49.552 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:49.553 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 17;15.1535652;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17333;2460982.83043464;9.93040667;1.3;_
2025-11-03T09:55:49.553 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response 17;15.1535652;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17333;2460982.83043464;9.93040667;1.3;_
2025-11-03T09:55:49.553 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:49.553 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:49.553 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:49.554 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:49.554 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:49.554 [INFO] [Thread-88769 (handle)] [driver.py] [get_status()] Telra = 15.1535652, teldec = -24.256603
2025-11-03T09:55:49.554 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1535652 -24.256603
2025-11-03T09:55:49.554 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1535652 -24.256603
2025-11-03T09:55:49.554 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1535652 -24.256603
2025-11-03T09:55:49.555 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 17;15.1535652;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17333;2460982.83043466;9.93040667;1.3;_15.1286910519059 -24.1578934687858
2025-11-03T09:55:49.555 [INFO] [Thread-88769 (handle)] [driver.py] [get_status()] ra_j2k = 15.1286910519059     dec_j2k = -24.1578934687858
2025-11-03T09:55:49.555 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:49.555 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:49.555 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 140;0.0968189183646152;171.162362694745;_
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response 140;0.0968189183646152;171.162362694745;_
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:49.556 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:49.557 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:49.558 [DEBUG] [Thread-88769 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:49.558 [DEBUG] [Thread-88769 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:49.558 [DEBUG] [Thread-88769 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:49.559 [DEBUG] [Thread-88769 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40211)
2025-11-03T09:55:49.559 [DEBUG] [Thread-88769 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:49.559 [DEBUG] [Thread-88769 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:49.559 [DEBUG] [Thread-88769 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:49.560 [DEBUG] [Thread-88769 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:49.560 [DEBUG] [Thread-88769 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:49.566 [DEBUG] [Thread-88769 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:49.567 [DEBUG] [Thread-88769 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:49.567 [INFO] [Thread-88769 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83043464, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968189183646152, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1535652, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17333, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1286910519059, telescope_dec_j2k=-24.1578934687858, observability=1)
2025-11-03T09:55:50.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:50
2025-11-03T09:55:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7944839000701904s
2025-11-03T09:55:50.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7944839000701904
2025-11-03T09:55:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:50
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1961266994476318s
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1539012;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17367;2460982.83044866;9.93074167;1.3;_
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1539012;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17367;2460982.83044866;9.93074167;1.3;_
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1539012, teldec = -24.256603
2025-11-03T09:55:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1539012 -24.256603
2025-11-03T09:55:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1539012 -24.256603
2025-11-03T09:55:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1539012 -24.256603
2025-11-03T09:55:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1539012;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17367;2460982.83044868;9.93074167;1.3;_15.1290267853538 -24.1579024220278
2025-11-03T09:55:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1290267853538     dec_j2k = -24.1579024220278
2025-11-03T09:55:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968178353421595;171.162351965909;_
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968178353421595;171.162351965909;_
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41859)
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:50.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:50.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:50.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83044866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968178353421595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1539012, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17367, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1290267853538, telescope_dec_j2k=-24.1579024220278, observability=1)
2025-11-03T09:55:51.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:51
2025-11-03T09:55:51.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5806639194488525s
2025-11-03T09:55:51.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5806639194488525
2025-11-03T09:55:52.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:52
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.586484432220459s
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1543491;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17411;2460982.8304672;9.93118833;1.3;_
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1543491;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17411;2460982.8304672;9.93118833;1.3;_
2025-11-03T09:55:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:52.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1543491, teldec = -24.256603
2025-11-03T09:55:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1543491 -24.256603
2025-11-03T09:55:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1543491 -24.256603
2025-11-03T09:55:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1543491 -24.256603
2025-11-03T09:55:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1543491;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17411;2460982.83046723;9.93118833;1.3;_15.1294743300629 -24.1579143582251
2025-11-03T09:55:52.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1294743300629     dec_j2k = -24.1579143582251
2025-11-03T09:55:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968183166854732;171.162357330327;_
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968183166854732;171.162357330327;_
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:52.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53173)
2025-11-03T09:55:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:52.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:52.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:52.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8304672, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968183166854732, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1543491, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17411, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1294743300629, telescope_dec_j2k=-24.1579143582251, observability=1)
2025-11-03T09:55:52.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:52
2025-11-03T09:55:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3747134208679199s
2025-11-03T09:55:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3747134208679199
2025-11-03T09:55:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:53
2025-11-03T09:55:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.974907636642456s
2025-11-03T09:55:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.974907636642456
2025-11-03T09:55:54.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:54
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9746110439300537s
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:54.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1548997;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17466;2460982.8304903;9.9317375;1.3;_
2025-11-03T09:55:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1548997;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17466;2460982.8304903;9.9317375;1.3;_
2025-11-03T09:55:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:54.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:54.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1548997, teldec = -24.256603
2025-11-03T09:55:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1548997 -24.256603
2025-11-03T09:55:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1548997 -24.256603
2025-11-03T09:55:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1548997 -24.256603
2025-11-03T09:55:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1548997;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17466;2460982.83049032;9.9317375;1.3;_15.1300244933572 -24.1579290331879
2025-11-03T09:55:54.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1300244933572     dec_j2k = -24.1579290331879
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968184771332444;171.162357330327;_
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968184771332444;171.162357330327;_
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44333)
2025-11-03T09:55:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:54.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:54.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:54.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:54.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8304903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968184771332444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1548997, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17466, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1300244933572, telescope_dec_j2k=-24.1579290331879, observability=1)
2025-11-03T09:55:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:54
2025-11-03T09:55:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38350820541381836s
2025-11-03T09:55:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38350820541381836
2025-11-03T09:55:55.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:55
2025-11-03T09:55:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9810233116149902s
2025-11-03T09:55:55.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9810233116149902
2025-11-03T09:55:56.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:56
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823119640350342s
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:56.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1554602;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17522;2460982.83051346;9.93229639;1.3;_
2025-11-03T09:55:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1554602;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17522;2460982.83051346;9.93229639;1.3;_
2025-11-03T09:55:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:56.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1554602, teldec = -24.256603
2025-11-03T09:55:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1554602 -24.256603
2025-11-03T09:55:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1554602 -24.256603
2025-11-03T09:55:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1554602 -24.256603
2025-11-03T09:55:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1554602;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17522;2460982.83051348;9.93229639;1.3;_15.1305845488569 -24.1579439741506
2025-11-03T09:55:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1305845488569     dec_j2k = -24.1579439741506
2025-11-03T09:55:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968186375810156;171.162357330327;_
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968186375810156;171.162357330327;_
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:55:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:55:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49491)
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:56.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:56.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:56.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83051346, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968186375810156, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1554602, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17522, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1305845488569, telescope_dec_j2k=-24.1579439741506, observability=1)
2025-11-03T09:55:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:56
2025-11-03T09:55:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3842473030090332s
2025-11-03T09:55:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3842473030090332
2025-11-03T09:55:57.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:57
2025-11-03T09:55:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9798507690429688s
2025-11-03T09:55:57.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9798507690429688
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.7686352729797363s
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:58.148 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:58.149 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:58.149 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.155964;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17573;2460982.83053414;9.93279889;1.3;_
2025-11-03T09:55:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.155964;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17573;2460982.83053414;9.93279889;1.3;_
2025-11-03T09:55:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:58.152 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.155964, teldec = -24.256603
2025-11-03T09:55:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.155964 -24.256603
2025-11-03T09:55:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.155964 -24.256603
2025-11-03T09:55:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.155964 -24.256603
2025-11-03T09:55:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.155964;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17573;2460982.83053418;9.93279889;1.3;_15.1310879493716 -24.1579574055312
2025-11-03T09:55:58.153 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.1310879493716     dec_j2k = -24.1579574055312
2025-11-03T09:55:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968184771332444;171.162362694745;_
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968184771332444;171.162362694745;_
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:58.160 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55379)
2025-11-03T09:55:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:58.160 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:58.161 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:58.168 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:58.168 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83053414, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968184771332444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.155964, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17573, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1310879493716, telescope_dec_j2k=-24.1579574055312, observability=1)
2025-11-03T09:55:58.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:58
2025-11-03T09:55:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1927337646484375s
2025-11-03T09:55:58.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1927337646484375
2025-11-03T09:55:58.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:58
2025-11-03T09:55:58.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5905361175537109s
2025-11-03T09:55:58.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5905361175537109
2025-11-03T09:55:59.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:55:59
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1920931339263916s
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:55:59.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:55:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:55:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1562999;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17606;2460982.83054817;9.93313389;1.3;_
2025-11-03T09:55:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1562999;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17606;2460982.83054817;9.93313389;1.3;_
2025-11-03T09:55:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:55:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:55:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:55:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:55:59.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1562999, teldec = -24.256603
2025-11-03T09:55:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1562999 -24.256603
2025-11-03T09:55:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1562999 -24.256603
2025-11-03T09:55:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1562999 -24.256603
2025-11-03T09:55:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1562999;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17606;2460982.83054819;9.93313389;1.3;_15.1314235830477 -24.1579663616418
2025-11-03T09:55:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1314235830477     dec_j2k = -24.1579663616418
2025-11-03T09:55:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:55:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:55:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096818958476558;171.162351965909;_
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096818958476558;171.162351965909;_
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:55:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:55:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:55:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52229)
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:55:59.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:55:59.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:55:59.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83054817, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096818958476558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1562999, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17606, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1314235830477, telescope_dec_j2k=-24.1579663616418, observability=1)
2025-11-03T09:56:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:00
2025-11-03T09:56:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9813225269317627s
2025-11-03T09:56:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9813225269317627
2025-11-03T09:56:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:00
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.385335922241211s
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1566829;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17645;2460982.83056442;9.93351583;1.3;_
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1566829;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17645;2460982.83056442;9.93351583;1.3;_
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1566829, teldec = -24.256603
2025-11-03T09:56:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1566829 -24.256603
2025-11-03T09:56:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1566829 -24.256603
2025-11-03T09:56:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1566829 -24.256603
2025-11-03T09:56:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1566829;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17645;2460982.83056444;9.93351583;1.3;_15.1318062794053 -24.157976574526
2025-11-03T09:56:00.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1318062794053     dec_j2k = -24.157976574526
2025-11-03T09:56:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968184771332444;171.162341237072;_
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968184771332444;171.162341237072;_
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59225)
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:00.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83056442, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968184771332444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1566829, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17645, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1318062794053, telescope_dec_j2k=-24.157976574526, observability=1)
2025-11-03T09:56:01.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:01
2025-11-03T09:56:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.575061559677124s
2025-11-03T09:56:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.575061559677124
2025-11-03T09:56:02.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:02
2025-11-03T09:56:02.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5740187168121338s
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:02.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:02.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1571311;-24.256603;50.108546;89.993051;50.08601;90.12017;12.1769;2460982.83058289;9.93396278;1.3;_
2025-11-03T09:56:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1571311;-24.256603;50.108546;89.993051;50.08601;90.12017;12.1769;2460982.83058289;9.93396278;1.3;_
2025-11-03T09:56:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:02.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1571311, teldec = -24.256603
2025-11-03T09:56:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1571311 -24.256603
2025-11-03T09:56:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1571311 -24.256603
2025-11-03T09:56:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1571311 -24.256603
2025-11-03T09:56:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1571311;-24.256603;50.108546;89.993051;50.08601;90.12017;12.1769;2460982.83058292;9.93396278;1.3;_15.1322541241066 -24.1579885272791
2025-11-03T09:56:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1322541241066     dec_j2k = -24.1579885272791
2025-11-03T09:56:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968192793721005;171.162351965909;_
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968192793721005;171.162351965909;_
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:02.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40939)
2025-11-03T09:56:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:02.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:02.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:02.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:02.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83058289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968192793721005, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1571311, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1769, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1322541241066, telescope_dec_j2k=-24.1579885272791, observability=1)
2025-11-03T09:56:02.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:02
2025-11-03T09:56:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38225460052490234s
2025-11-03T09:56:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38225460052490234
2025-11-03T09:56:03.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:03
2025-11-03T09:56:03.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9783811569213867s
2025-11-03T09:56:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9783811569213867
2025-11-03T09:56:04.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:04
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775936603546143s
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1576913;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17746;2460982.83060603;9.93452139;1.3;_
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1576913;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17746;2460982.83060603;9.93452139;1.3;_
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:04.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1576913, teldec = -24.256603
2025-11-03T09:56:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1576913 -24.256603
2025-11-03T09:56:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1576913 -24.256603
2025-11-03T09:56:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1576913 -24.256603
2025-11-03T09:56:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1576913;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17746;2460982.83060605;9.93452139;1.3;_15.1328138800752 -24.1580034688255
2025-11-03T09:56:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1328138800752     dec_j2k = -24.1580034688255
2025-11-03T09:56:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968193194840433;171.162351965909;_
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968193194840433;171.162351965909;_
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:04.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35791)
2025-11-03T09:56:04.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:04.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:04.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:04.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:04.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:04.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:04.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:04.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:04.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83060603, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968193194840433, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1576913, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1328138800752, telescope_dec_j2k=-24.1580034688255, observability=1)
2025-11-03T09:56:04.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:04
2025-11-03T09:56:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38704729080200195s
2025-11-03T09:56:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38704729080200195
2025-11-03T09:56:05.120 [DEBUG] [Thread-88770 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:05.120 [DEBUG] [Thread-88770 (handle)] [server.py] [get_status()] Status age = 0.7446510791778564s
2025-11-03T09:56:05.120 [DEBUG] [Thread-88770 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7446510791778564
2025-11-03T09:56:05.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:05
2025-11-03T09:56:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9847269058227539s
2025-11-03T09:56:05.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9847269058227539
2025-11-03T09:56:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:06
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844679832458496s
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1582425;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17801;2460982.83062919;9.93507111;1.3;_
2025-11-03T09:56:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1582425;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17801;2460982.83062919;9.93507111;1.3;_
2025-11-03T09:56:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1582425, teldec = -24.256603
2025-11-03T09:56:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1582425 -24.256603
2025-11-03T09:56:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1582425 -24.256603
2025-11-03T09:56:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1582425 -24.256603
2025-11-03T09:56:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1582425;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17801;2460982.83062922;9.93507111;1.3;_15.133364643234 -24.1580181724275
2025-11-03T09:56:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.133364643234     dec_j2k = -24.1580181724275
2025-11-03T09:56:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968191991482149;171.162357330327;_
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968191991482149;171.162357330327;_
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37369)
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:06.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:06.375 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83062919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968191991482149, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1582425, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17801, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.133364643234, telescope_dec_j2k=-24.1580181724275, observability=1)
2025-11-03T09:56:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:06
2025-11-03T09:56:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38759326934814453s
2025-11-03T09:56:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38759326934814453
2025-11-03T09:56:07.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:07
2025-11-03T09:56:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9876792430877686s
2025-11-03T09:56:07.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9876792430877686
2025-11-03T09:56:08.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:08
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984466552734375s
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:08.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.158804;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17857;2460982.83065234;9.93563111;1.3;_
2025-11-03T09:56:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.158804;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17857;2460982.83065234;9.93563111;1.3;_
2025-11-03T09:56:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:08.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.158804, teldec = -24.256603
2025-11-03T09:56:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.158804 -24.256603
2025-11-03T09:56:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.158804 -24.256603
2025-11-03T09:56:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.158804 -24.256603
2025-11-03T09:56:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.158804;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17857;2460982.83065236;9.93563111;1.3;_15.1339256982876 -24.1580331529318
2025-11-03T09:56:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1339256982876     dec_j2k = -24.1580331529318
2025-11-03T09:56:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968193595959861;171.162357330327;_
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968193595959861;171.162357330327;_
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:08.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41743)
2025-11-03T09:56:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:08.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:08.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:08.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:08.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83065234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968193595959861, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.158804, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17857, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1339256982876, telescope_dec_j2k=-24.1580331529318, observability=1)
2025-11-03T09:56:08.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:08
2025-11-03T09:56:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.381542444229126s
2025-11-03T09:56:08.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.381542444229126
2025-11-03T09:56:09.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:09
2025-11-03T09:56:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9812467098236084s
2025-11-03T09:56:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9812467098236084
2025-11-03T09:56:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:10
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816794395446777s
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1593639;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17913;2460982.8306755;9.93618944;1.3;_
2025-11-03T09:56:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1593639;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17913;2460982.8306755;9.93618944;1.3;_
2025-11-03T09:56:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1593639, teldec = -24.256603
2025-11-03T09:56:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1593639 -24.256603
2025-11-03T09:56:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1593639 -24.256603
2025-11-03T09:56:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1593639 -24.256603
2025-11-03T09:56:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1593639;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17913;2460982.83067552;9.93618944;1.3;_15.1344851546671 -24.1580480929027
2025-11-03T09:56:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1344851546671     dec_j2k = -24.1580480929027
2025-11-03T09:56:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968194398198717;171.162362694745;_
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968194398198717;171.162362694745;_
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38127)
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:10.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:10.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8306755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968194398198717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1593639, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1344851546671, telescope_dec_j2k=-24.1580480929027, observability=1)
2025-11-03T09:56:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:10
2025-11-03T09:56:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38359951972961426s
2025-11-03T09:56:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38359951972961426
2025-11-03T09:56:11.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:11
2025-11-03T09:56:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.98636794090271s
2025-11-03T09:56:11.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.98636794090271
2025-11-03T09:56:11.843 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:11.843 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.4614057540893555s
2025-11-03T09:56:11.843 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:11.844 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:11.844 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:11.844 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:11.844 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:11.844 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.159775;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17954;2460982.83069265;9.93659944;1.3;_
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.159775;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17954;2460982.83069265;9.93659944;1.3;_
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:11.845 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:11.846 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:11.846 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:11.846 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.159775, teldec = -24.256603
2025-11-03T09:56:11.846 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.159775 -24.256603
2025-11-03T09:56:11.847 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.159775 -24.256603
2025-11-03T09:56:11.847 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.159775 -24.256603
2025-11-03T09:56:11.847 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.159775;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17954;2460982.83069267;9.93659944;1.3;_15.1348959289809 -24.1580590637699
2025-11-03T09:56:11.848 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.1348959289809     dec_j2k = -24.1580590637699
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968196804915285;171.162357330327;_
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968196804915285;171.162357330327;_
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:11.848 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:11.849 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:11.850 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49931)
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:11.851 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:11.859 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:11.859 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83069265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968196804915285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.159775, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1348959289809, telescope_dec_j2k=-24.1580590637699, observability=1)
2025-11-03T09:56:12.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:12
2025-11-03T09:56:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5028481483459473s
2025-11-03T09:56:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5028481483459473
2025-11-03T09:56:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:12
2025-11-03T09:56:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9020271301269531s
2025-11-03T09:56:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9020271301269531
2025-11-03T09:56:13.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:13
2025-11-03T09:56:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5032765865325928s
2025-11-03T09:56:13.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:13.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.160195;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17996;2460982.83071023;9.93701833;1.3;_
2025-11-03T09:56:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.160195;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17996;2460982.83071023;9.93701833;1.3;_
2025-11-03T09:56:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:13.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:13.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.160195, teldec = -24.256603
2025-11-03T09:56:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.160195 -24.256603
2025-11-03T09:56:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.160195 -24.256603
2025-11-03T09:56:13.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.160195 -24.256603
2025-11-03T09:56:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.160195;-24.256603;50.108546;89.993051;50.08601;90.12017;12.17996;2460982.83071025;9.93701833;1.3;_15.1353155962761 -24.158070273345
2025-11-03T09:56:13.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1353155962761     dec_j2k = -24.158070273345
2025-11-03T09:56:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:13.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968196002676429;171.162351965909;_
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968196002676429;171.162351965909;_
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:13.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:13.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:13.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45173)
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:13.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:13.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:13.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:13.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83071023, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968196002676429, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.160195, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.17996, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1353155962761, telescope_dec_j2k=-24.158070273345, observability=1)
2025-11-03T09:56:13.582 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:56:13
2025-11-03T09:56:13.582 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:13.582 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.19920563697814941s
2025-11-03T09:56:13.582 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19920563697814941
2025-11-03T09:56:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:14
2025-11-03T09:56:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9781110286712646s
2025-11-03T09:56:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9781110286712646
2025-11-03T09:56:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:14
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3780016899108887s
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1605872;-24.256603;50.108546;89.993051;50.08601;90.12017;12.18035;2460982.83072641;9.93740944;1.3;_
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1605872;-24.256603;50.108546;89.993051;50.08601;90.12017;12.18035;2460982.83072641;9.93740944;1.3;_
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1605872, teldec = -24.256603
2025-11-03T09:56:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1605872 -24.256603
2025-11-03T09:56:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1605872 -24.256603
2025-11-03T09:56:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1605872 -24.256603
2025-11-03T09:56:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1605872;-24.256603;50.108546;89.993051;50.08601;90.12017;12.18035;2460982.83072644;9.93740944;1.3;_15.1357074856226 -24.1580807420452
2025-11-03T09:56:14.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1357074856226     dec_j2k = -24.1580807420452
2025-11-03T09:56:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968194398198717;171.162362694745;_
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968194398198717;171.162362694745;_
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36827)
2025-11-03T09:56:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:14.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:14.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:14.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:14.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83072641, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968194398198717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108546, telescope_az=89.993051, telescope_ra=15.1605872, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18035, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1357074856226, telescope_dec_j2k=-24.1580807420452, observability=1)
2025-11-03T09:56:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:15
2025-11-03T09:56:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.580270528793335s
2025-11-03T09:56:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.580270528793335
2025-11-03T09:56:16.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:16
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5789742469787598s
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:16.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1610351;-24.256603;50.108545;89.993051;50.08601;90.12017;12.1808;2460982.83074492;9.93785611;1.3;_
2025-11-03T09:56:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1610351;-24.256603;50.108545;89.993051;50.08601;90.12017;12.1808;2460982.83074492;9.93785611;1.3;_
2025-11-03T09:56:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:16.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1610351, teldec = -24.256603
2025-11-03T09:56:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1610351 -24.256603
2025-11-03T09:56:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1610351 -24.256603
2025-11-03T09:56:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1610351 -24.256603
2025-11-03T09:56:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1610351;-24.256603;50.108545;89.993051;50.08601;90.12017;12.1808;2460982.83074494;9.93785611;1.3;_15.1361550308851 -24.1580926987938
2025-11-03T09:56:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1361550308851     dec_j2k = -24.1580926987938
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968194799318145;171.162357330327;_
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968194799318145;171.162357330327;_
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:16.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42165)
2025-11-03T09:56:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:16.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:16.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83074492, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968194799318145, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1610351, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1808, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1361550308851, telescope_dec_j2k=-24.1580926987938, observability=1)
2025-11-03T09:56:16.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:16
2025-11-03T09:56:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4134523868560791s
2025-11-03T09:56:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4134523868560791
2025-11-03T09:56:17.100 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:56:17.100 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7207000255584717s
2025-11-03T09:56:17.100 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7207000255584717
2025-11-03T09:56:17.100 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.518176555633545 seconds ago
2025-11-03T09:56:17.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:17
2025-11-03T09:56:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980767011642456s
2025-11-03T09:56:17.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980767011642456
2025-11-03T09:56:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:18
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814245700836182s
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:18.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1615855;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18135;2460982.83076808;9.938405;1.3;_
2025-11-03T09:56:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1615855;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18135;2460982.83076808;9.938405;1.3;_
2025-11-03T09:56:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1615855, teldec = -24.256603
2025-11-03T09:56:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1615855 -24.256603
2025-11-03T09:56:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1615855 -24.256603
2025-11-03T09:56:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1615855 -24.256603
2025-11-03T09:56:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1615855;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18135;2460982.83076811;9.938405;1.3;_15.1367049950184 -24.1581073936768
2025-11-03T09:56:18.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1367049950184     dec_j2k = -24.1581073936768
2025-11-03T09:56:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968197607154141;171.162351965909;_
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968197607154141;171.162351965909;_
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:18.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45003)
2025-11-03T09:56:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:18.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:18.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:18.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:18.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:18.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83076808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968197607154141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1615855, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18135, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:55:18.700669', telescope_ra_j2k=15.1367049950184, telescope_dec_j2k=-24.1581073936768, observability=1)
2025-11-03T09:56:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:18
2025-11-03T09:56:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3831462860107422s
2025-11-03T09:56:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3831462860107422
2025-11-03T09:56:18.841 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:18.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:18.843 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:18.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:18.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:18.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:18.844 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:56:18.844 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:18.844 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:18.844 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:18.844 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:18.844 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:56:18.845 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:56:18.846 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:19.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:19
2025-11-03T09:56:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796500205993652s
2025-11-03T09:56:19.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796500205993652
2025-11-03T09:56:19.846 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:19.846 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:19.846 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:19.846 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:19.846 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:56:19.847 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:19.848 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:19.849 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:19.849 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:19.849 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:19.849 [DEBUG] [ThreadPoolExecutor-3432_0] [payload.py] [to_registers()] [0]
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53361)
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:19.851 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:19.858 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:19.859 [DEBUG] [ThreadPoolExecutor-3432_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:20
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797444343566895s
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1621462;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18191;2460982.83079123;9.93896417;1.3;_
2025-11-03T09:56:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1621462;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18191;2460982.83079123;9.93896417;1.3;_
2025-11-03T09:56:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1621462, teldec = -24.256603
2025-11-03T09:56:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1621462 -24.256603
2025-11-03T09:56:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1621462 -24.256603
2025-11-03T09:56:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1621462 -24.256603
2025-11-03T09:56:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1621462;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18191;2460982.83079125;9.93896417;1.3;_15.1372652510526 -24.1581223656902
2025-11-03T09:56:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1372652510526     dec_j2k = -24.1581223656902
2025-11-03T09:56:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968201618348422;171.162357330327;_
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968201618348422;171.162357330327;_
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:20.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58469)
2025-11-03T09:56:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:20.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:20.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:20.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:20.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:20.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83079123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968201618348422, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1621462, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18191, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1372652510526, telescope_dec_j2k=-24.1581223656902, observability=1)
2025-11-03T09:56:20.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:20
2025-11-03T09:56:20.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:20.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39533042907714844s
2025-11-03T09:56:20.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39533042907714844
2025-11-03T09:56:21.472 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:21
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0933303833007812s
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:21.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1624546;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18222;2460982.83080409;9.93927167;1.3;_
2025-11-03T09:56:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1624546;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18222;2460982.83080409;9.93927167;1.3;_
2025-11-03T09:56:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:21.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:21.474 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1624546, teldec = -24.256603
2025-11-03T09:56:21.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1624546 -24.256603
2025-11-03T09:56:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1624546 -24.256603
2025-11-03T09:56:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1624546 -24.256603
2025-11-03T09:56:21.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1624546;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18222;2460982.83080411;9.93927167;1.3;_15.1375734068843 -24.1581306016167
2025-11-03T09:56:21.476 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1375734068843     dec_j2k = -24.1581306016167
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968200816109566;171.162357330327;_
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968200816109566;171.162357330327;_
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:21.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:21.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:21.478 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:21.479 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46215)
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:21.484 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:21.491 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:21.492 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:21.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:21.492 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83080409, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968200816109566, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1624546, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18222, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1375734068843, telescope_dec_j2k=-24.1581306016167, observability=1)
2025-11-03T09:56:22.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:22
2025-11-03T09:56:22.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:22.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8800070285797119s
2025-11-03T09:56:22.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8800070285797119
2025-11-03T09:56:22.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:22
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2749576568603516s
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1628183;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18258;2460982.83081907;9.93963444;1.3;_
2025-11-03T09:56:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1628183;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18258;2460982.83081907;9.93963444;1.3;_
2025-11-03T09:56:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1628183, teldec = -24.256603
2025-11-03T09:56:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1628183 -24.256603
2025-11-03T09:56:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1628183 -24.256603
2025-11-03T09:56:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1628183 -24.256603
2025-11-03T09:56:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1628183;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18258;2460982.8308191;9.93963444;1.3;_15.1379368189562 -24.158140315186
2025-11-03T09:56:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1379368189562     dec_j2k = -24.158140315186
2025-11-03T09:56:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968203222826134;171.162357330327;_
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968203222826134;171.162357330327;_
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56111)
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:22.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:22.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:22.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83081907, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968203222826134, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1628183, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18258, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1379368189562, telescope_dec_j2k=-24.158140315186, observability=1)
2025-11-03T09:56:23.187 [DEBUG] [Thread-88771 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:23.187 [DEBUG] [Thread-88771 (handle)] [server.py] [get_status()] Status age = 0.40343236923217773s
2025-11-03T09:56:23.187 [DEBUG] [Thread-88771 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40343236923217773
2025-11-03T09:56:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:23
2025-11-03T09:56:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5771329402923584s
2025-11-03T09:56:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5771329402923584
2025-11-03T09:56:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:24
2025-11-03T09:56:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5766456127166748s
2025-11-03T09:56:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.163257;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18302;2460982.83083752;9.94007194;1.3;_
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.163257;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18302;2460982.83083752;9.94007194;1.3;_
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.163257, teldec = -24.256603
2025-11-03T09:56:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.163257 -24.256603
2025-11-03T09:56:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.163257 -24.256603
2025-11-03T09:56:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.163257 -24.256603
2025-11-03T09:56:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.163257;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18302;2460982.83083755;9.94007194;1.3;_15.138375171686 -24.1581520330347
2025-11-03T09:56:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.138375171686     dec_j2k = -24.1581520330347
2025-11-03T09:56:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096820001387071;171.162351965909;_
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096820001387071;171.162351965909;_
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49139)
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:24.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:24.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:24.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83083752, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096820001387071, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.163257, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.138375171686, telescope_dec_j2k=-24.1581520330347, observability=1)
2025-11-03T09:56:24.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:24
2025-11-03T09:56:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3803396224975586s
2025-11-03T09:56:24.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3803396224975586
2025-11-03T09:56:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:25
2025-11-03T09:56:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9826400279998779s
2025-11-03T09:56:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9826400279998779
2025-11-03T09:56:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:26
2025-11-03T09:56:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819488525390625s
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1638177;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18358;2460982.83086067;9.94063111;1.3;_
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1638177;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18358;2460982.83086067;9.94063111;1.3;_
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:26.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1638177, teldec = -24.256603
2025-11-03T09:56:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1638177 -24.256603
2025-11-03T09:56:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1638177 -24.256603
2025-11-03T09:56:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1638177 -24.256603
2025-11-03T09:56:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1638177;-24.256603;50.108545;89.993051;50.08601;90.12017;12.18358;2460982.83086069;9.94063111;1.3;_15.1389354278937 -24.1581670114709
2025-11-03T09:56:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1389354278937     dec_j2k = -24.1581670114709
2025-11-03T09:56:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968200816109566;171.162357330327;_
2025-11-03T09:56:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968200816109566;171.162357330327;_
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40553)
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:26.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:26.375 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:26.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:26.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83086067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968200816109566, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1638177, telescope_dec=-24.256603, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18358, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1389354278937, telescope_dec_j2k=-24.1581670114709, observability=1)
2025-11-03T09:56:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:26
2025-11-03T09:56:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38672733306884766s
2025-11-03T09:56:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38672733306884766
2025-11-03T09:56:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:27
2025-11-03T09:56:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9849672317504883s
2025-11-03T09:56:27.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9849672317504883
2025-11-03T09:56:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:28
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852025508880615s
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1643784;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18414;2460982.83088383;9.94119028;1.3;_
2025-11-03T09:56:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1643784;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18414;2460982.83088383;9.94119028;1.3;_
2025-11-03T09:56:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1643784, teldec = -24.256602
2025-11-03T09:56:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1643784 -24.256602
2025-11-03T09:56:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1643784 -24.256602
2025-11-03T09:56:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1643784 -24.256602
2025-11-03T09:56:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1643784;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18414;2460982.83088387;9.94119028;1.3;_15.1394956843023 -24.1581809920803
2025-11-03T09:56:28.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1394956843023     dec_j2k = -24.1581809920803
2025-11-03T09:56:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096820402506499;171.162351965909;_
2025-11-03T09:56:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096820402506499;171.162351965909;_
2025-11-03T09:56:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52545)
2025-11-03T09:56:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:28.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:28.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:28.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:28.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:28.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:28.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83088383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096820402506499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1643784, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18414, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1394956843023, telescope_dec_j2k=-24.1581809920803, observability=1)
2025-11-03T09:56:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:28
2025-11-03T09:56:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3818843364715576s
2025-11-03T09:56:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3818843364715576
2025-11-03T09:56:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:29
2025-11-03T09:56:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9797570705413818s
2025-11-03T09:56:29.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9797570705413818
2025-11-03T09:56:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:30
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790332317352295s
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1649288;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18469;2460982.83090697;9.94173917;1.3;_
2025-11-03T09:56:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1649288;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18469;2460982.83090697;9.94173917;1.3;_
2025-11-03T09:56:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1649288, teldec = -24.256602
2025-11-03T09:56:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1649288 -24.256602
2025-11-03T09:56:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1649288 -24.256602
2025-11-03T09:56:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1649288 -24.256602
2025-11-03T09:56:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1649288;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18469;2460982.83090699;9.94173917;1.3;_15.1400456487762 -24.1581956995731
2025-11-03T09:56:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1400456487762     dec_j2k = -24.1581956995731
2025-11-03T09:56:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096820402506499;171.162357330327;_
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096820402506499;171.162357330327;_
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49071)
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:30.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:30.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83090697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096820402506499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1649288, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18469, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1400456487762, telescope_dec_j2k=-24.1581956995731, observability=1)
2025-11-03T09:56:30.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:30
2025-11-03T09:56:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3829526901245117s
2025-11-03T09:56:30.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3829526901245117
2025-11-03T09:56:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:31
2025-11-03T09:56:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9815962314605713s
2025-11-03T09:56:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9815962314605713
2025-11-03T09:56:32.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:32
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804356098175049s
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:32.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:32.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1654901;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18525;2460982.83093012;9.94229889;1.3;_
2025-11-03T09:56:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1654901;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18525;2460982.83093012;9.94229889;1.3;_
2025-11-03T09:56:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:32.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1654901, teldec = -24.256602
2025-11-03T09:56:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1654901 -24.256602
2025-11-03T09:56:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1654901 -24.256602
2025-11-03T09:56:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1654901 -24.256602
2025-11-03T09:56:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1654901;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18525;2460982.83093014;9.94229889;1.3;_15.1406065046829 -24.1582107004667
2025-11-03T09:56:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1406065046829     dec_j2k = -24.1582107004667
2025-11-03T09:56:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096820402506499;171.162357330327;_
2025-11-03T09:56:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096820402506499;171.162357330327;_
2025-11-03T09:56:32.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34937)
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:32.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:32.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:32.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83093012, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096820402506499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1654901, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18525, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1406065046829, telescope_dec_j2k=-24.1582107004667, observability=1)
2025-11-03T09:56:32.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:32
2025-11-03T09:56:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3827238082885742s
2025-11-03T09:56:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3827238082885742
2025-11-03T09:56:33.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:33
2025-11-03T09:56:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.984607458114624s
2025-11-03T09:56:33.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.984607458114624
2025-11-03T09:56:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:34
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828407764434814s
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1660499;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18581;2460982.83095326;9.94285722;1.3;_
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1660499;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18581;2460982.83095326;9.94285722;1.3;_
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1660499, teldec = -24.256602
2025-11-03T09:56:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1660499 -24.256602
2025-11-03T09:56:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1660499 -24.256602
2025-11-03T09:56:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1660499 -24.256602
2025-11-03T09:56:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1660499;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18581;2460982.83095329;9.94285722;1.3;_15.1411658618345 -24.1582256634213
2025-11-03T09:56:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1411658618345     dec_j2k = -24.1582256634213
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968206832900987;171.162362694745;_
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968206832900987;171.162362694745;_
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60767)
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:34.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:34.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:34.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:34.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:34.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:34.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:34.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:34.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83095326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968206832900987, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1660499, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18581, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1411658618345, telescope_dec_j2k=-24.1582256634213, observability=1)
2025-11-03T09:56:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:34
2025-11-03T09:56:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38019680976867676s
2025-11-03T09:56:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38019680976867676
2025-11-03T09:56:35.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:35
2025-11-03T09:56:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9801385402679443s
2025-11-03T09:56:35.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9801385402679443
2025-11-03T09:56:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:36
2025-11-03T09:56:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797825813293457s
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1666006;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18637;2460982.83097642;9.94340639;1.3;_
2025-11-03T09:56:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1666006;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18637;2460982.83097642;9.94340639;1.3;_
2025-11-03T09:56:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1666006, teldec = -24.256602
2025-11-03T09:56:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1666006 -24.256602
2025-11-03T09:56:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1666006 -24.256602
2025-11-03T09:56:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1666006 -24.256602
2025-11-03T09:56:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1666006;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18637;2460982.83097645;9.94340639;1.3;_15.1417161262415 -24.1582403852346
2025-11-03T09:56:36.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1417161262415     dec_j2k = -24.1582403852346
2025-11-03T09:56:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968208838498127;171.162351965909;_
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968208838498127;171.162351965909;_
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48623)
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:36.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:36.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83097642, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968208838498127, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1666006, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18637, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1417161262415, telescope_dec_j2k=-24.1582403852346, observability=1)
2025-11-03T09:56:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:36
2025-11-03T09:56:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38529515266418457s
2025-11-03T09:56:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38529515266418457
2025-11-03T09:56:37.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:37
2025-11-03T09:56:37.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:37.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9824762344360352s
2025-11-03T09:56:37.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9824762344360352
2025-11-03T09:56:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:38
2025-11-03T09:56:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9846246242523193s
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1671613;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18693;2460982.83099958;9.94396556;1.3;_
2025-11-03T09:56:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1671613;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18693;2460982.83099958;9.94396556;1.3;_
2025-11-03T09:56:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:38.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1671613, teldec = -24.256602
2025-11-03T09:56:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1671613 -24.256602
2025-11-03T09:56:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1671613 -24.256602
2025-11-03T09:56:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1671613 -24.256602
2025-11-03T09:56:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1671613;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18693;2460982.83099961;9.94396556;1.3;_15.1422763827966 -24.1582553765102
2025-11-03T09:56:38.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1422763827966     dec_j2k = -24.1582553765102
2025-11-03T09:56:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968213651931264;171.162346601491;_
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968213651931264;171.162346601491;_
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:38.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52981)
2025-11-03T09:56:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:38.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:38.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83099958, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968213651931264, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1671613, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18693, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1422763827966, telescope_dec_j2k=-24.1582553765102, observability=1)
2025-11-03T09:56:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:38
2025-11-03T09:56:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.383472204208374s
2025-11-03T09:56:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.383472204208374
2025-11-03T09:56:39.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:39
2025-11-03T09:56:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9820833206176758s
2025-11-03T09:56:39.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9820833206176758
2025-11-03T09:56:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:40
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819598197937012s
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1677217;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18749;2460982.83102271;9.94452444;1.3;_
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1677217;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18749;2460982.83102271;9.94452444;1.3;_
2025-11-03T09:56:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1677217, teldec = -24.256602
2025-11-03T09:56:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1677217 -24.256602
2025-11-03T09:56:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1677217 -24.256602
2025-11-03T09:56:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1677217 -24.256602
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1677217;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18749;2460982.83102274;9.94452444;1.3;_15.1428363396471 -24.1582703619149
2025-11-03T09:56:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1428363396471     dec_j2k = -24.1582703619149
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968210844095267;171.162357330327;_
2025-11-03T09:56:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968210844095267;171.162357330327;_
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58275)
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:40.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:40.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:40.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83102271, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968210844095267, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1677217, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18749, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1428363396471, telescope_dec_j2k=-24.1582703619149, observability=1)
2025-11-03T09:56:40.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:40
2025-11-03T09:56:40.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:40.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40822768211364746s
2025-11-03T09:56:40.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40822768211364746
2025-11-03T09:56:41.267 [DEBUG] [Thread-88772 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:41.267 [DEBUG] [Thread-88772 (handle)] [server.py] [get_status()] Status age = 0.8840839862823486s
2025-11-03T09:56:41.267 [DEBUG] [Thread-88772 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8840839862823486
2025-11-03T09:56:41.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:41
2025-11-03T09:56:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9779617786407471s
2025-11-03T09:56:41.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9779617786407471
2025-11-03T09:56:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:42
2025-11-03T09:56:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773249626159668s
2025-11-03T09:56:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1682811;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18805;2460982.83104586;9.94508222;1.3;_
2025-11-03T09:56:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1682811;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18805;2460982.83104586;9.94508222;1.3;_
2025-11-03T09:56:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1682811, teldec = -24.256602
2025-11-03T09:56:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1682811 -24.256602
2025-11-03T09:56:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1682811 -24.256602
2025-11-03T09:56:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1682811 -24.256602
2025-11-03T09:56:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1682811;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18805;2460982.83104588;9.94508222;1.3;_15.1433952973464 -24.1582853227227
2025-11-03T09:56:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1433952973464     dec_j2k = -24.1582853227227
2025-11-03T09:56:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968216058647832;171.162351965909;_
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968216058647832;171.162351965909;_
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49033)
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:42.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:42.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:42.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83104586, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968216058647832, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1682811, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18805, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1433952973464, telescope_dec_j2k=-24.1582853227227, observability=1)
2025-11-03T09:56:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:42
2025-11-03T09:56:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38770532608032227s
2025-11-03T09:56:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38770532608032227
2025-11-03T09:56:43.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:43
2025-11-03T09:56:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9838371276855469s
2025-11-03T09:56:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9838371276855469
2025-11-03T09:56:44.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:44
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835712909698486s
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:44.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.168832;-24.256602;50.108545;89.993051;50.08601;90.12017;12.1886;2460982.831069;9.94563167;1.3;_
2025-11-03T09:56:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.168832;-24.256602;50.108545;89.993051;50.08601;90.12017;12.1886;2460982.831069;9.94563167;1.3;_
2025-11-03T09:56:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:44.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.168832, teldec = -24.256602
2025-11-03T09:56:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.168832 -24.256602
2025-11-03T09:56:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.168832 -24.256602
2025-11-03T09:56:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.168832 -24.256602
2025-11-03T09:56:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.168832;-24.256602;50.108545;89.993051;50.08601;90.12017;12.1886;2460982.83106903;9.94563167;1.3;_15.1439457618232 -24.1583000582959
2025-11-03T09:56:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1439457618232     dec_j2k = -24.1583000582959
2025-11-03T09:56:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096821645976726;171.162368059163;_
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096821645976726;171.162368059163;_
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37049)
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:44.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:44.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:44.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:44.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.831069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096821645976726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.168832, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1886, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1439457618232, telescope_dec_j2k=-24.1583000582959, observability=1)
2025-11-03T09:56:44.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:44
2025-11-03T09:56:44.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:44.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39522457122802734s
2025-11-03T09:56:44.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39522457122802734
2025-11-03T09:56:44.859 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:44.859 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:44.859 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:44.859 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:44.859 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:44.860 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:56:44.861 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:56:44.862 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:45
2025-11-03T09:56:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9814455509185791s
2025-11-03T09:56:45.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9814455509185791
2025-11-03T09:56:46.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:46
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814176559448242s
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:46.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1693927;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18916;2460982.83109214;9.94619083;1.3;_
2025-11-03T09:56:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1693927;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18916;2460982.83109214;9.94619083;1.3;_
2025-11-03T09:56:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:46.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1693927, teldec = -24.256602
2025-11-03T09:56:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1693927 -24.256602
2025-11-03T09:56:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1693927 -24.256602
2025-11-03T09:56:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1693927 -24.256602
2025-11-03T09:56:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1693927;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18916;2460982.83109218;9.94619083;1.3;_15.1445060186102 -24.1583150581336
2025-11-03T09:56:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1445060186102     dec_j2k = -24.1583150581336
2025-11-03T09:56:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968223679916965;171.162351965909;_
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968223679916965;171.162351965909;_
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57841)
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:46.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:46.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:46.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83109214, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968223679916965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1693927, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18916, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1445060186102, telescope_dec_j2k=-24.1583150581336, observability=1)
2025-11-03T09:56:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:46
2025-11-03T09:56:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38784337043762207s
2025-11-03T09:56:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38784337043762207
2025-11-03T09:56:47.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:47
2025-11-03T09:56:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9794979095458984s
2025-11-03T09:56:47.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9794979095458984
2025-11-03T09:56:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:48
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786138534545898s
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1699526;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18972;2460982.83111529;9.94674917;1.3;_
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1699526;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18972;2460982.83111529;9.94674917;1.3;_
2025-11-03T09:56:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1699526, teldec = -24.256602
2025-11-03T09:56:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1699526 -24.256602
2025-11-03T09:56:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1699526 -24.256602
2025-11-03T09:56:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1699526 -24.256602
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1699526;-24.256602;50.108545;89.993051;50.08601;90.12017;12.18972;2460982.83111532;9.94674917;1.3;_15.1450654760877 -24.1583300387157
2025-11-03T09:56:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1450654760877     dec_j2k = -24.1583300387157
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968221674319825;171.162357330327;_
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968221674319825;171.162357330327;_
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37903)
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:48.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:48.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:48.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83111529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968221674319825, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1699526, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.18972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1450654760877, telescope_dec_j2k=-24.1583300387157, observability=1)
2025-11-03T09:56:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:48
2025-11-03T09:56:48.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38710927963256836s
2025-11-03T09:56:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38710927963256836
2025-11-03T09:56:49.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:49
2025-11-03T09:56:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9842727184295654s
2025-11-03T09:56:49.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9842727184295654
2025-11-03T09:56:49.616 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:49.616 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Status age = 1.2399935722351074s
2025-11-03T09:56:49.616 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:49.616 [DEBUG] [Thread-88773 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:49.617 [DEBUG] [Thread-88773 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:49.617 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:49.617 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:49.617 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:49.618 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:49.619 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 17;15.1702793;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19004;2460982.83112985;9.947075;1.3;_
2025-11-03T09:56:49.619 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response 17;15.1702793;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19004;2460982.83112985;9.947075;1.3;_
2025-11-03T09:56:49.619 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:49.619 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:49.619 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:49.620 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:49.620 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:49.620 [INFO] [Thread-88773 (handle)] [driver.py] [get_status()] Telra = 15.1702793, teldec = -24.256602
2025-11-03T09:56:49.620 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1702793 -24.256602
2025-11-03T09:56:49.620 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1702793 -24.256602
2025-11-03T09:56:49.620 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1702793 -24.256602
2025-11-03T09:56:49.621 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 17;15.1702793;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19004;2460982.83112987;9.947075;1.3;_15.1453919179041 -24.1583387808318
2025-11-03T09:56:49.621 [INFO] [Thread-88773 (handle)] [driver.py] [get_status()] ra_j2k = 15.1453919179041     dec_j2k = -24.1583387808318
2025-11-03T09:56:49.621 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:49.621 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:49.621 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 140;0.0968225284394677;171.162362694745;_
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response 140;0.0968225284394677;171.162362694745;_
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:49.622 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:49.623 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:49.624 [DEBUG] [Thread-88773 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:49.624 [DEBUG] [Thread-88773 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:49.624 [DEBUG] [Thread-88773 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48865)
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:49.630 [DEBUG] [Thread-88773 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:49.637 [DEBUG] [Thread-88773 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:49.637 [INFO] [Thread-88773 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83112985, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968225284394677, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1702793, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19004, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1453919179041, telescope_dec_j2k=-24.1583387808318, observability=1)
2025-11-03T09:56:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:50
2025-11-03T09:56:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7226736545562744s
2025-11-03T09:56:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7226736545562744
2025-11-03T09:56:50.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:50
2025-11-03T09:56:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.138033151626587s
2025-11-03T09:56:50.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.170616;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19038;2460982.83114326;9.94741083;1.3;_
2025-11-03T09:56:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.170616;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19038;2460982.83114326;9.94741083;1.3;_
2025-11-03T09:56:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:50.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.170616, teldec = -24.256602
2025-11-03T09:56:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.170616 -24.256602
2025-11-03T09:56:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.170616 -24.256602
2025-11-03T09:56:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.170616 -24.256602
2025-11-03T09:56:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.170616;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19038;2460982.83114329;9.94741083;1.3;_15.1457283518383 -24.1583477913003
2025-11-03T09:56:50.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1457283518383     dec_j2k = -24.1583477913003
2025-11-03T09:56:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:50.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968218866483828;171.162357330327;_
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968218866483828;171.162357330327;_
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:50.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:50.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:50.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:50.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:50.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49107)
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:50.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:50.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83114326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968218866483828, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.170616, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19038, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1457283518383, telescope_dec_j2k=-24.1583477913003, observability=1)
2025-11-03T09:56:51.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:51
2025-11-03T09:56:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5652744770050049s
2025-11-03T09:56:51.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5652744770050049
2025-11-03T09:56:52.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:52
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5654220581054688s
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:52.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1710642;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19083;2460982.83116162;9.94785778;1.3;_
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1710642;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19083;2460982.83116162;9.94785778;1.3;_
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:52.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1710642, teldec = -24.256602
2025-11-03T09:56:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1710642 -24.256602
2025-11-03T09:56:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1710642 -24.256602
2025-11-03T09:56:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1710642 -24.256602
2025-11-03T09:56:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1710642;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19083;2460982.83116164;9.94785778;1.3;_15.1461761976962 -24.1583597868363
2025-11-03T09:56:52.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1461761976962     dec_j2k = -24.1583597868363
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968229295588958;171.162351965909;_
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968229295588958;171.162351965909;_
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:52.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52317)
2025-11-03T09:56:52.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:52.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:52.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:52.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:52.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:52.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:52.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:52.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:52.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83116162, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968229295588958, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1710642, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19083, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1461761976962, telescope_dec_j2k=-24.1583597868363, observability=1)
2025-11-03T09:56:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:52
2025-11-03T09:56:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37928128242492676s
2025-11-03T09:56:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37928128242492676
2025-11-03T09:56:53.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:53
2025-11-03T09:56:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.978126049041748s
2025-11-03T09:56:53.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.978126049041748
2025-11-03T09:56:54.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:54
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976837396621704s
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:54.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:54.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1716238;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19139;2460982.83118477;9.94841583;1.3;_
2025-11-03T09:56:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1716238;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19139;2460982.83118477;9.94841583;1.3;_
2025-11-03T09:56:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:54.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1716238, teldec = -24.256602
2025-11-03T09:56:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1716238 -24.256602
2025-11-03T09:56:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1716238 -24.256602
2025-11-03T09:56:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1716238 -24.256602
2025-11-03T09:56:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1716238;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19139;2460982.83118479;9.94841583;1.3;_15.1467353555844 -24.1583747657879
2025-11-03T09:56:54.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1467353555844     dec_j2k = -24.1583747657879
2025-11-03T09:56:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968226086633533;171.162368059163;_
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968226086633533;171.162368059163;_
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60283)
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:54.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:54.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83118477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968226086633533, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1716238, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19139, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1467353555844, telescope_dec_j2k=-24.1583747657879, observability=1)
2025-11-03T09:56:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:54
2025-11-03T09:56:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3818624019622803s
2025-11-03T09:56:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3818624019622803
2025-11-03T09:56:55.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:55
2025-11-03T09:56:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9813129901885986s
2025-11-03T09:56:55.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9813129901885986
2025-11-03T09:56:56.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:56
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826302528381348s
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1721742;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19194;2460982.83120792;9.94896472;1.3;_
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1721742;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19194;2460982.83120792;9.94896472;1.3;_
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1721742, teldec = -24.256602
2025-11-03T09:56:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1721742 -24.256602
2025-11-03T09:56:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1721742 -24.256602
2025-11-03T09:56:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1721742 -24.256602
2025-11-03T09:56:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1721742;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19194;2460982.83120794;9.94896472;1.3;_15.1472853207977 -24.1583895005694
2025-11-03T09:56:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1472853207977     dec_j2k = -24.1583895005694
2025-11-03T09:56:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968225685514105;171.162351965909;_
2025-11-03T09:56:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968225685514105;171.162351965909;_
2025-11-03T09:56:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60027)
2025-11-03T09:56:56.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:56.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:56.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83120792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968225685514105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1721742, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19194, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1472853207977, telescope_dec_j2k=-24.1583895005694, observability=1)
2025-11-03T09:56:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:56
2025-11-03T09:56:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3799245357513428s
2025-11-03T09:56:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3799245357513428
2025-11-03T09:56:57.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:57
2025-11-03T09:56:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9786388874053955s
2025-11-03T09:56:57.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9786388874053955
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5828442573547363s
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1726226;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19239;2460982.83122647;9.94941194;1.3;_
2025-11-03T09:56:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.1726226;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19239;2460982.83122647;9.94941194;1.3;_
2025-11-03T09:56:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:57.968 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.1726226, teldec = -24.256602
2025-11-03T09:56:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1726226 -24.256602
2025-11-03T09:56:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1726226 -24.256602
2025-11-03T09:56:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1726226 -24.256602
2025-11-03T09:56:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1726226;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19239;2460982.83122649;9.94941194;1.3;_15.1477333666272 -24.1584015062353
2025-11-03T09:56:57.969 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.1477333666272     dec_j2k = -24.1584015062353
2025-11-03T09:56:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968227691111246;171.162368059163;_
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968227691111246;171.162368059163;_
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:57.976 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53851)
2025-11-03T09:56:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:57.977 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:57.977 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:57.984 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83122647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968227691111246, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1726226, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19239, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1477333666272, telescope_dec_j2k=-24.1584015062353, observability=1)
2025-11-03T09:56:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:58
2025-11-03T09:56:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37642669677734375s
2025-11-03T09:56:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37642669677734375
2025-11-03T09:56:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:58
2025-11-03T09:56:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7771267890930176s
2025-11-03T09:56:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7771267890930176
2025-11-03T09:56:59.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:56:59
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.377084493637085s
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:59.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:59.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124263;9.94980333;1.3;_
2025-11-03T09:56:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124263;9.94980333;1.3;_
2025-11-03T09:56:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:59.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:59.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:59.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1730151, teldec = -24.256602
2025-11-03T09:56:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124266;9.94980333;1.3;_15.1481255566401 -24.1584120163371
2025-11-03T09:56:59.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1481255566401     dec_j2k = -24.1584120163371
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968234510141523;171.162351965909;_
2025-11-03T09:56:59.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968234510141523;171.162351965909;_
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:59.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:59.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33753)
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:59.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Status age = 1.3916015625s
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:56:59.376 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:56:59.377 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124279;9.94980333;1.3;_
2025-11-03T09:56:59.377 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124279;9.94980333;1.3;_
2025-11-03T09:56:59.377 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:56:59.377 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:56:59.377 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:56:59.378 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:59.378 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:56:59.378 [INFO] [Thread-88774 (handle)] [driver.py] [get_status()] Telra = 15.1730151, teldec = -24.256602
2025-11-03T09:56:59.378 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.378 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.378 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1730151 -24.256602
2025-11-03T09:56:59.379 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 17;15.1730151;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19278;2460982.83124281;9.94980333;1.3;_15.1481255566401 -24.1584120163371
2025-11-03T09:56:59.379 [INFO] [Thread-88774 (handle)] [driver.py] [get_status()] ra_j2k = 15.1481255566401     dec_j2k = -24.1584120163371
2025-11-03T09:56:59.379 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:56:59.379 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:56:59.379 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:56:59.380 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 140;0.0968234510141523;171.162351965909;_
2025-11-03T09:56:59.380 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response 140;0.0968234510141523;171.162351965909;_
2025-11-03T09:56:59.380 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:59.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:59.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:59.382 [DEBUG] [Thread-88774 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:59.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:59.382 [DEBUG] [Thread-88774 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:56:59.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:59.382 [DEBUG] [Thread-88774 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:56:59.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83124263, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968234510141523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1730151, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19278, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1481255566401, telescope_dec_j2k=-24.1584120163371, observability=1)
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51467)
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:56:59.389 [DEBUG] [Thread-88774 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:56:59.396 [DEBUG] [Thread-88774 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:56:59.396 [DEBUG] [Thread-88774 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:59.396 [DEBUG] [Thread-88774 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:56:59.396 [DEBUG] [Thread-88774 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:56:59.397 [DEBUG] [Thread-88774 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:56:59.397 [DEBUG] [Thread-88774 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:56:59.397 [DEBUG] [Thread-88774 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:56:59.397 [DEBUG] [Thread-88774 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:56:59.397 [DEBUG] [Thread-88774 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:56:59.397 [INFO] [Thread-88774 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83124279, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968234510141523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1730151, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19278, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1481255566401, telescope_dec_j2k=-24.1584120163371, observability=1)
2025-11-03T09:57:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:00
2025-11-03T09:57:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9634332656860352s
2025-11-03T09:57:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9634332656860352
2025-11-03T09:57:00.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:00
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.36610746383667s
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.173407;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19317;2460982.83125884;9.95019417;1.3;_
2025-11-03T09:57:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.173407;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19317;2460982.83125884;9.95019417;1.3;_
2025-11-03T09:57:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.173407, teldec = -24.256602
2025-11-03T09:57:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.173407 -24.256602
2025-11-03T09:57:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.173407 -24.256602
2025-11-03T09:57:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.173407 -24.256602
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.173407;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19317;2460982.83125888;9.95019417;1.3;_15.1485171471555 -24.1584225114229
2025-11-03T09:57:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1485171471555     dec_j2k = -24.1584225114229
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968229295588958;171.162357330327;_
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968229295588958;171.162357330327;_
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:00.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40415)
2025-11-03T09:57:00.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:00.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:00.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83125884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968229295588958, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.173407, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19317, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1485171471555, telescope_dec_j2k=-24.1584225114229, observability=1)
2025-11-03T09:57:01.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:01
2025-11-03T09:57:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5795700550079346s
2025-11-03T09:57:01.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5795700550079346
2025-11-03T09:57:02.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:02
2025-11-03T09:57:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5803089141845703s
2025-11-03T09:57:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:02.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:02.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1738457;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19361;2460982.83127735;9.95063167;1.3;_
2025-11-03T09:57:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1738457;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19361;2460982.83127735;9.95063167;1.3;_
2025-11-03T09:57:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:02.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1738457, teldec = -24.256602
2025-11-03T09:57:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1738457 -24.256602
2025-11-03T09:57:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1738457 -24.256602
2025-11-03T09:57:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1738457 -24.256602
2025-11-03T09:57:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1738457;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19361;2460982.83127737;9.95063167;1.3;_15.1489555007466 -24.1584342610583
2025-11-03T09:57:02.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1489555007466     dec_j2k = -24.1584342610583
2025-11-03T09:57:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968233707902666;171.162346601491;_
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968233707902666;171.162346601491;_
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51401)
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:02.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:02.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:02.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83127735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968233707902666, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1738457, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19361, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1489555007466, telescope_dec_j2k=-24.1584342610583, observability=1)
2025-11-03T09:57:02.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:02
2025-11-03T09:57:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38332629203796387s
2025-11-03T09:57:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38332629203796387
2025-11-03T09:57:03.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:03
2025-11-03T09:57:03.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9779136180877686s
2025-11-03T09:57:03.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9779136180877686
2025-11-03T09:57:04.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:04
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977975606918335s
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1744064;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19417;2460982.8313005;9.95119083;1.3;_
2025-11-03T09:57:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1744064;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19417;2460982.8313005;9.95119083;1.3;_
2025-11-03T09:57:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:04.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1744064, teldec = -24.256602
2025-11-03T09:57:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1744064 -24.256602
2025-11-03T09:57:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1744064 -24.256602
2025-11-03T09:57:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1744064 -24.256602
2025-11-03T09:57:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1744064;-24.256602;50.108545;89.993051;50.08601;90.12017;12.19417;2460982.83130052;9.95119083;1.3;_15.1495157580553 -24.1584492801154
2025-11-03T09:57:04.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1495157580553     dec_j2k = -24.1584492801154
2025-11-03T09:57:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968227289991818;171.162351965909;_
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968227289991818;171.162351965909;_
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:04.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34663)
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:04.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8313005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968227289991818, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108545, telescope_az=89.993051, telescope_ra=15.1744064, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19417, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1495157580553, telescope_dec_j2k=-24.1584492801154, observability=1)
2025-11-03T09:57:04.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:04
2025-11-03T09:57:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38663196563720703s
2025-11-03T09:57:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38663196563720703
2025-11-03T09:57:05.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:05
2025-11-03T09:57:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9809072017669678s
2025-11-03T09:57:05.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9809072017669678
2025-11-03T09:57:06.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:06
2025-11-03T09:57:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:06.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823901653289795s
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1749682;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19473;2460982.83132366;9.95175111;1.3;_
2025-11-03T09:57:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1749682;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19473;2460982.83132366;9.95175111;1.3;_
2025-11-03T09:57:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1749682, teldec = -24.256602
2025-11-03T09:57:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1749682 -24.256602
2025-11-03T09:57:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1749682 -24.256602
2025-11-03T09:57:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1749682 -24.256602
2025-11-03T09:57:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1749682;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19473;2460982.83132368;9.95175111;1.3;_15.1500771145542 -24.1584643307915
2025-11-03T09:57:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1500771145542     dec_j2k = -24.1584643307915
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968235312380379;171.162351965909;_
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968235312380379;171.162351965909;_
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42777)
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:06.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:06.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:06.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:06.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83132366, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968235312380379, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1749682, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19473, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1500771145542, telescope_dec_j2k=-24.1584643307915, observability=1)
2025-11-03T09:57:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:06
2025-11-03T09:57:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3817019462585449s
2025-11-03T09:57:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3817019462585449
2025-11-03T09:57:07.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:07
2025-11-03T09:57:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9830255508422852s
2025-11-03T09:57:07.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9830255508422852
2025-11-03T09:57:08.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:08
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982391595840454s
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1755192;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19528;2460982.83134678;9.95230056;1.3;_
2025-11-03T09:57:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1755192;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19528;2460982.83134678;9.95230056;1.3;_
2025-11-03T09:57:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1755192, teldec = -24.256602
2025-11-03T09:57:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1755192 -24.256602
2025-11-03T09:57:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1755192 -24.256602
2025-11-03T09:57:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1755192 -24.256602
2025-11-03T09:57:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1755192;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19528;2460982.83134682;9.95230056;1.3;_15.1506276796358 -24.1584790942287
2025-11-03T09:57:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1506276796358     dec_j2k = -24.1584790942287
2025-11-03T09:57:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968228493350102;171.162357330327;_
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968228493350102;171.162357330327;_
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:08.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50057)
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:08.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:08.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:08.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83134678, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968228493350102, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1755192, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19528, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1506276796358, telescope_dec_j2k=-24.1584790942287, observability=1)
2025-11-03T09:57:08.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:08
2025-11-03T09:57:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3862159252166748s
2025-11-03T09:57:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3862159252166748
2025-11-03T09:57:09.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:09
2025-11-03T09:57:09.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9766967296600342s
2025-11-03T09:57:09.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9766967296600342
2025-11-03T09:57:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:10
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779791831970215s
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1760807;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19585;2460982.83136994;9.95286056;1.3;_
2025-11-03T09:57:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1760807;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19585;2460982.83136994;9.95286056;1.3;_
2025-11-03T09:57:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:10.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1760807, teldec = -24.256602
2025-11-03T09:57:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1760807 -24.256602
2025-11-03T09:57:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1760807 -24.256602
2025-11-03T09:57:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1760807 -24.256602
2025-11-03T09:57:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1760807;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19585;2460982.83136998;9.95286056;1.3;_15.1511887364876 -24.158494141135
2025-11-03T09:57:10.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1511887364876     dec_j2k = -24.158494141135
2025-11-03T09:57:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968234911260951;171.162346601491;_
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968234911260951;171.162346601491;_
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36339)
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:10.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:10.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:10.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83136994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968234911260951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1760807, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19585, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1511887364876, telescope_dec_j2k=-24.158494141135, observability=1)
2025-11-03T09:57:10.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:10
2025-11-03T09:57:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3866419792175293s
2025-11-03T09:57:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3866419792175293
2025-11-03T09:57:10.950 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:10.950 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.56894850730896s
2025-11-03T09:57:10.950 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.56894850730896
2025-11-03T09:57:11.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:11
2025-11-03T09:57:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796159267425537s
2025-11-03T09:57:11.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796159267425537
2025-11-03T09:57:12.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:12
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789924621582031s
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:12.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:12.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1766125;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19638;2460982.83139309;9.95339083;1.3;_
2025-11-03T09:57:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1766125;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19638;2460982.83139309;9.95339083;1.3;_
2025-11-03T09:57:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:12.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1766125, teldec = -24.256602
2025-11-03T09:57:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1766125 -24.256602
2025-11-03T09:57:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1766125 -24.256602
2025-11-03T09:57:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1766125 -24.256602
2025-11-03T09:57:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1766406;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19641;2460982.83139311;9.95341889;1.3;_15.1517201168332 -24.1585083941348
2025-11-03T09:57:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1517201168332     dec_j2k = -24.1585083941348
2025-11-03T09:57:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968232504544382;171.162362694745;_
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968232504544382;171.162362694745;_
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40309)
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:12.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:12.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:12.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:12.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:12.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:12.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83139309, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968232504544382, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1766125, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19638, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1517201168332, telescope_dec_j2k=-24.1585083941348, observability=1)
2025-11-03T09:57:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:12
2025-11-03T09:57:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3844914436340332s
2025-11-03T09:57:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3844914436340332
2025-11-03T09:57:13.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:13
2025-11-03T09:57:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9823694229125977s
2025-11-03T09:57:13.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9823694229125977
2025-11-03T09:57:13.643 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:57:13
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.2653608322143555s
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:13.643 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:13.644 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:13.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.1769952;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19676;2460982.83140793;9.9537725;1.3;_
2025-11-03T09:57:13.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.1769952;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19676;2460982.83140793;9.9537725;1.3;_
2025-11-03T09:57:13.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:13.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:13.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:13.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:13.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:13.646 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.1769952, teldec = -24.256602
2025-11-03T09:57:13.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1769952 -24.256602
2025-11-03T09:57:13.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1769952 -24.256602
2025-11-03T09:57:13.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1769952 -24.256602
2025-11-03T09:57:13.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.1769952;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19676;2460982.83140795;9.9537725;1.3;_15.1521025148693 -24.1585186522364
2025-11-03T09:57:13.647 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.1521025148693     dec_j2k = -24.1585186522364
2025-11-03T09:57:13.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:13.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968234510141523;171.162362694745;_
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968234510141523;171.162362694745;_
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:13.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:13.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:13.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:13.651 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:13.651 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33433)
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:13.653 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:13.660 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:13.660 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:13.660 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:13.661 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:13.661 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83140793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968234510141523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1769952, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19676, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1521025148693, telescope_dec_j2k=-24.1585186522364, observability=1)
2025-11-03T09:57:14.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:14
2025-11-03T09:57:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7003726959228516s
2025-11-03T09:57:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7003726959228516
2025-11-03T09:57:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:14
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1051692962646484s
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1773038;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19707;2460982.83142094;9.95408028;1.3;_
2025-11-03T09:57:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1773038;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19707;2460982.83142094;9.95408028;1.3;_
2025-11-03T09:57:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:14.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1773038, teldec = -24.256602
2025-11-03T09:57:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1773038 -24.256602
2025-11-03T09:57:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1773038 -24.256602
2025-11-03T09:57:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1773038 -24.256602
2025-11-03T09:57:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1773038;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19707;2460982.83142096;9.95408028;1.3;_15.1524108713927 -24.158526924849
2025-11-03T09:57:14.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1524108713927     dec_j2k = -24.158526924849
2025-11-03T09:57:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968235312380379;171.162357330327;_
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968235312380379;171.162357330327;_
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32987)
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:14.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:14.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:14.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:14.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:14.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83142094, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968235312380379, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1773038, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19707, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1524108713927, telescope_dec_j2k=-24.158526924849, observability=1)
2025-11-03T09:57:15.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:15
2025-11-03T09:57:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5740137100219727s
2025-11-03T09:57:15.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5740137100219727
2025-11-03T09:57:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:16
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5740747451782227s
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1777522;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19752;2460982.83143938;9.9545275;1.3;_
2025-11-03T09:57:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1777522;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19752;2460982.83143938;9.9545275;1.3;_
2025-11-03T09:57:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1777522, teldec = -24.256602
2025-11-03T09:57:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1777522 -24.256602
2025-11-03T09:57:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1777522 -24.256602
2025-11-03T09:57:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1777522 -24.256602
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1777522;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19752;2460982.8314394;9.9545275;1.3;_15.1528589176495 -24.1585389462262
2025-11-03T09:57:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1528589176495     dec_j2k = -24.1585389462262
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968238521335803;171.162351965909;_
2025-11-03T09:57:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968238521335803;171.162351965909;_
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33045)
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:16.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:16.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:16.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83143938, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968238521335803, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1777522, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19752, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1528589176495, telescope_dec_j2k=-24.1585389462262, observability=1)
2025-11-03T09:57:16.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:16
2025-11-03T09:57:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3968191146850586s
2025-11-03T09:57:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3968191146850586
2025-11-03T09:57:17.160 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:57:17.160 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7836401462554932s
2025-11-03T09:57:17.160 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7836401462554932
2025-11-03T09:57:17.160 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.516902208328247 seconds ago
2025-11-03T09:57:17.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:17
2025-11-03T09:57:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9851336479187012s
2025-11-03T09:57:17.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9851336479187012
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Status age = 1.0669822692871094s
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:17.443 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:17.444 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:17.444 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 17;15.1780319;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1978;2460982.83145191;9.95480639;1.3;_
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response 17;15.1780319;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1978;2460982.83145191;9.95480639;1.3;_
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:17.445 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:17.446 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:17.446 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:17.446 [INFO] [Thread-88775 (handle)] [driver.py] [get_status()] Telra = 15.1780319, teldec = -24.256602
2025-11-03T09:57:17.446 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1780319 -24.256602
2025-11-03T09:57:17.446 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1780319 -24.256602
2025-11-03T09:57:17.446 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1780319 -24.256602
2025-11-03T09:57:17.447 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 17;15.1780319;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1978;2460982.83145193;9.95480639;1.3;_15.1531383970129 -24.1585464455368
2025-11-03T09:57:17.447 [INFO] [Thread-88775 (handle)] [driver.py] [get_status()] ra_j2k = 15.1531383970129     dec_j2k = -24.1585464455368
2025-11-03T09:57:17.447 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:17.447 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:17.447 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:17.447 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 140;0.0968238521335803;171.162362694745;_
2025-11-03T09:57:17.448 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response 140;0.0968238521335803;171.162362694745;_
2025-11-03T09:57:17.448 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:17.448 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:17.448 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:17.448 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:17.449 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:17.450 [DEBUG] [Thread-88775 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:17.450 [DEBUG] [Thread-88775 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:17.450 [DEBUG] [Thread-88775 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:17.453 [DEBUG] [Thread-88775 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35637)
2025-11-03T09:57:17.453 [DEBUG] [Thread-88775 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:17.453 [DEBUG] [Thread-88775 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:17.454 [DEBUG] [Thread-88775 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:17.454 [DEBUG] [Thread-88775 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:17.454 [DEBUG] [Thread-88775 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:17.460 [DEBUG] [Thread-88775 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:17.461 [DEBUG] [Thread-88775 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:17.461 [INFO] [Thread-88775 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83145191, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968238521335803, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1780319, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1978, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1531383970129, telescope_dec_j2k=-24.1585464455368, observability=1)
2025-11-03T09:57:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:18
2025-11-03T09:57:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8988552093505859s
2025-11-03T09:57:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8988552093505859
2025-11-03T09:57:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:18
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.304718017578125s
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1784235;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19819;2460982.83146721;9.95519694;1.3;_
2025-11-03T09:57:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1784235;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19819;2460982.83146721;9.95519694;1.3;_
2025-11-03T09:57:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1784235, teldec = -24.256602
2025-11-03T09:57:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1784235 -24.256602
2025-11-03T09:57:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1784235 -24.256602
2025-11-03T09:57:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1784235 -24.256602
2025-11-03T09:57:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1784235;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19819;2460982.83146725;9.95519694;1.3;_15.1535296881302 -24.1585569460049
2025-11-03T09:57:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1535296881302     dec_j2k = -24.1585569460049
2025-11-03T09:57:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968237317977519;171.162346601491;_
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968237317977519;171.162346601491;_
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54023)
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:18.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:18.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:18.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83146721, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968237317977519, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1784235, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19819, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:56:18.841502', telescope_ra_j2k=15.1535296881302, telescope_dec_j2k=-24.1585569460049, observability=1)
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:18.983 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:18.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:18.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:18.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:18.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:18.984 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:57:18.985 [INFO] [ThreadPoolExecutor-3433_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:57:18.985 [INFO] [ThreadPoolExecutor-3433_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:57:19.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:19
2025-11-03T09:57:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5747759342193604s
2025-11-03T09:57:19.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5747759342193604
2025-11-03T09:57:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:20
2025-11-03T09:57:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5741701126098633s
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1788628;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19863;2460982.83148568;9.955635;1.3;_
2025-11-03T09:57:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1788628;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19863;2460982.83148568;9.955635;1.3;_
2025-11-03T09:57:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1788628, teldec = -24.256602
2025-11-03T09:57:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1788628 -24.256602
2025-11-03T09:57:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1788628 -24.256602
2025-11-03T09:57:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1788628 -24.256602
2025-11-03T09:57:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1788628;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19863;2460982.83148571;9.955635;1.3;_15.1539686416571 -24.1585687267592
2025-11-03T09:57:20.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1539686416571     dec_j2k = -24.1585687267592
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968239323574659;171.162357330327;_
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968239323574659;171.162357330327;_
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34047)
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:20.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:20.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:20.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83148568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968239323574659, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1788628, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19863, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1539686416571, telescope_dec_j2k=-24.1585687267592, observability=1)
2025-11-03T09:57:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:20
2025-11-03T09:57:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3830704689025879s
2025-11-03T09:57:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3830704689025879
2025-11-03T09:57:21.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:21
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0281212329864502s
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:21.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:21.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:21.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:21.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:21.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.179143;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19891;2460982.83149784;9.95591444;1.3;_
2025-11-03T09:57:21.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.179143;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19891;2460982.83149784;9.95591444;1.3;_
2025-11-03T09:57:21.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:21.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:21.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:21.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:21.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:21.414 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.179143, teldec = -24.256602
2025-11-03T09:57:21.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.179143 -24.256602
2025-11-03T09:57:21.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.179143 -24.256602
2025-11-03T09:57:21.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.179143 -24.256602
2025-11-03T09:57:21.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.179143;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19891;2460982.83149786;9.95591444;1.3;_15.1542486206839 -24.1585762415999
2025-11-03T09:57:21.415 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1542486206839     dec_j2k = -24.1585762415999
2025-11-03T09:57:21.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:21.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:21.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096824534036608;171.162357330327;_
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096824534036608;171.162357330327;_
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:21.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:21.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:21.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:21.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:21.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42595)
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:21.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:21.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:21.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83149784, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096824534036608, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.179143, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19891, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1542486206839, telescope_dec_j2k=-24.1585762415999, observability=1)
2025-11-03T09:57:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:22
2025-11-03T09:57:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9321935176849365s
2025-11-03T09:57:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9321935176849365
2025-11-03T09:57:22.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:22
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3590257167816162s
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:22.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:22.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:22.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1795352;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1993;2460982.83151377;9.95630556;1.3;_
2025-11-03T09:57:22.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1795352;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1993;2460982.83151377;9.95630556;1.3;_
2025-11-03T09:57:22.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:22.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:22.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:22.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:22.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:22.791 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1795352, teldec = -24.256602
2025-11-03T09:57:22.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1795352 -24.256602
2025-11-03T09:57:22.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1795352 -24.256602
2025-11-03T09:57:22.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1795352 -24.256602
2025-11-03T09:57:22.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1795352;-24.256602;50.108544;89.993051;50.08601;90.12017;12.1993;2460982.8315138;9.95630556;1.3;_15.154640511409 -24.1585867611309
2025-11-03T09:57:22.792 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.154640511409     dec_j2k = -24.1585867611309
2025-11-03T09:57:22.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:22.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:22.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968241730291228;171.162357330327;_
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968241730291228;171.162357330327;_
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:22.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:22.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:22.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:22.799 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39601)
2025-11-03T09:57:22.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:22.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:22.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:22.800 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:22.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:22.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:22.807 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83151377, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968241730291228, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1795352, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.1993, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.154640511409, telescope_dec_j2k=-24.1585867611309, observability=1)
2025-11-03T09:57:23.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:23
2025-11-03T09:57:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5540454387664795s
2025-11-03T09:57:23.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5540454387664795
2025-11-03T09:57:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:24
2025-11-03T09:57:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5534157752990723s
2025-11-03T09:57:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1799549;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19972;2460982.83153197;9.95672417;1.3;_
2025-11-03T09:57:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1799549;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19972;2460982.83153197;9.95672417;1.3;_
2025-11-03T09:57:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:24.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1799549, teldec = -24.256602
2025-11-03T09:57:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1799549 -24.256602
2025-11-03T09:57:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1799549 -24.256602
2025-11-03T09:57:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1799549 -24.256602
2025-11-03T09:57:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1799831;-24.256602;50.108544;89.993051;50.08601;90.12017;12.19975;2460982.83153199;9.95675222;1.3;_15.1550598804804 -24.1585980194253
2025-11-03T09:57:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1550598804804     dec_j2k = -24.1585980194253
2025-11-03T09:57:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968240928052371;171.162346601491;_
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968240928052371;171.162346601491;_
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53107)
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:24.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:24.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:24.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:24.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83153197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968240928052371, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1799549, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.19972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1550598804804, telescope_dec_j2k=-24.1585980194253, observability=1)
2025-11-03T09:57:24.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:24
2025-11-03T09:57:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3915576934814453s
2025-11-03T09:57:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3915576934814453
2025-11-03T09:57:25.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:25
2025-11-03T09:57:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9796981811523438s
2025-11-03T09:57:25.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9796981811523438
2025-11-03T09:57:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:26
2025-11-03T09:57:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792828559875488s
2025-11-03T09:57:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1805335;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2003;2460982.83155513;9.95730111;1.3;_
2025-11-03T09:57:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1805335;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2003;2460982.83155513;9.95730111;1.3;_
2025-11-03T09:57:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1805335, teldec = -24.256602
2025-11-03T09:57:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1805335 -24.256602
2025-11-03T09:57:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1805335 -24.256602
2025-11-03T09:57:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1805335 -24.256602
2025-11-03T09:57:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1805335;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2003;2460982.83155515;9.95730111;1.3;_15.1556380243146 -24.1586135421225
2025-11-03T09:57:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1556380243146     dec_j2k = -24.1586135421225
2025-11-03T09:57:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968240928052371;171.162362694745;_
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968240928052371;171.162362694745;_
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38183)
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:26.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:26.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83155513, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968240928052371, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1805335, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2003, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1556380243146, telescope_dec_j2k=-24.1586135421225, observability=1)
2025-11-03T09:57:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:26
2025-11-03T09:57:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3830702304840088s
2025-11-03T09:57:26.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3830702304840088
2025-11-03T09:57:27.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:27
2025-11-03T09:57:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9806711673736572s
2025-11-03T09:57:27.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9806711673736572
2025-11-03T09:57:28.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:28
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981522560119629s
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:28.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:28.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1810942;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20086;2460982.83157828;9.95786028;1.3;_
2025-11-03T09:57:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1810942;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20086;2460982.83157828;9.95786028;1.3;_
2025-11-03T09:57:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:28.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:28.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1810942, teldec = -24.256602
2025-11-03T09:57:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1810942 -24.256602
2025-11-03T09:57:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1810942 -24.256602
2025-11-03T09:57:28.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1810942 -24.256602
2025-11-03T09:57:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1810942;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20086;2460982.8315783;9.95786028;1.3;_15.1561982823205 -24.1586285867764
2025-11-03T09:57:28.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1561982823205     dec_j2k = -24.1586285867764
2025-11-03T09:57:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096824333476894;171.162357330327;_
2025-11-03T09:57:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096824333476894;171.162357330327;_
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:28.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52339)
2025-11-03T09:57:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:28.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:28.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:28.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:28.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:28.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:28.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:28.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:28.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83157828, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096824333476894, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1810942, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20086, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1561982823205, telescope_dec_j2k=-24.1586285867764, observability=1)
2025-11-03T09:57:28.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:28
2025-11-03T09:57:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3948960304260254s
2025-11-03T09:57:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3948960304260254
2025-11-03T09:57:29.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:29
2025-11-03T09:57:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980515718460083s
2025-11-03T09:57:29.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980515718460083
2025-11-03T09:57:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:30
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980363368988037s
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1816543;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20142;2460982.83160141;9.95841889;1.3;_
2025-11-03T09:57:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1816543;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20142;2460982.83160141;9.95841889;1.3;_
2025-11-03T09:57:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1816543, teldec = -24.256602
2025-11-03T09:57:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1816543 -24.256602
2025-11-03T09:57:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1816543 -24.256602
2025-11-03T09:57:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1816543 -24.256602
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1816543;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20142;2460982.83160144;9.95841889;1.3;_15.1567579408578 -24.1586436174716
2025-11-03T09:57:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1567579408578     dec_j2k = -24.1586436174716
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096824734596322;171.162351965909;_
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096824734596322;171.162351965909;_
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42199)
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:30.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:30.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:30.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83160141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096824734596322, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1816543, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20142, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1567579408578, telescope_dec_j2k=-24.1586436174716, observability=1)
2025-11-03T09:57:30.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:30
2025-11-03T09:57:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3966238498687744s
2025-11-03T09:57:30.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3966238498687744
2025-11-03T09:57:31.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:31
2025-11-03T09:57:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9826791286468506s
2025-11-03T09:57:31.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9826791286468506
2025-11-03T09:57:32.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:32
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9835829734802246s
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:32.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:32.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1822047;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20197;2460982.83162457;9.95896778;1.3;_
2025-11-03T09:57:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1822047;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20197;2460982.83162457;9.95896778;1.3;_
2025-11-03T09:57:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:32.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:32.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1822047, teldec = -24.256602
2025-11-03T09:57:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1822047 -24.256602
2025-11-03T09:57:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1822047 -24.256602
2025-11-03T09:57:32.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1822047 -24.256602
2025-11-03T09:57:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1822047;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20197;2460982.8316246;9.95896778;1.3;_15.1573079070974 -24.158658389944
2025-11-03T09:57:32.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1573079070974     dec_j2k = -24.158658389944
2025-11-03T09:57:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:32.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096824333476894;171.162357330327;_
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096824333476894;171.162357330327;_
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38933)
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:32.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:32.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83162457, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096824333476894, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1822047, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20197, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1573079070974, telescope_dec_j2k=-24.158658389944, observability=1)
2025-11-03T09:57:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:32
2025-11-03T09:57:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3841252326965332s
2025-11-03T09:57:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3841252326965332
2025-11-03T09:57:33.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:33
2025-11-03T09:57:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9786992073059082s
2025-11-03T09:57:33.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9786992073059082
2025-11-03T09:57:34.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:34
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775474071502686s
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:34.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:34.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1827651;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20253;2460982.83164771;9.95952667;1.3;_
2025-11-03T09:57:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1827651;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20253;2460982.83164771;9.95952667;1.3;_
2025-11-03T09:57:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:34.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1827651, teldec = -24.256602
2025-11-03T09:57:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1827651 -24.256602
2025-11-03T09:57:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1827651 -24.256602
2025-11-03T09:57:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1827651 -24.256602
2025-11-03T09:57:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1827651;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20253;2460982.83164773;9.95952667;1.3;_15.1578678655141 -24.1586734329335
2025-11-03T09:57:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1578678655141     dec_j2k = -24.1586734329335
2025-11-03T09:57:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968247747082648;171.162362694745;_
2025-11-03T09:57:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968247747082648;171.162362694745;_
2025-11-03T09:57:34.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39689)
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:34.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:34.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:34.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:34.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83164771, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968247747082648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1827651, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20253, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1578678655141, telescope_dec_j2k=-24.1586734329335, observability=1)
2025-11-03T09:57:34.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:34
2025-11-03T09:57:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3884775638580322s
2025-11-03T09:57:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3884775638580322
2025-11-03T09:57:35.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:35
2025-11-03T09:57:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9852554798126221s
2025-11-03T09:57:35.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9852554798126221
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Status age = 1.194309949874878s
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:35.571 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:35.572 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:35.573 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 17;15.1831013;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20287;2460982.83166172;9.95986194;1.3;_
2025-11-03T09:57:35.573 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response 17;15.1831013;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20287;2460982.83166172;9.95986194;1.3;_
2025-11-03T09:57:35.573 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:35.573 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:35.573 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:35.574 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:35.574 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:35.574 [INFO] [Thread-88776 (handle)] [driver.py] [get_status()] Telra = 15.1831013, teldec = -24.256602
2025-11-03T09:57:35.574 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1831013 -24.256602
2025-11-03T09:57:35.575 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1831013 -24.256602
2025-11-03T09:57:35.575 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1831013 -24.256602
2025-11-03T09:57:35.575 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 17;15.1831013;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20287;2460982.83166175;9.95986194;1.3;_15.1582038006238 -24.1586824586808
2025-11-03T09:57:35.575 [INFO] [Thread-88776 (handle)] [driver.py] [get_status()] ra_j2k = 15.1582038006238     dec_j2k = -24.1586824586808
2025-11-03T09:57:35.576 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:35.576 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:35.576 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 140;0.096824534036608;171.162357330327;_
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response 140;0.096824534036608;171.162357330327;_
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:35.577 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:35.578 [DEBUG] [Thread-88776 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:35.578 [DEBUG] [Thread-88776 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:35.578 [DEBUG] [Thread-88776 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57009)
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:35.581 [DEBUG] [Thread-88776 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:35.588 [DEBUG] [Thread-88776 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:35.589 [DEBUG] [Thread-88776 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:35.589 [INFO] [Thread-88776 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83166172, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096824534036608, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1831013, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1582038006238, telescope_dec_j2k=-24.1586824586808, observability=1)
2025-11-03T09:57:36.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:36
2025-11-03T09:57:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7723560333251953s
2025-11-03T09:57:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7723560333251953
2025-11-03T09:57:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:36
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1729862689971924s
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1834372;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2032;2460982.83167551;9.96019694;1.3;_
2025-11-03T09:57:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1834372;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2032;2460982.83167551;9.96019694;1.3;_
2025-11-03T09:57:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1834372, teldec = -24.256602
2025-11-03T09:57:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1834372 -24.256602
2025-11-03T09:57:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1834372 -24.256602
2025-11-03T09:57:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1834372 -24.256602
2025-11-03T09:57:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1834372;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2032;2460982.83167553;9.96019694;1.3;_15.1585394359908 -24.1586914771436
2025-11-03T09:57:36.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1585394359908     dec_j2k = -24.1586914771436
2025-11-03T09:57:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968245741485508;171.162351965909;_
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968245741485508;171.162351965909;_
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:36.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33997)
2025-11-03T09:57:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:36.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:36.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:36.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:36.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83167551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968245741485508, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1834372, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2032, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1585394359908, telescope_dec_j2k=-24.1586914771436, observability=1)
2025-11-03T09:57:37.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:37
2025-11-03T09:57:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5817153453826904s
2025-11-03T09:57:37.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5817153453826904
2025-11-03T09:57:38.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:38
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.582399606704712s
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1838759;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20364;2460982.831694;9.96063444;1.3;_
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1838759;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20364;2460982.831694;9.96063444;1.3;_
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1838759, teldec = -24.256602
2025-11-03T09:57:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1838759 -24.256602
2025-11-03T09:57:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1838759 -24.256602
2025-11-03T09:57:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1838759 -24.256602
2025-11-03T09:57:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1838759;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20364;2460982.83169403;9.96063444;1.3;_15.1589777904002 -24.1587032568059
2025-11-03T09:57:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1589777904002     dec_j2k = -24.1587032568059
2025-11-03T09:57:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968253763874069;171.162368059163;_
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968253763874069;171.162368059163;_
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42197)
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:38.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:38.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.831694, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968253763874069, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1838759, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20364, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1589777904002, telescope_dec_j2k=-24.1587032568059, observability=1)
2025-11-03T09:57:38.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:38
2025-11-03T09:57:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39226865768432617s
2025-11-03T09:57:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39226865768432617
2025-11-03T09:57:39.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:39
2025-11-03T09:57:39.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:39.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9792501926422119s
2025-11-03T09:57:39.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9792501926422119
2025-11-03T09:57:39.862 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.862 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.862 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:39.862 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:39.862 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:57:39.863 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:39.864 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:39.865 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.865 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:39.865 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:39.865 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:39.866 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:57:39.867 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.868 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:39.868 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:39.868 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:39.868 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:39.868 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Park
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:57:39.869 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:57:39.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 29;15.1842968;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20406;2460982.83171145;9.96105417;1.3;_Park Command Successful
2025-11-03T09:57:40.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:40
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815707206726074s
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1844366;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2042;2460982.83171716;9.96119361;1.3;_
2025-11-03T09:57:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1844366;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2042;2460982.83171716;9.96119361;1.3;_
2025-11-03T09:57:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1844366, teldec = -24.256602
2025-11-03T09:57:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1844366 -24.256602
2025-11-03T09:57:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1844366 -24.256602
2025-11-03T09:57:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1844366 -24.256602
2025-11-03T09:57:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1844366;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2042;2460982.83171719;9.96119361;1.3;_15.1595380487551 -24.1587183142352
2025-11-03T09:57:40.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1595380487551     dec_j2k = -24.1587183142352
2025-11-03T09:57:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968246944843792;171.162362694745;_
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968246944843792;171.162362694745;_
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:40.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:40.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53997)
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:40.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:40.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:40.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83171716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968246944843792, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1844366, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2042, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1595380487551, telescope_dec_j2k=-24.1587183142352, observability=1)
2025-11-03T09:57:40.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:40
2025-11-03T09:57:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3857142925262451s
2025-11-03T09:57:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3857142925262451
2025-11-03T09:57:40.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:57:40.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:57:40.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:57:40.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:57:40.870 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:57:41.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:41
2025-11-03T09:57:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9811463356018066s
2025-11-03T09:57:41.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9811463356018066
2025-11-03T09:57:41.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:57:41.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:57:41.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:57:41.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:57:41.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T09:57:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:42
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811770915985107s
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:42.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:42.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1849973;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20476;2460982.8317403;9.96175278;1.3;_
2025-11-03T09:57:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1849973;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20476;2460982.8317403;9.96175278;1.3;_
2025-11-03T09:57:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:42.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:42.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1849973, teldec = -24.256602
2025-11-03T09:57:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1849973 -24.256602
2025-11-03T09:57:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1849973 -24.256602
2025-11-03T09:57:42.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1849973 -24.256602
2025-11-03T09:57:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1849973;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20476;2460982.83174032;9.96175278;1.3;_15.1600983071685 -24.1587333738065
2025-11-03T09:57:42.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1600983071685     dec_j2k = -24.1587333738065
2025-11-03T09:57:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:42.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968247747082648;171.162357330327;_
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968247747082648;171.162357330327;_
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42493)
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:42.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:42.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8317403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968247747082648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1849973, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1600983071685, telescope_dec_j2k=-24.1587333738065, observability=1)
2025-11-03T09:57:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:42
2025-11-03T09:57:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3828575611114502s
2025-11-03T09:57:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3828575611114502
2025-11-03T09:57:42.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:57:42.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:57:42.871 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:57:42.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:57:42.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T09:57:43.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:43
2025-11-03T09:57:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9799251556396484s
2025-11-03T09:57:43.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9799251556396484
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:43.872 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:43.873 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:43.874 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:57:43.874 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:57:43.874 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:57:43.874 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:44.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:44
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980980396270752s
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1855288;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20529;2460982.83176347;9.96228278;1.3;_
2025-11-03T09:57:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1855288;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20529;2460982.83176347;9.96228278;1.3;_
2025-11-03T09:57:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1855288, teldec = -24.256602
2025-11-03T09:57:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1855288 -24.256602
2025-11-03T09:57:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1855288 -24.256602
2025-11-03T09:57:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1855288 -24.256602
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1855288;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20529;2460982.8317635;9.96228278;1.3;_15.1606293886329 -24.1587476510864
2025-11-03T09:57:44.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1606293886329     dec_j2k = -24.1587476510864
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968254967232353;171.162362694745;_
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968254967232353;171.162362694745;_
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55291)
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:44.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:44.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:44.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83176347, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968254967232353, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1855288, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20529, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1606293886329, telescope_dec_j2k=-24.1587476510864, observability=1)
2025-11-03T09:57:44.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:44
2025-11-03T09:57:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38538599014282227s
2025-11-03T09:57:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38538599014282227
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:57:44.875 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:57:44.876 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:57:44.876 [DEBUG] [ThreadPoolExecutor-3432_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:44.876 [INFO] [ThreadPoolExecutor-3432_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:57:45.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:45
2025-11-03T09:57:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9832360744476318s
2025-11-03T09:57:45.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9832360744476318
2025-11-03T09:57:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:46
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983799695968628s
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1861079;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20587;2460982.8317866;9.96286028;1.3;_
2025-11-03T09:57:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1861079;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20587;2460982.8317866;9.96286028;1.3;_
2025-11-03T09:57:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1861079, teldec = -24.256602
2025-11-03T09:57:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1861079 -24.256602
2025-11-03T09:57:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1861079 -24.256602
2025-11-03T09:57:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1861079 -24.256602
2025-11-03T09:57:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1861079;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20587;2460982.83178663;9.96286028;1.3;_15.161208032674 -24.1587632091991
2025-11-03T09:57:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.161208032674     dec_j2k = -24.1587632091991
2025-11-03T09:57:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968255368351781;171.162357330327;_
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968255368351781;171.162357330327;_
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34473)
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:46.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:46.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8317866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968255368351781, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1861079, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.161208032674, telescope_dec_j2k=-24.1587632091991, observability=1)
2025-11-03T09:57:46.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:46
2025-11-03T09:57:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3897707462310791s
2025-11-03T09:57:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3897707462310791
2025-11-03T09:57:47.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:47
2025-11-03T09:57:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9824855327606201s
2025-11-03T09:57:47.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9824855327606201
2025-11-03T09:57:48.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:48
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.386671304702759s
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1867817;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20655;2460982.83181442;9.96353222;1.3;_
2025-11-03T09:57:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1867817;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20655;2460982.83181442;9.96353222;1.3;_
2025-11-03T09:57:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:48.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1867817, teldec = -24.256602
2025-11-03T09:57:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1867817 -24.256602
2025-11-03T09:57:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1867817 -24.256602
2025-11-03T09:57:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1867817 -24.256602
2025-11-03T09:57:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1867817;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20655;2460982.83181444;9.96353222;1.3;_15.161881302231 -24.1587813143986
2025-11-03T09:57:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.161881302231     dec_j2k = -24.1587813143986
2025-11-03T09:57:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968258176187778;171.162357330327;_
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968258176187778;171.162357330327;_
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48335)
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:48.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:48.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:48.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:48.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:48.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83181442, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968258176187778, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1867817, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.161881302231, telescope_dec_j2k=-24.1587813143986, observability=1)
2025-11-03T09:57:49.690 [DEBUG] [Thread-88777 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:49.690 [DEBUG] [Thread-88777 (handle)] [server.py] [get_status()] Status age = 0.9094679355621338s
2025-11-03T09:57:49.690 [DEBUG] [Thread-88777 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9094679355621338
2025-11-03T09:57:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:50
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9809532165527344s
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:50.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1873329;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2071;2460982.83183755;9.96408194;1.3;_
2025-11-03T09:57:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1873329;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2071;2460982.83183755;9.96408194;1.3;_
2025-11-03T09:57:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1873329, teldec = -24.256602
2025-11-03T09:57:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1873329 -24.256602
2025-11-03T09:57:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1873329 -24.256602
2025-11-03T09:57:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1873329 -24.256602
2025-11-03T09:57:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1873329;-24.256602;50.108544;89.993051;50.08601;90.12017;12.2071;2460982.83183757;9.96408194;1.3;_15.1624320683667 -24.1587961275997
2025-11-03T09:57:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1624320683667     dec_j2k = -24.1587961275997
2025-11-03T09:57:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968252560515785;171.162346601491;_
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968252560515785;171.162346601491;_
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44755)
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:50.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:50.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83183755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968252560515785, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1873329, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2071, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1624320683667, telescope_dec_j2k=-24.1587961275997, observability=1)
2025-11-03T09:57:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:52
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808568954467773s
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1878939;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20766;2460982.83186071;9.96464139;1.3;_
2025-11-03T09:57:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1878939;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20766;2460982.83186071;9.96464139;1.3;_
2025-11-03T09:57:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1878939, teldec = -24.256602
2025-11-03T09:57:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1878939 -24.256602
2025-11-03T09:57:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1878939 -24.256602
2025-11-03T09:57:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1878939 -24.256602
2025-11-03T09:57:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1878939;-24.256602;50.108544;89.993051;50.08601;90.12017;12.20766;2460982.83186074;9.96464139;1.3;_15.1629926268467 -24.1588112062944
2025-11-03T09:57:52.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1629926268467     dec_j2k = -24.1588112062944
2025-11-03T09:57:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968252560515785;171.162357330327;_
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968252560515785;171.162357330327;_
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:52.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39021)
2025-11-03T09:57:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:52.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:52.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83186071, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968252560515785, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108544, telescope_az=89.993051, telescope_ra=15.1878939, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20766, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1629926268467, telescope_dec_j2k=-24.1588112062944, observability=1)
2025-11-03T09:57:53.643 [DEBUG] [Thread-88778 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:53.643 [DEBUG] [Thread-88778 (handle)] [server.py] [get_status()] Status age = 0.8585994243621826s
2025-11-03T09:57:53.643 [DEBUG] [Thread-88778 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8585994243621826
2025-11-03T09:57:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:54
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787867069244385s
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1884267;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20819;2460982.83188385;9.96517278;1.3;_
2025-11-03T09:57:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1884267;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20819;2460982.83188385;9.96517278;1.3;_
2025-11-03T09:57:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1884267, teldec = -24.256602
2025-11-03T09:57:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1884267 -24.256602
2025-11-03T09:57:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1884267 -24.256602
2025-11-03T09:57:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1884267 -24.256602
2025-11-03T09:57:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1884267;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20819;2460982.83188388;9.96517278;1.3;_15.1635250075752 -24.1588255290061
2025-11-03T09:57:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1635250075752     dec_j2k = -24.1588255290061
2025-11-03T09:57:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968258978426634;171.162351965909;_
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968258978426634;171.162351965909;_
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37757)
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:54.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:54.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83188385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968258978426634, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1884267, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20819, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1635250075752, telescope_dec_j2k=-24.1588255290061, observability=1)
2025-11-03T09:57:55.037 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:55
2025-11-03T09:57:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25631093978881836s
2025-11-03T09:57:55.037 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25631093978881836
2025-11-03T09:57:55.058 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:55
2025-11-03T09:57:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2777392864227295s
2025-11-03T09:57:55.059 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2777392864227295
2025-11-03T09:57:56.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:56
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.638739824295044s
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:56.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:56.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1888947;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20866;2460982.83190303;9.96563944;1.3;_
2025-11-03T09:57:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1888947;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20866;2460982.83190303;9.96563944;1.3;_
2025-11-03T09:57:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:56.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1888947, teldec = -24.256602
2025-11-03T09:57:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1888947 -24.256602
2025-11-03T09:57:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1888947 -24.256602
2025-11-03T09:57:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1888947 -24.256602
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1888947;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20866;2460982.83190306;9.96563944;1.3;_15.1639926393397 -24.1588381113603
2025-11-03T09:57:56.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1639926393397     dec_j2k = -24.1588381113603
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968253763874069;171.162357330327;_
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968253763874069;171.162357330327;_
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:57:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:57:56.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48411)
2025-11-03T09:57:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:56.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:56.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:56.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83190303, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968253763874069, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1888947, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20866, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1639926393397, telescope_dec_j2k=-24.1588381113603, observability=1)
2025-11-03T09:57:56.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:56
2025-11-03T09:57:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0232851505279541s
2025-11-03T09:57:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0232851505279541
2025-11-03T09:57:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:56
2025-11-03T09:57:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32253527641296387s
2025-11-03T09:57:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32253527641296387
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5413939952850342s
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:57:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:57:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:57:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1893434;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20911;2460982.83192111;9.96608694;1.3;_
2025-11-03T09:57:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.1893434;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20911;2460982.83192111;9.96608694;1.3;_
2025-11-03T09:57:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:57:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:57:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:57:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:57:57.985 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.1893434, teldec = -24.256602
2025-11-03T09:57:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1893434 -24.256602
2025-11-03T09:57:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1893434 -24.256602
2025-11-03T09:57:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1893434 -24.256602
2025-11-03T09:57:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.1893434;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20911;2460982.83192113;9.96608694;1.3;_15.1644409863285 -24.1588501762263
2025-11-03T09:57:57.986 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.1644409863285     dec_j2k = -24.1588501762263
2025-11-03T09:57:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:57:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:57:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968252159396357;171.162357330327;_
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968252159396357;171.162357330327;_
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:57:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:57:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:57:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39859)
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:57:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:57:57.997 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:57:57.998 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83192111, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968252159396357, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1893434, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20911, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1644409863285, telescope_dec_j2k=-24.1588501762263, observability=1)
2025-11-03T09:57:58.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:58
2025-11-03T09:57:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.362689733505249s
2025-11-03T09:57:58.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.362689733505249
2025-11-03T09:57:58.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:58
2025-11-03T09:57:58.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3849778175354004s
2025-11-03T09:57:58.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3849778175354004
2025-11-03T09:57:58.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:57:58
2025-11-03T09:57:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:57:58.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7629296779632568s
2025-11-03T09:57:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7629296779632568
2025-11-03T09:58:00.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:00
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.362419843673706s
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:00.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:00.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:00.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1899874;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20975;2460982.83194863;9.96672917;1.3;_
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1899874;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20975;2460982.83194863;9.96672917;1.3;_
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:00.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:00.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:00.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1899874, teldec = -24.256602
2025-11-03T09:58:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1899874 -24.256602
2025-11-03T09:58:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1899874 -24.256602
2025-11-03T09:58:00.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1899874 -24.256602
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1899874;-24.256602;50.108543;89.993051;50.08601;90.12017;12.20975;2460982.83194867;9.96672917;1.3;_15.1650844797321 -24.1588674948087
2025-11-03T09:58:00.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1650844797321     dec_j2k = -24.1588674948087
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968260181784918;171.162351965909;_
2025-11-03T09:58:00.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968260181784918;171.162351965909;_
2025-11-03T09:58:00.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:00.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:00.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60009)
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:00.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:00.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:00.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:00.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:00.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:00.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83194863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968260181784918, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1899874, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.20975, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1650844797321, telescope_dec_j2k=-24.1588674948087, observability=1)
2025-11-03T09:58:00.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:00
2025-11-03T09:58:00.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:00.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022956132888793945s
2025-11-03T09:58:00.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022956132888793945
2025-11-03T09:58:00.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:00
2025-11-03T09:58:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3935246467590332s
2025-11-03T09:58:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3935246467590332
2025-11-03T09:58:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:02
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3906095027923584s
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1906787;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21044;2460982.83197649;9.96741861;1.3;_
2025-11-03T09:58:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1906787;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21044;2460982.83197649;9.96741861;1.3;_
2025-11-03T09:58:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1906787, teldec = -24.256602
2025-11-03T09:58:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1906787 -24.256602
2025-11-03T09:58:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1906787 -24.256602
2025-11-03T09:58:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1906787 -24.256602
2025-11-03T09:58:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1906787;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21044;2460982.83197652;9.96741861;1.3;_15.1657752360137 -24.1588860885325
2025-11-03T09:58:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1657752360137     dec_j2k = -24.1588860885325
2025-11-03T09:58:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968260984023774;171.162357330327;_
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968260984023774;171.162357330327;_
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33329)
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:02.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83197649, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968260984023774, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1906787, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21044, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1657752360137, telescope_dec_j2k=-24.1588860885325, observability=1)
2025-11-03T09:58:04.557 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:04
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7733683586120605s
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:04.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:04.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:04.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1911553;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21092;2460982.83199721;9.96789389;1.3;_
2025-11-03T09:58:04.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1911553;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21092;2460982.83199721;9.96789389;1.3;_
2025-11-03T09:58:04.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:04.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:04.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:04.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:04.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:04.560 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1911553, teldec = -24.256602
2025-11-03T09:58:04.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1911553 -24.256602
2025-11-03T09:58:04.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1911553 -24.256602
2025-11-03T09:58:04.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1911553 -24.256602
2025-11-03T09:58:04.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1911553;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21092;2460982.83199723;9.96789389;1.3;_15.1662514612122 -24.158898909417
2025-11-03T09:58:04.561 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1662514612122     dec_j2k = -24.158898909417
2025-11-03T09:58:04.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:04.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:04.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968255769471209;171.162351965909;_
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968255769471209;171.162351965909;_
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:04.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:04.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:04.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:04.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:04.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:04.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:04.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:04.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:04.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:04.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46143)
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:04.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:04.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:04.575 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83199721, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968255769471209, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1911553, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21092, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1662514612122, telescope_dec_j2k=-24.158898909417, observability=1)
2025-11-03T09:58:04.598 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:04
2025-11-03T09:58:04.598 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:04.598 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022936344146728516s
2025-11-03T09:58:04.598 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022936344146728516
2025-11-03T09:58:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:04
2025-11-03T09:58:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18684887886047363s
2025-11-03T09:58:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18684887886047363
2025-11-03T09:58:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:06
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7847511768341064s
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1916589;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21142;2460982.83201808;9.96839611;1.3;_
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1916589;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21142;2460982.83201808;9.96839611;1.3;_
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:06.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1916589, teldec = -24.256602
2025-11-03T09:58:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1916589 -24.256602
2025-11-03T09:58:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1916589 -24.256602
2025-11-03T09:58:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1916589 -24.256602
2025-11-03T09:58:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1916589;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21142;2460982.8320181;9.96839611;1.3;_15.1667546652238 -24.1589124582995
2025-11-03T09:58:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1667546652238     dec_j2k = -24.1589124582995
2025-11-03T09:58:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968254566112925;171.162351965909;_
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968254566112925;171.162351965909;_
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33135)
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:06.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:06.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83201808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968254566112925, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1916589, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21142, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1667546652238, telescope_dec_j2k=-24.1589124582995, observability=1)
2025-11-03T09:58:06.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:06
2025-11-03T09:58:06.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:06.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022612810134887695s
2025-11-03T09:58:06.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022612810134887695
2025-11-03T09:58:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:06
2025-11-03T09:58:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3813154697418213s
2025-11-03T09:58:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3813154697418213
2025-11-03T09:58:08.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:08
2025-11-03T09:58:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792988300323486s
2025-11-03T09:58:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:08.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1922382;-24.256602;50.108543;89.993051;50.08601;90.12017;12.212;2460982.83204124;9.96897389;1.3;_
2025-11-03T09:58:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1922382;-24.256602;50.108543;89.993051;50.08601;90.12017;12.212;2460982.83204124;9.96897389;1.3;_
2025-11-03T09:58:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:08.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1922382, teldec = -24.256602
2025-11-03T09:58:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1922382 -24.256602
2025-11-03T09:58:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1922382 -24.256602
2025-11-03T09:58:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1922382 -24.256602
2025-11-03T09:58:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1922382;-24.256602;50.108543;89.993051;50.08601;90.12017;12.212;2460982.83204126;9.96897389;1.3;_15.1673335097699 -24.158928045952
2025-11-03T09:58:08.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1673335097699     dec_j2k = -24.158928045952
2025-11-03T09:58:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968266198576339;171.162357330327;_
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968266198576339;171.162357330327;_
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:08.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:08.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36197)
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:08.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:08.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:08.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:08.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83204124, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968266198576339, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1922382, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.212, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1673335097699, telescope_dec_j2k=-24.158928045952, observability=1)
2025-11-03T09:58:08.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:08
2025-11-03T09:58:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02226877212524414s
2025-11-03T09:58:08.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02226877212524414
2025-11-03T09:58:08.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:08
2025-11-03T09:58:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3863980770111084s
2025-11-03T09:58:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3863980770111084
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6601927280426025s
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:10.042 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:10.043 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:10.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.1926886;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21245;2460982.83206069;9.96942306;1.3;_
2025-11-03T09:58:10.044 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.1926886;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21245;2460982.83206069;9.96942306;1.3;_
2025-11-03T09:58:10.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:10.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:10.044 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:10.045 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:10.045 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:10.045 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.1926886, teldec = -24.256602
2025-11-03T09:58:10.045 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1926886 -24.256602
2025-11-03T09:58:10.045 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1926886 -24.256602
2025-11-03T09:58:10.045 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1926886 -24.256602
2025-11-03T09:58:10.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.1926886;-24.256602;50.108543;89.993051;50.08601;90.12017;12.21245;2460982.83206072;9.96942306;1.3;_15.1677835557023 -24.1589401667737
2025-11-03T09:58:10.046 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.1677835557023     dec_j2k = -24.1589401667737
2025-11-03T09:58:10.046 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968258978426634;171.162351965909;_
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968258978426634;171.162351965909;_
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:10.047 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:10.048 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:10.049 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50413)
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:10.056 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:10.063 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:10.064 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83206069, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968258978426634, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1926886, telescope_dec=-24.256602, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21245, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1677835557023, telescope_dec_j2k=-24.1589401667737, observability=1)
2025-11-03T09:58:10.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:10
2025-11-03T09:58:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29753947257995605s
2025-11-03T09:58:10.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29753947257995605
2025-11-03T09:58:10.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:10
2025-11-03T09:58:10.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:10.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3198835849761963s
2025-11-03T09:58:10.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3198835849761963
2025-11-03T09:58:10.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:10
2025-11-03T09:58:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.698486328125s
2025-11-03T09:58:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.698486328125
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Status age = 1.6468031406402588s
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:11.710 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:11.711 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:11.712 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 17;15.1931563;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21292;2460982.83208;9.96988944;1.3;_
2025-11-03T09:58:11.712 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response 17;15.1931563;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21292;2460982.83208;9.96988944;1.3;_
2025-11-03T09:58:11.712 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:11.712 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:11.712 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:11.713 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:11.713 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:11.713 [INFO] [Thread-88779 (handle)] [driver.py] [get_status()] Telra = 15.1931563, teldec = -24.256601
2025-11-03T09:58:11.713 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1931563 -24.256601
2025-11-03T09:58:11.713 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1931563 -24.256601
2025-11-03T09:58:11.714 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1931563 -24.256601
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 17;15.1931563;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21292;2460982.83208002;9.96988944;1.3;_15.1682508882188 -24.1589517546394
2025-11-03T09:58:11.715 [INFO] [Thread-88779 (handle)] [driver.py] [get_status()] ra_j2k = 15.1682508882188     dec_j2k = -24.1589517546394
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 140;0.0968259379546062;171.162357330327;_
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response 140;0.0968259379546062;171.162357330327;_
2025-11-03T09:58:11.715 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:11.716 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:11.717 [DEBUG] [Thread-88779 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:11.717 [DEBUG] [Thread-88779 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:11.717 [DEBUG] [Thread-88779 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50173)
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:11.723 [DEBUG] [Thread-88779 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:11.730 [DEBUG] [Thread-88779 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:11.731 [DEBUG] [Thread-88779 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:11.731 [DEBUG] [Thread-88779 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:11.731 [INFO] [Thread-88779 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83208, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968259379546062, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1931563, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21292, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1682508882188, telescope_dec_j2k=-24.1589517546394, observability=1)
2025-11-03T09:58:12.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:12
2025-11-03T09:58:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6303079128265381s
2025-11-03T09:58:12.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6303079128265381
2025-11-03T09:58:12.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:12
2025-11-03T09:58:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6525628566741943s
2025-11-03T09:58:12.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6525628566741943
2025-11-03T09:58:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:12
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0303654670715332s
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:12.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1934649;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21323;2460982.83209216;9.97019722;1.3;_
2025-11-03T09:58:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1934649;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21323;2460982.83209216;9.97019722;1.3;_
2025-11-03T09:58:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1934649, teldec = -24.256601
2025-11-03T09:58:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1934649 -24.256601
2025-11-03T09:58:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1934649 -24.256601
2025-11-03T09:58:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1934649 -24.256601
2025-11-03T09:58:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1934649;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21323;2460982.83209219;9.97019722;1.3;_15.1685592456715 -24.1589600612248
2025-11-03T09:58:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1685592456715     dec_j2k = -24.1589600612248
2025-11-03T09:58:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968264995218055;171.162357330327;_
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968264995218055;171.162357330327;_
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47231)
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:12.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:12.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83209216, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968264995218055, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1934649, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21323, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1685592456715, telescope_dec_j2k=-24.1589600612248, observability=1)
2025-11-03T09:58:13.721 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:58:13
2025-11-03T09:58:13.721 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:13.721 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.94333815574646s
2025-11-03T09:58:13.721 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.94333815574646
2025-11-03T09:58:14.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:14
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5825700759887695s
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:14.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:14.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:14.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1938861;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21365;2460982.83211067;9.97061722;1.3;_
2025-11-03T09:58:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1938861;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21365;2460982.83211067;9.97061722;1.3;_
2025-11-03T09:58:14.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:14.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:14.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1938861, teldec = -24.256601
2025-11-03T09:58:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1938861 -24.256601
2025-11-03T09:58:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1938861 -24.256601
2025-11-03T09:58:14.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1938861 -24.256601
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1938861;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21365;2460982.83211071;9.97061722;1.3;_15.168980114654 -24.1589713997087
2025-11-03T09:58:14.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.168980114654     dec_j2k = -24.1589713997087
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968262588501486;171.162362694745;_
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968262588501486;171.162362694745;_
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:14.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:14.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:14.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54131)
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:14.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:14.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:14.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:14.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:14.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:14.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83211067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968262588501486, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1938861, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.168980114654, telescope_dec_j2k=-24.1589713997087, observability=1)
2025-11-03T09:58:14.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:14
2025-11-03T09:58:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022792577743530273s
2025-11-03T09:58:14.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022792577743530273
2025-11-03T09:58:14.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:14
2025-11-03T09:58:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3842933177947998s
2025-11-03T09:58:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3842933177947998
2025-11-03T09:58:16.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:16
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981039047241211s
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1944657;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21423;2460982.83213383;9.97119528;1.3;_
2025-11-03T09:58:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1944657;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21423;2460982.83213383;9.97119528;1.3;_
2025-11-03T09:58:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1944657, teldec = -24.256601
2025-11-03T09:58:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1944657 -24.256601
2025-11-03T09:58:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1944657 -24.256601
2025-11-03T09:58:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1944657 -24.256601
2025-11-03T09:58:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1944657;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21423;2460982.83213385;9.97119528;1.3;_15.1695592592053 -24.1589870042088
2025-11-03T09:58:16.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1695592592053     dec_j2k = -24.1589870042088
2025-11-03T09:58:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968268204173479;171.162362694745;_
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968268204173479;171.162362694745;_
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:16.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47815)
2025-11-03T09:58:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:16.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:16.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:16.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:16.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83213383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968268204173479, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1944657, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21423, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1695592592053, telescope_dec_j2k=-24.1589870042088, observability=1)
2025-11-03T09:58:16.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:16
2025-11-03T09:58:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025453567504882812s
2025-11-03T09:58:16.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025453567504882812
2025-11-03T09:58:16.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:16
2025-11-03T09:58:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38936781883239746s
2025-11-03T09:58:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38936781883239746
2025-11-03T09:58:17.220 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:58:17.220 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8372583389282227s
2025-11-03T09:58:17.220 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8372583389282227
2025-11-03T09:58:17.220 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4990358352661133 seconds ago
2025-11-03T09:58:18.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:18
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9774634838104248s
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:18.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1950008;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21477;2460982.83215696;9.97172889;1.3;_
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1950008;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21477;2460982.83215696;9.97172889;1.3;_
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:18.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:18.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1950008, teldec = -24.256601
2025-11-03T09:58:18.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1950008 -24.256601
2025-11-03T09:58:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1950008 -24.256601
2025-11-03T09:58:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1950008 -24.256601
2025-11-03T09:58:18.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1950008;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21477;2460982.83215698;9.97172889;1.3;_15.1700939387804 -24.1590014126673
2025-11-03T09:58:18.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1700939387804     dec_j2k = -24.1590014126673
2025-11-03T09:58:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968266599695767;171.162357330327;_
2025-11-03T09:58:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968266599695767;171.162357330327;_
2025-11-03T09:58:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36821)
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:18.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:18.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:18.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:18.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83215696, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968266599695767, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1950008, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:57:18.982790', telescope_ra_j2k=15.1700939387804, telescope_dec_j2k=-24.1590014126673, observability=1)
2025-11-03T09:58:18.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:18
2025-11-03T09:58:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024228572845458984s
2025-11-03T09:58:18.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024228572845458984
2025-11-03T09:58:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:18
2025-11-03T09:58:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3876922130584717s
2025-11-03T09:58:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3876922130584717
2025-11-03T09:58:19.122 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:19.122 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:19.123 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:19.123 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:19.124 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:19.124 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:19.124 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:19.124 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:19.124 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:19.125 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:19.126 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:19.126 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T09:58:19.126 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T09:58:19.126 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T09:58:19.126 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:20.127 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:20.127 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:20.127 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:20.127 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:20.127 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:58:20.128 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:20.129 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:20.130 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:20.130 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:20.130 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:20.130 [DEBUG] [ThreadPoolExecutor-3434_0] [payload.py] [to_registers()] [0]
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42305)
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:20.136 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:20.143 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:20.143 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:58:20.143 [DEBUG] [ThreadPoolExecutor-3434_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T09:58:20.143 [DEBUG] [ThreadPoolExecutor-3434_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T09:58:20.144 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:20.144 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:20.144 [DEBUG] [ThreadPoolExecutor-3434_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:20
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826579093933105s
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1955802;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21534;2460982.83218012;9.97230667;1.3;_
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1955802;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21534;2460982.83218012;9.97230667;1.3;_
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1955802, teldec = -24.256601
2025-11-03T09:58:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1955802 -24.256601
2025-11-03T09:58:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1955802 -24.256601
2025-11-03T09:58:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1955802 -24.256601
2025-11-03T09:58:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1955802;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21534;2460982.83218014;9.97230667;1.3;_15.1706728836096 -24.1590170161707
2025-11-03T09:58:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1706728836096     dec_j2k = -24.1590170161707
2025-11-03T09:58:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968263390740342;171.162351965909;_
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968263390740342;171.162351965909;_
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49547)
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:20.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:20.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:20.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83218012, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968263390740342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1955802, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21534, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1706728836096, telescope_dec_j2k=-24.1590170161707, observability=1)
2025-11-03T09:58:20.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:20
2025-11-03T09:58:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026996612548828125s
2025-11-03T09:58:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026996612548828125
2025-11-03T09:58:20.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:20
2025-11-03T09:58:20.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:20.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3997166156768799s
2025-11-03T09:58:20.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3997166156768799
2025-11-03T09:58:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:22
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836134910583496s
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1961136;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21588;2460982.83220326;9.97283861;1.3;_
2025-11-03T09:58:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1961136;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21588;2460982.83220326;9.97283861;1.3;_
2025-11-03T09:58:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:22.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1961136, teldec = -24.256601
2025-11-03T09:58:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1961136 -24.256601
2025-11-03T09:58:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1961136 -24.256601
2025-11-03T09:58:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1961136 -24.256601
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1961136;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21588;2460982.83220329;9.97283861;1.3;_15.1712058646313 -24.1590313828893
2025-11-03T09:58:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1712058646313     dec_j2k = -24.1590313828893
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968267401934623;171.162351965909;_
2025-11-03T09:58:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968267401934623;171.162351965909;_
2025-11-03T09:58:22.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58973)
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:22.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:22.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:22.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83220326, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968267401934623, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1961136, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21588, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1712058646313, telescope_dec_j2k=-24.1590313828893, observability=1)
2025-11-03T09:58:22.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:22
2025-11-03T09:58:22.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:22.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022568464279174805s
2025-11-03T09:58:22.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022568464279174805
2025-11-03T09:58:22.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:22
2025-11-03T09:58:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789710998535156s
2025-11-03T09:58:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789710998535156
2025-11-03T09:58:24.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:24
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785022735595703s
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:24.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:24.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1966745;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21644;2460982.83222641;9.97339806;1.3;_
2025-11-03T09:58:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1966745;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21644;2460982.83222641;9.97339806;1.3;_
2025-11-03T09:58:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:24.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:24.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1966745, teldec = -24.256601
2025-11-03T09:58:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1966745 -24.256601
2025-11-03T09:58:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1966745 -24.256601
2025-11-03T09:58:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1966745 -24.256601
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1966745;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21644;2460982.83222644;9.97339806;1.3;_15.1717663241096 -24.1590464923836
2025-11-03T09:58:24.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1717663241096     dec_j2k = -24.1590464923836
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968270209770619;171.162362694745;_
2025-11-03T09:58:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968270209770619;171.162362694745;_
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41917)
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:24.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:24.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:24.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83222641, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968270209770619, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1966745, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21644, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1717663241096, telescope_dec_j2k=-24.1590464923836, observability=1)
2025-11-03T09:58:24.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:24
2025-11-03T09:58:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022488832473754883s
2025-11-03T09:58:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022488832473754883
2025-11-03T09:58:24.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:24
2025-11-03T09:58:24.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3841683864593506s
2025-11-03T09:58:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3841683864593506
2025-11-03T09:58:26.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:26
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827115535736084s
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:26.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:26.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1972547;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21702;2460982.83224956;9.97397667;1.3;_
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1972547;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21702;2460982.83224956;9.97397667;1.3;_
2025-11-03T09:58:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:26.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1972547, teldec = -24.256601
2025-11-03T09:58:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1972547 -24.256601
2025-11-03T09:58:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1972547 -24.256601
2025-11-03T09:58:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1972547 -24.256601
2025-11-03T09:58:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1972547;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21702;2460982.8322496;9.97397667;1.3;_15.1723460684919 -24.1590621240283
2025-11-03T09:58:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1723460684919     dec_j2k = -24.1590621240283
2025-11-03T09:58:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968273418726044;171.162362694745;_
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968273418726044;171.162362694745;_
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:26.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42285)
2025-11-03T09:58:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:26.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:26.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:26.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:26.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:26.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:26.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83224956, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968273418726044, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1972547, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21702, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1723460684919, telescope_dec_j2k=-24.1590621240283, observability=1)
2025-11-03T09:58:26.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:26
2025-11-03T09:58:26.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:26.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02815866470336914s
2025-11-03T09:58:26.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02815866470336914
2025-11-03T09:58:26.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:26
2025-11-03T09:58:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3832995891571045s
2025-11-03T09:58:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3832995891571045
2025-11-03T09:58:28.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:28
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3869376182556152s
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1979207;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21769;2460982.83227743;9.97464083;1.3;_
2025-11-03T09:58:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1979207;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21769;2460982.83227743;9.97464083;1.3;_
2025-11-03T09:58:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:28.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1979207, teldec = -24.256601
2025-11-03T09:58:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1979207 -24.256601
2025-11-03T09:58:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1979207 -24.256601
2025-11-03T09:58:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1979207 -24.256601
2025-11-03T09:58:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1979207;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21769;2460982.83227745;9.97464083;1.3;_15.173011545575 -24.1590800700988
2025-11-03T09:58:28.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.173011545575     dec_j2k = -24.1590800700988
2025-11-03T09:58:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968270209770619;171.162362694745;_
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968270209770619;171.162362694745;_
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40021)
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:28.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:28.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83227743, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968270209770619, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1979207, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21769, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.173011545575, telescope_dec_j2k=-24.1590800700988, observability=1)
2025-11-03T09:58:29.835 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:29.835 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Status age = 1.0492572784423828s
2025-11-03T09:58:29.835 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:29.836 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:29.837 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:29.840 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 17;15.1982012;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21797;2460982.83228982;9.97492056;1.3;_
2025-11-03T09:58:29.840 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response 17;15.1982012;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21797;2460982.83228982;9.97492056;1.3;_
2025-11-03T09:58:29.840 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:29.840 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:29.840 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:29.841 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:29.841 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:29.841 [INFO] [Thread-88780 (handle)] [driver.py] [get_status()] Telra = 15.1982012, teldec = -24.256601
2025-11-03T09:58:29.841 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1982012 -24.256601
2025-11-03T09:58:29.841 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1982012 -24.256601
2025-11-03T09:58:29.841 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1982012 -24.256601
2025-11-03T09:58:29.842 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 17;15.1982012;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21797;2460982.83228984;9.97492056;1.3;_15.1732918253623 -24.1590876293675
2025-11-03T09:58:29.842 [INFO] [Thread-88780 (handle)] [driver.py] [get_status()] ra_j2k = 15.1732918253623     dec_j2k = -24.1590876293675
2025-11-03T09:58:29.842 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:29.842 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 140;0.0968274622084328;171.162351965909;_
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response 140;0.0968274622084328;171.162351965909;_
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:29.843 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:29.844 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:29.845 [DEBUG] [Thread-88780 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:29.845 [DEBUG] [Thread-88780 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:29.845 [DEBUG] [Thread-88780 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46169)
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:29.849 [DEBUG] [Thread-88780 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:29.856 [DEBUG] [Thread-88780 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:29.856 [DEBUG] [Thread-88780 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:29.856 [DEBUG] [Thread-88780 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:29.857 [DEBUG] [Thread-88780 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:29.857 [INFO] [Thread-88780 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83228982, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968274622084328, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1982012, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1732918253623, telescope_dec_j2k=-24.1590876293675, observability=1)
2025-11-03T09:58:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:30
2025-11-03T09:58:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9060714244842529s
2025-11-03T09:58:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9060714244842529
2025-11-03T09:58:32.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:32
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.9027328491210938s
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:32.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:32.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1990137;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21878;2460982.83232362;9.97573083;1.3;_
2025-11-03T09:58:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1990137;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21878;2460982.83232362;9.97573083;1.3;_
2025-11-03T09:58:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:32.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1990137, teldec = -24.256601
2025-11-03T09:58:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1990137 -24.256601
2025-11-03T09:58:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1990137 -24.256601
2025-11-03T09:58:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1990137 -24.256601
2025-11-03T09:58:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1990137;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21878;2460982.83232366;9.97573083;1.3;_15.1741036875743 -24.159109528659
2025-11-03T09:58:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1741036875743     dec_j2k = -24.159109528659
2025-11-03T09:58:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968277028800896;171.162357330327;_
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968277028800896;171.162357330327;_
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58265)
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:32.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:32.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83232362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968277028800896, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1990137, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21878, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1741036875743, telescope_dec_j2k=-24.159109528659, observability=1)
2025-11-03T09:58:34.559 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:34
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.778489112854004s
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:34.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:34.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:34.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:34.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1995168;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21928;2460982.83234446;9.9762325;1.3;_
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.1995168;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21928;2460982.83234446;9.9762325;1.3;_
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:34.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:34.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:34.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:34.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:34.563 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.1995168, teldec = -24.256601
2025-11-03T09:58:34.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.1995168 -24.256601
2025-11-03T09:58:34.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.1995168 -24.256601
2025-11-03T09:58:34.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.1995168 -24.256601
2025-11-03T09:58:34.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.1995168;-24.256601;50.108543;89.993051;50.08601;90.12017;12.21928;2460982.83234449;9.9762325;1.3;_15.174606392718 -24.1591230909462
2025-11-03T09:58:34.564 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.174606392718     dec_j2k = -24.1591230909462
2025-11-03T09:58:34.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:34.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:34.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:34.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968281842234033;171.162351965909;_
2025-11-03T09:58:34.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968281842234033;171.162351965909;_
2025-11-03T09:58:34.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:34.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:34.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:34.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:34.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:34.572 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52921)
2025-11-03T09:58:34.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:34.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:34.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:34.573 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:34.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:34.580 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:34.580 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83234446, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968281842234033, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.1995168, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.21928, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.174606392718, telescope_dec_j2k=-24.1591230909462, observability=1)
2025-11-03T09:58:34.602 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:34
2025-11-03T09:58:34.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:34.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02226400375366211s
2025-11-03T09:58:34.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02226400375366211
2025-11-03T09:58:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:34
2025-11-03T09:58:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1808006763458252s
2025-11-03T09:58:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1808006763458252
2025-11-03T09:58:36.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:36
2025-11-03T09:58:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:36.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.780383586883545s
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:36.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2000396;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2198;2460982.83236531;9.97675389;1.3;_
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2000396;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2198;2460982.83236531;9.97675389;1.3;_
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:36.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2000396, teldec = -24.256601
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2000396 -24.256601
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2000396 -24.256601
2025-11-03T09:58:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2000396 -24.256601
2025-11-03T09:58:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2000396;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2198;2460982.83236532;9.97675389;1.3;_15.1751287824503 -24.1591371861147
2025-11-03T09:58:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1751287824503     dec_j2k = -24.1591371861147
2025-11-03T09:58:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968277429920325;171.162357330327;_
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968277429920325;171.162357330327;_
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55063)
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:36.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:36.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:36.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:36.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:36.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:36.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:36.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:36.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83236531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968277429920325, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.2000396, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1751287824503, telescope_dec_j2k=-24.1591371861147, observability=1)
2025-11-03T09:58:36.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:36
2025-11-03T09:58:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026062488555908203s
2025-11-03T09:58:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026062488555908203
2025-11-03T09:58:36.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:36
2025-11-03T09:58:36.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:36.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41164636611938477s
2025-11-03T09:58:36.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41164636611938477
2025-11-03T09:58:38.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:38
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.991818904876709s
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2005721;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22034;2460982.83238855;9.977285;1.3;_
2025-11-03T09:58:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2005721;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22034;2460982.83238855;9.977285;1.3;_
2025-11-03T09:58:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:38.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2005721, teldec = -24.256601
2025-11-03T09:58:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2005721 -24.256601
2025-11-03T09:58:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2005721 -24.256601
2025-11-03T09:58:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2005721 -24.256601
2025-11-03T09:58:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2005721;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22034;2460982.83238858;9.977285;1.3;_15.1756608646231 -24.1591515447103
2025-11-03T09:58:38.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1756608646231     dec_j2k = -24.1591515447103
2025-11-03T09:58:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968285051189458;171.162351965909;_
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968285051189458;171.162351965909;_
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:38.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:38.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42023)
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:38.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:38.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:38.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:38.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:38.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:38.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:38.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:38.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:38.390 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:38.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:38.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83238855, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968285051189458, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.2005721, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1756608646231, telescope_dec_j2k=-24.1591515447103, observability=1)
2025-11-03T09:58:38.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:38
2025-11-03T09:58:38.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:38.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021443843841552734s
2025-11-03T09:58:38.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021443843841552734
2025-11-03T09:58:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:38
2025-11-03T09:58:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37418580055236816s
2025-11-03T09:58:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37418580055236816
2025-11-03T09:58:40.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:40
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9694156646728516s
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:40.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:40.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.201132;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2209;2460982.83241159;9.97784333;1.3;_
2025-11-03T09:58:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.201132;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2209;2460982.83241159;9.97784333;1.3;_
2025-11-03T09:58:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:40.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:40.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.201132, teldec = -24.256601
2025-11-03T09:58:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.201132 -24.256601
2025-11-03T09:58:40.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.201132 -24.256601
2025-11-03T09:58:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.201132 -24.256601
2025-11-03T09:58:40.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.201132;-24.256601;50.108543;89.993051;50.08601;90.12017;12.2209;2460982.83241161;9.97784333;1.3;_15.1762203253537 -24.1591666442078
2025-11-03T09:58:40.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1762203253537     dec_j2k = -24.1591666442078
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968280638875749;171.162357330327;_
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968280638875749;171.162357330327;_
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:40.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:40.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:40.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:40.368 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57389)
2025-11-03T09:58:40.368 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:40.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:40.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:40.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:40.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83241159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968280638875749, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.201132, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2209, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1762203253537, telescope_dec_j2k=-24.1591666442078, observability=1)
2025-11-03T09:58:40.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:40
2025-11-03T09:58:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02202892303466797s
2025-11-03T09:58:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02202892303466797
2025-11-03T09:58:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:40
2025-11-03T09:58:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3854813575744629s
2025-11-03T09:58:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3854813575744629
2025-11-03T09:58:42.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:42
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9884123802185059s
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:42.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2016824;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22145;2460982.83243479;9.97839222;1.3;_
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2016824;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22145;2460982.83243479;9.97839222;1.3;_
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:42.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2016824, teldec = -24.256601
2025-11-03T09:58:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2016824 -24.256601
2025-11-03T09:58:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2016824 -24.256601
2025-11-03T09:58:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2016824 -24.256601
2025-11-03T09:58:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2016824;-24.256601;50.108543;89.993051;50.08601;90.12017;12.22145;2460982.83243482;9.97839222;1.3;_15.1767702935947 -24.1591814895798
2025-11-03T09:58:42.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1767702935947     dec_j2k = -24.1591814895798
2025-11-03T09:58:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968285853428314;171.162357330327;_
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968285853428314;171.162357330327;_
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36977)
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:42.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:42.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83243479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968285853428314, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108543, telescope_az=89.993051, telescope_ra=15.2016824, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1767702935947, telescope_dec_j2k=-24.1591814895798, observability=1)
2025-11-03T09:58:42.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:42
2025-11-03T09:58:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021502971649169922s
2025-11-03T09:58:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021502971649169922
2025-11-03T09:58:42.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:42
2025-11-03T09:58:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37612223625183105s
2025-11-03T09:58:42.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37612223625183105
2025-11-03T09:58:44.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:44
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787654876708984s
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:44.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:44.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2022434;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22201;2460982.83245791;9.97895167;1.3;_
2025-11-03T09:58:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2022434;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22201;2460982.83245791;9.97895167;1.3;_
2025-11-03T09:58:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:44.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:44.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2022434, teldec = -24.256601
2025-11-03T09:58:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2022434 -24.256601
2025-11-03T09:58:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2022434 -24.256601
2025-11-03T09:58:44.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2022434 -24.256601
2025-11-03T09:58:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2022434;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22201;2460982.83245793;9.97895167;1.3;_15.1773308535789 -24.1591966229687
2025-11-03T09:58:44.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1773308535789     dec_j2k = -24.1591966229687
2025-11-03T09:58:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:44.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968282243353461;171.162351965909;_
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968282243353461;171.162351965909;_
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:44.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54915)
2025-11-03T09:58:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:44.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:44.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:44.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:44.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:44.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83245791, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968282243353461, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2022434, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22201, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1773308535789, telescope_dec_j2k=-24.1591966229687, observability=1)
2025-11-03T09:58:44.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:44
2025-11-03T09:58:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021364688873291016s
2025-11-03T09:58:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021364688873291016
2025-11-03T09:58:44.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:44
2025-11-03T09:58:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3828120231628418s
2025-11-03T09:58:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3828120231628418
2025-11-03T09:58:45.144 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:45.144 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:45.144 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:45.144 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:45.144 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:45.145 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:45.146 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:45.146 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:45.146 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:45.146 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:45.146 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:45.147 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:45.147 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] CloseShutters
2025-11-03T09:58:45.147 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T09:58:45.147 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T09:58:45.147 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:46.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:46
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807672500610352s
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:46.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:46.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2028046;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22257;2460982.83248105;9.97951139;1.3;_
2025-11-03T09:58:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2028046;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22257;2460982.83248105;9.97951139;1.3;_
2025-11-03T09:58:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:46.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:46.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2028046, teldec = -24.256601
2025-11-03T09:58:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2028046 -24.256601
2025-11-03T09:58:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2028046 -24.256601
2025-11-03T09:58:46.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2028046 -24.256601
2025-11-03T09:58:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2028046;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22257;2460982.83248108;9.97951139;1.3;_15.1778916134652 -24.159211763888
2025-11-03T09:58:46.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1778916134652     dec_j2k = -24.159211763888
2025-11-03T09:58:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:46.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968289062383738;171.162357330327;_
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968289062383738;171.162357330327;_
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:46.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:46.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:46.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57671)
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:46.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:46.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:46.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:46.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:46.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83248105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968289062383738, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2028046, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22257, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1778916134652, telescope_dec_j2k=-24.159211763888, observability=1)
2025-11-03T09:58:46.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:46
2025-11-03T09:58:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022578954696655273s
2025-11-03T09:58:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022578954696655273
2025-11-03T09:58:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:46
2025-11-03T09:58:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3902769088745117s
2025-11-03T09:58:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3902769088745117
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Status age = 1.5351529121398926s
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:47.914 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:47.915 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 17;15.2032445;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22301;2460982.83249902;9.97995;1.3;_
2025-11-03T09:58:47.916 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response 17;15.2032445;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22301;2460982.83249902;9.97995;1.3;_
2025-11-03T09:58:47.916 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:47.916 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:47.916 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:47.917 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:47.917 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:47.917 [INFO] [Thread-88781 (handle)] [driver.py] [get_status()] Telra = 15.2032445, teldec = -24.256601
2025-11-03T09:58:47.917 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2032445 -24.256601
2025-11-03T09:58:47.917 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2032445 -24.256601
2025-11-03T09:58:47.917 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2032445 -24.256601
2025-11-03T09:58:47.918 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 17;15.2032445;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22301;2460982.83249905;9.97995;1.3;_15.1783311685207 -24.1592236336815
2025-11-03T09:58:47.918 [INFO] [Thread-88781 (handle)] [driver.py] [get_status()] ra_j2k = 15.1783311685207     dec_j2k = -24.1592236336815
2025-11-03T09:58:47.918 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:47.918 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:47.918 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 140;0.0968281441114605;171.162368059163;_
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response 140;0.0968281441114605;171.162368059163;_
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:47.919 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:47.920 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:47.921 [DEBUG] [Thread-88781 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:47.921 [DEBUG] [Thread-88781 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:47.921 [DEBUG] [Thread-88781 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43091)
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:47.926 [DEBUG] [Thread-88781 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:47.934 [DEBUG] [Thread-88781 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:47.935 [INFO] [Thread-88781 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83249902, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968281441114605, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2032445, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22301, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1783311685207, telescope_dec_j2k=-24.1592236336815, observability=1)
2025-11-03T09:58:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:48
2025-11-03T09:58:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4256875514984131s
2025-11-03T09:58:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4256875514984131
2025-11-03T09:58:48.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:48
2025-11-03T09:58:48.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:48.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4473729133605957s
2025-11-03T09:58:48.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4473729133605957
2025-11-03T09:58:48.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:48
2025-11-03T09:58:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8295876979827881s
2025-11-03T09:58:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8295876979827881
2025-11-03T09:58:49.752 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:49.752 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Status age = 1.8179163932800293s
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:49.753 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:49.754 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:49.755 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 17;15.20375;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22351;2460982.83252031;9.98045417;1.3;_
2025-11-03T09:58:49.755 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response 17;15.20375;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22351;2460982.83252031;9.98045417;1.3;_
2025-11-03T09:58:49.755 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:49.755 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:49.755 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:49.756 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:49.756 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:49.756 [INFO] [Thread-88782 (handle)] [driver.py] [get_status()] Telra = 15.20375, teldec = -24.256601
2025-11-03T09:58:49.756 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] UnCookCoordinates 15.20375 -24.256601
2025-11-03T09:58:49.756 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.20375 -24.256601
2025-11-03T09:58:49.756 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.20375 -24.256601
2025-11-03T09:58:49.757 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 17;15.20375;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22351;2460982.83252034;9.98045417;1.3;_15.1788362721812 -24.1592372751754
2025-11-03T09:58:49.757 [INFO] [Thread-88782 (handle)] [driver.py] [get_status()] ra_j2k = 15.1788362721812     dec_j2k = -24.1592372751754
2025-11-03T09:58:49.757 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 140;0.096828665566717;171.162351965909;_
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response 140;0.096828665566717;171.162351965909;_
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:49.758 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:49.759 [DEBUG] [Thread-88782 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44235)
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:49.762 [DEBUG] [Thread-88782 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:49.769 [DEBUG] [Thread-88782 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:49.769 [INFO] [Thread-88782 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83252031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096828665566717, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.20375, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1788362721812, telescope_dec_j2k=-24.1592372751754, observability=1)
2025-11-03T09:58:50.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:50
2025-11-03T09:58:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5907156467437744s
2025-11-03T09:58:50.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5907156467437744
2025-11-03T09:58:50.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:50
2025-11-03T09:58:50.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:50.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6131229400634766s
2025-11-03T09:58:50.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6131229400634766
2025-11-03T09:58:50.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:50
2025-11-03T09:58:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9921276569366455s
2025-11-03T09:58:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9921276569366455
2025-11-03T09:58:52.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:52
2025-11-03T09:58:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.998162031173706s
2025-11-03T09:58:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.204582;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22435;2460982.8325552;9.98128389;1.3;_
2025-11-03T09:58:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.204582;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22435;2460982.8325552;9.98128389;1.3;_
2025-11-03T09:58:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:52.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.204582, teldec = -24.256601
2025-11-03T09:58:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.204582 -24.256601
2025-11-03T09:58:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.204582 -24.256601
2025-11-03T09:58:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.204582 -24.256601
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.204582;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22435;2460982.83255523;9.98128389;1.3;_15.1796676199521 -24.1592597314152
2025-11-03T09:58:52.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1796676199521     dec_j2k = -24.1592597314152
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968287859025454;171.162357330327;_
2025-11-03T09:58:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968287859025454;171.162357330327;_
2025-11-03T09:58:52.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47491)
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:52.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:52.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8325552, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968287859025454, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.204582, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22435, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1796676199521, telescope_dec_j2k=-24.1592597314152, observability=1)
2025-11-03T09:58:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:54
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9727084636688232s
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:54.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2051433;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22491;2460982.83257825;9.98184361;1.3;_
2025-11-03T09:58:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2051433;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22491;2460982.83257825;9.98184361;1.3;_
2025-11-03T09:58:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:54.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2051433, teldec = -24.256601
2025-11-03T09:58:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2051433 -24.256601
2025-11-03T09:58:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2051433 -24.256601
2025-11-03T09:58:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2051433 -24.256601
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2051433;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22491;2460982.83257829;9.98184361;1.3;_15.180228480006 -24.1592748839295
2025-11-03T09:58:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.180228480006     dec_j2k = -24.1592748839295
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968287859025454;171.162362694745;_
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968287859025454;171.162362694745;_
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49465)
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:54.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:54.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:54.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83257825, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968287859025454, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2051433, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22491, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.180228480006, telescope_dec_j2k=-24.1592748839295, observability=1)
2025-11-03T09:58:55.042 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:55
2025-11-03T09:58:55.042 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:55.042 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2668335437774658s
2025-11-03T09:58:55.042 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2668335437774658
2025-11-03T09:58:55.063 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:55
2025-11-03T09:58:55.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:55.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28819942474365234s
2025-11-03T09:58:55.063 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28819942474365234
2025-11-03T09:58:56.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:56
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6442134380340576s
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:56.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.205619;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22538;2460982.83259749;9.98231806;1.3;_
2025-11-03T09:58:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.205619;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22538;2460982.83259749;9.98231806;1.3;_
2025-11-03T09:58:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:56.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:56.424 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.205619, teldec = -24.256601
2025-11-03T09:58:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.205619 -24.256601
2025-11-03T09:58:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.205619 -24.256601
2025-11-03T09:58:56.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.205619 -24.256601
2025-11-03T09:58:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.205619;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22538;2460982.83259751;9.98231806;1.3;_15.1807038071992 -24.1592877273094
2025-11-03T09:58:56.425 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1807038071992     dec_j2k = -24.1592877273094
2025-11-03T09:58:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:56.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968293875816875;171.162351965909;_
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968293875816875;171.162351965909;_
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:56.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:56.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:56.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:56.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:56.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32945)
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:56.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:56.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:56.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:56.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83259749, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968293875816875, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.205619, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22538, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1807038071992, telescope_dec_j2k=-24.1592877273094, observability=1)
2025-11-03T09:58:56.464 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:56
2025-11-03T09:58:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022835254669189453s
2025-11-03T09:58:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022835254669189453
2025-11-03T09:58:56.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:56
2025-11-03T09:58:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31850361824035645s
2025-11-03T09:58:56.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31850361824035645
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.542067527770996s
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2060574;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22582;2460982.83261557;9.98275528;1.3;_
2025-11-03T09:58:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2060574;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22582;2460982.83261557;9.98275528;1.3;_
2025-11-03T09:58:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:57.987 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2060574, teldec = -24.256601
2025-11-03T09:58:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2060574 -24.256601
2025-11-03T09:58:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2060574 -24.256601
2025-11-03T09:58:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2060574 -24.256601
2025-11-03T09:58:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2060574;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22582;2460982.8326156;9.98275528;1.3;_15.181141863662 -24.1592995649873
2025-11-03T09:58:57.988 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.181141863662     dec_j2k = -24.1592995649873
2025-11-03T09:58:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968294276936303;171.162357330327;_
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968294276936303;171.162357330327;_
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:58:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:58:57.993 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33857)
2025-11-03T09:58:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:58.001 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:58.001 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83261557, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968294276936303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2060574, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22582, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.181141863662, telescope_dec_j2k=-24.1592995649873, observability=1)
2025-11-03T09:58:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:58
2025-11-03T09:58:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7599203586578369s
2025-11-03T09:58:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7599203586578369
2025-11-03T09:58:59.252 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:59
2025-11-03T09:58:59.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:59.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2513620853424072s
2025-11-03T09:58:59.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:58:59.252 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:58:59.252 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:58:59.253 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:58:59.254 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2063936;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22616;2460982.83263025;9.98309056;1.3;_
2025-11-03T09:58:59.254 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2063936;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22616;2460982.83263025;9.98309056;1.3;_
2025-11-03T09:58:59.254 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:58:59.254 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:58:59.254 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:58:59.255 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:59.255 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:58:59.255 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2063936, teldec = -24.256601
2025-11-03T09:58:59.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2063936 -24.256601
2025-11-03T09:58:59.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2063936 -24.256601
2025-11-03T09:58:59.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2063936 -24.256601
2025-11-03T09:58:59.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2063936;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22616;2460982.83263028;9.98309056;1.3;_15.1814778002348 -24.1593086439426
2025-11-03T09:58:59.257 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1814778002348     dec_j2k = -24.1593086439426
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968296683652871;171.162362694745;_
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968296683652871;171.162362694745;_
2025-11-03T09:58:59.257 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:58:59.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:59.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:59.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:59.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:59.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:59.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:59.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:58:59.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:58:59.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:58:59.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:59.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:58:59.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44445)
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:58:59.261 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:58:59.269 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:58:59.269 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83263025, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968296683652871, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2063936, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22616, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1814778002348, telescope_dec_j2k=-24.1593086439426, observability=1)
2025-11-03T09:58:59.290 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:58:59
2025-11-03T09:58:59.290 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:58:59.290 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021381139755249023s
2025-11-03T09:58:59.291 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021381139755249023
2025-11-03T09:59:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:00
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4889700412750244s
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:00.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:00.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:00.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2068145;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22658;2460982.83264768;9.98351028;1.3;_
2025-11-03T09:59:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2068145;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22658;2460982.83264768;9.98351028;1.3;_
2025-11-03T09:59:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:00.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:00.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2068145, teldec = -24.256601
2025-11-03T09:59:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2068145 -24.256601
2025-11-03T09:59:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2068145 -24.256601
2025-11-03T09:59:00.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2068145 -24.256601
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2068145;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22658;2460982.83264772;9.98351028;1.3;_15.1818983704714 -24.1593200112688
2025-11-03T09:59:00.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1818983704714     dec_j2k = -24.1593200112688
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968296683652871;171.162357330327;_
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968296683652871;171.162357330327;_
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:00.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40023)
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:00.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:00.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:00.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83264768, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968296683652871, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2068145, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22658, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1818983704714, telescope_dec_j2k=-24.1593200112688, observability=1)
2025-11-03T09:59:00.984 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:00
2025-11-03T09:59:00.984 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:00.984 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20564985275268555s
2025-11-03T09:59:00.984 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20564985275268555
2025-11-03T09:59:01.006 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:01
2025-11-03T09:59:01.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:01.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22773957252502441s
2025-11-03T09:59:01.006 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22773957252502441
2025-11-03T09:59:02.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:02
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5861406326293945s
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2072632;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22703;2460982.83266627;9.98395778;1.3;_
2025-11-03T09:59:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2072632;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22703;2460982.83266627;9.98395778;1.3;_
2025-11-03T09:59:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:02.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2072632, teldec = -24.256601
2025-11-03T09:59:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2072632 -24.256601
2025-11-03T09:59:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2072632 -24.256601
2025-11-03T09:59:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2072632 -24.256601
2025-11-03T09:59:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2072632;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22703;2460982.8326663;9.98395778;1.3;_15.182346718964 -24.1593321307162
2025-11-03T09:59:02.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.182346718964     dec_j2k = -24.1593321307162
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968294678055731;171.162357330327;_
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968294678055731;171.162357330327;_
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:02.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52181)
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:02.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:02.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:02.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83266627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968294678055731, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2072632, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22703, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.182346718964, telescope_dec_j2k=-24.1593321307162, observability=1)
2025-11-03T09:59:02.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:02
2025-11-03T09:59:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02201390266418457s
2025-11-03T09:59:02.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02201390266418457
2025-11-03T09:59:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:02
2025-11-03T09:59:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.378920316696167s
2025-11-03T09:59:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.378920316696167
2025-11-03T09:59:04.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:04
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9758260250091553s
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:04.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:04.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2078142;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22758;2460982.83268936;9.98450722;1.3;_
2025-11-03T09:59:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2078142;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22758;2460982.83268936;9.98450722;1.3;_
2025-11-03T09:59:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:04.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:04.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2078142, teldec = -24.256601
2025-11-03T09:59:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2078142 -24.256601
2025-11-03T09:59:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2078142 -24.256601
2025-11-03T09:59:04.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2078142 -24.256601
2025-11-03T09:59:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2078142;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22758;2460982.83268939;9.98450722;1.3;_15.1828972873673 -24.1593470151651
2025-11-03T09:59:04.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1828972873673     dec_j2k = -24.1593470151651
2025-11-03T09:59:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:04.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968297887011155;171.162362694745;_
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968297887011155;171.162362694745;_
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:04.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:04.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38787)
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:04.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:04.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:04.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:04.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83268936, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968297887011155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2078142, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22758, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1828972873673, telescope_dec_j2k=-24.1593470151651, observability=1)
2025-11-03T09:59:04.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:04
2025-11-03T09:59:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023073911666870117s
2025-11-03T09:59:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023073911666870117
2025-11-03T09:59:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:04
2025-11-03T09:59:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3865976333618164s
2025-11-03T09:59:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3865976333618164
2025-11-03T09:59:05.972 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Status age = 1.5929362773895264s
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:05.973 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:05.974 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 17;15.2082629;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22803;2460982.83270803;9.98495472;1.3;_
2025-11-03T09:59:05.974 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response 17;15.2082629;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22803;2460982.83270803;9.98495472;1.3;_
2025-11-03T09:59:05.974 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:05.974 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:05.974 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:05.975 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:05.975 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:05.975 [INFO] [Thread-88783 (handle)] [driver.py] [get_status()] Telra = 15.2082629, teldec = -24.256601
2025-11-03T09:59:05.975 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2082629 -24.256601
2025-11-03T09:59:05.975 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2082629 -24.256601
2025-11-03T09:59:05.975 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2082629 -24.256601
2025-11-03T09:59:05.976 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 17;15.2082629;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22803;2460982.83270806;9.98495472;1.3;_15.1833456359441 -24.1593591376496
2025-11-03T09:59:05.976 [INFO] [Thread-88783 (handle)] [driver.py] [get_status()] ra_j2k = 15.1833456359441     dec_j2k = -24.1593591376496
2025-11-03T09:59:05.976 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:05.976 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:05.976 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 140;0.0968298288130583;171.162368059163;_
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response 140;0.0968298288130583;171.162368059163;_
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:05.977 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:05.978 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:05.978 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:05.978 [DEBUG] [Thread-88783 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:05.978 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:05.979 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:05.979 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:05.979 [DEBUG] [Thread-88783 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:05.980 [DEBUG] [Thread-88783 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:05.980 [DEBUG] [Thread-88783 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:05.986 [DEBUG] [Thread-88783 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40277)
2025-11-03T09:59:05.986 [DEBUG] [Thread-88783 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:05.986 [DEBUG] [Thread-88783 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:05.986 [DEBUG] [Thread-88783 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:05.986 [DEBUG] [Thread-88783 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:05.987 [DEBUG] [Thread-88783 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:05.994 [DEBUG] [Thread-88783 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:05.994 [INFO] [Thread-88783 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83270803, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968298288130583, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2082629, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22803, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1833456359441, telescope_dec_j2k=-24.1593591376496, observability=1)
2025-11-03T09:59:06.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:06
2025-11-03T09:59:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3673524856567383s
2025-11-03T09:59:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3673524856567383
2025-11-03T09:59:06.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:06
2025-11-03T09:59:06.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:06.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38873791694641113s
2025-11-03T09:59:06.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38873791694641113
2025-11-03T09:59:06.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:06
2025-11-03T09:59:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7663862705230713s
2025-11-03T09:59:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7663862705230713
2025-11-03T09:59:08.358 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:08
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3639681339263916s
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:08.358 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:08.359 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2089353;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2287;2460982.83273565;9.98562528;1.3;_
2025-11-03T09:59:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2089353;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2287;2460982.83273565;9.98562528;1.3;_
2025-11-03T09:59:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:08.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:08.361 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2089353, teldec = -24.256601
2025-11-03T09:59:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2089353 -24.256601
2025-11-03T09:59:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2089353 -24.256601
2025-11-03T09:59:08.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2089353 -24.256601
2025-11-03T09:59:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2089353;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2287;2460982.83273567;9.98562528;1.3;_15.1840175093889 -24.1593773063667
2025-11-03T09:59:08.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1840175093889     dec_j2k = -24.1593773063667
2025-11-03T09:59:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:08.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968308316116285;171.162362694745;_
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968308316116285;171.162362694745;_
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:08.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:08.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:08.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50387)
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:08.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:08.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:08.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83273565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968308316116285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2089353, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1840175093889, telescope_dec_j2k=-24.1593773063667, observability=1)
2025-11-03T09:59:08.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:08
2025-11-03T09:59:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021729230880737305s
2025-11-03T09:59:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021729230880737305
2025-11-03T09:59:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:08
2025-11-03T09:59:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3873939514160156s
2025-11-03T09:59:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3873939514160156
2025-11-03T09:59:09.154 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:09.154 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.7777383327484131s
2025-11-03T09:59:09.154 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7777383327484131
2025-11-03T09:59:10.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:10
2025-11-03T09:59:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:10.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832582473754883s
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:10.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2094874;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22925;2460982.83275881;9.98617583;1.3;_
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2094874;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22925;2460982.83275881;9.98617583;1.3;_
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:10.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:10.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:10.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2094874, teldec = -24.256601
2025-11-03T09:59:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2094874 -24.256601
2025-11-03T09:59:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2094874 -24.256601
2025-11-03T09:59:10.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2094874 -24.256601
2025-11-03T09:59:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2094874;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22925;2460982.83275884;9.98617583;1.3;_15.1845691771039 -24.1593922267816
2025-11-03T09:59:10.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1845691771039     dec_j2k = -24.1593922267816
2025-11-03T09:59:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:10.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968301898205436;171.162351965909;_
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968301898205436;171.162351965909;_
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:10.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:10.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35201)
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:10.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:10.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:10.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83275881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968301898205436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2094874, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22925, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1845691771039, telescope_dec_j2k=-24.1593922267816, observability=1)
2025-11-03T09:59:10.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:10
2025-11-03T09:59:10.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:10.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022567272186279297s
2025-11-03T09:59:10.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022567272186279297
2025-11-03T09:59:10.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:10
2025-11-03T09:59:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3822197914123535s
2025-11-03T09:59:10.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3822197914123535
2025-11-03T09:59:12.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:12
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.019686222076416s
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.210077;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22984;2460982.83278238;9.98676389;1.3;_
2025-11-03T09:59:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.210077;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22984;2460982.83278238;9.98676389;1.3;_
2025-11-03T09:59:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:12.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.210077, teldec = -24.256601
2025-11-03T09:59:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.210077 -24.256601
2025-11-03T09:59:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.210077 -24.256601
2025-11-03T09:59:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.210077 -24.256601
2025-11-03T09:59:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.210077;-24.256601;50.108542;89.993051;50.08601;90.12017;12.22984;2460982.83278241;9.98676389;1.3;_15.1851583155202 -24.1594081629058
2025-11-03T09:59:12.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1851583155202     dec_j2k = -24.1594081629058
2025-11-03T09:59:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968310321713425;171.162357330327;_
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968310321713425;171.162357330327;_
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60739)
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:12.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:12.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:12.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:12.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:12.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:12.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:12.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:12.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83278238, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968310321713425, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.210077, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.22984, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1851583155202, telescope_dec_j2k=-24.1594081629058, observability=1)
2025-11-03T09:59:12.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:12
2025-11-03T09:59:12.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:12.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021912097930908203s
2025-11-03T09:59:12.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021912097930908203
2025-11-03T09:59:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:12
2025-11-03T09:59:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35054707527160645s
2025-11-03T09:59:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35054707527160645
2025-11-03T09:59:13.782 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T09:59:13
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.3701837062835693s
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:13.782 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:13.783 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:13.783 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:13.783 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:13.783 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:13.783 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2104411;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23021;2460982.83279843;9.98712694;1.3;_
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.2104411;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23021;2460982.83279843;9.98712694;1.3;_
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:13.784 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:13.785 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:13.785 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:13.785 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.2104411, teldec = -24.256601
2025-11-03T09:59:13.785 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2104411 -24.256601
2025-11-03T09:59:13.785 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2104411 -24.256601
2025-11-03T09:59:13.785 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2104411 -24.256601
2025-11-03T09:59:13.786 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2104411;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23021;2460982.83279845;9.98712694;1.3;_15.1855221305076 -24.1594180052319
2025-11-03T09:59:13.786 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.1855221305076     dec_j2k = -24.1594180052319
2025-11-03T09:59:13.786 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:13.786 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:13.786 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:13.786 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968306310519144;171.162351965909;_
2025-11-03T09:59:13.787 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968306310519144;171.162351965909;_
2025-11-03T09:59:13.787 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:13.787 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:13.787 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:13.787 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:13.788 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:13.789 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:13.789 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:13.789 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:13.793 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37491)
2025-11-03T09:59:13.794 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:13.794 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:13.794 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:13.794 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:13.794 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:13.801 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:13.801 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83279843, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968306310519144, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2104411, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23021, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1855221305076, telescope_dec_j2k=-24.1594180052319, observability=1)
2025-11-03T09:59:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:14
2025-11-03T09:59:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9596145153045654s
2025-11-03T09:59:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9596145153045654
2025-11-03T09:59:15.112 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:15
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.310410976409912s
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:15.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:15.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:15.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2108246;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23059;2460982.83281383;9.98750944;1.3;_
2025-11-03T09:59:15.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2108246;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23059;2460982.83281383;9.98750944;1.3;_
2025-11-03T09:59:15.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:15.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:15.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:15.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:15.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:15.116 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2108246, teldec = -24.256601
2025-11-03T09:59:15.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2108246 -24.256601
2025-11-03T09:59:15.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2108246 -24.256601
2025-11-03T09:59:15.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2108246 -24.256601
2025-11-03T09:59:15.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2108246;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23059;2460982.83281385;9.98750944;1.3;_15.1859053303359 -24.1594283729473
2025-11-03T09:59:15.117 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1859053303359     dec_j2k = -24.1594283729473
2025-11-03T09:59:15.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:15.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:15.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096830310156372;171.162357330327;_
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096830310156372;171.162357330327;_
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:15.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:15.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:15.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:15.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51079)
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:15.121 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:15.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:15.128 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83281383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096830310156372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2108246, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23059, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1859053303359, telescope_dec_j2k=-24.1594283729473, observability=1)
2025-11-03T09:59:15.149 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:15
2025-11-03T09:59:15.149 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:15.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02120518684387207s
2025-11-03T09:59:15.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02120518684387207
2025-11-03T09:59:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:16
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6553385257720947s
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2112728;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23104;2460982.83283316;9.98795639;1.3;_
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2112728;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23104;2460982.83283316;9.98795639;1.3;_
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:16.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2112728, teldec = -24.256601
2025-11-03T09:59:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2112728 -24.256601
2025-11-03T09:59:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2112728 -24.256601
2025-11-03T09:59:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2112728 -24.256601
2025-11-03T09:59:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2112728;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23104;2460982.83283318;9.98795639;1.3;_15.1863531795573 -24.159440491053
2025-11-03T09:59:16.787 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1863531795573     dec_j2k = -24.159440491053
2025-11-03T09:59:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968303502683148;171.162357330327;_
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968303502683148;171.162357330327;_
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43041)
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:16.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:16.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:16.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:16.798 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:16.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:16.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83283316, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968303502683148, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2112728, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23104, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1863531795573, telescope_dec_j2k=-24.159440491053, observability=1)
2025-11-03T09:59:16.937 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:16
2025-11-03T09:59:16.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:16.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1396033763885498s
2025-11-03T09:59:16.937 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1396033763885498
2025-11-03T09:59:16.959 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:16
2025-11-03T09:59:16.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:16.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16094231605529785s
2025-11-03T09:59:16.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16094231605529785
2025-11-03T09:59:17.280 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T09:59:17.280 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.4823923110961914s
2025-11-03T09:59:17.280 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.4823923110961914
2025-11-03T09:59:17.280 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.49835205078125 seconds ago
2025-11-03T09:59:18.561 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:18
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7633161544799805s
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:18.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:18.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:18.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2117772;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23154;2460982.83285374;9.98845944;1.3;_
2025-11-03T09:59:18.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2117772;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23154;2460982.83285374;9.98845944;1.3;_
2025-11-03T09:59:18.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:18.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:18.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:18.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:18.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:18.564 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2117772, teldec = -24.256601
2025-11-03T09:59:18.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2117772 -24.256601
2025-11-03T09:59:18.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2117772 -24.256601
2025-11-03T09:59:18.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2117772 -24.256601
2025-11-03T09:59:18.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2117772;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23154;2460982.83285376;9.98845944;1.3;_15.1868571848397 -24.1594541302785
2025-11-03T09:59:18.565 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1868571848397     dec_j2k = -24.1594541302785
2025-11-03T09:59:18.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:18.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968308316116285;171.162362694745;_
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968308316116285;171.162362694745;_
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:18.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:18.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:18.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:18.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:18.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43621)
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:18.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:18.580 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:18.581 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83285374, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968308316116285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2117772, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23154, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:58:19.122213', telescope_ra_j2k=15.1868571848397, telescope_dec_j2k=-24.1594541302785, observability=1)
2025-11-03T09:59:18.603 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:18
2025-11-03T09:59:18.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:18.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02228999137878418s
2025-11-03T09:59:18.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02228999137878418
2025-11-03T09:59:18.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:18
2025-11-03T09:59:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1836867332458496s
2025-11-03T09:59:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1836867332458496
2025-11-03T09:59:19.263 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:19.263 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:19.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:19.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:19.264 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:19.267 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:19.267 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:19.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:19.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:19.268 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:19.268 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T09:59:19.268 [INFO] [ThreadPoolExecutor-3435_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T09:59:19.268 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T09:59:20.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:20
2025-11-03T09:59:20.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:20.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7839887142181396s
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2122806;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23205;2460982.83287462;9.98896139;1.3;_
2025-11-03T09:59:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2122806;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23205;2460982.83287462;9.98896139;1.3;_
2025-11-03T09:59:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:20.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2122806, teldec = -24.256601
2025-11-03T09:59:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2122806 -24.256601
2025-11-03T09:59:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2122806 -24.256601
2025-11-03T09:59:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2122806 -24.256601
2025-11-03T09:59:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2122806;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23205;2460982.83287464;9.98896139;1.3;_15.1873601909522 -24.1594677441789
2025-11-03T09:59:20.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1873601909522     dec_j2k = -24.1594677441789
2025-11-03T09:59:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:20.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968304706041432;171.162362694745;_
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968304706041432;171.162362694745;_
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:20.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:20.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:20.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41051)
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:20.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:20.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:20.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:20.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83287462, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968304706041432, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2122806, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1873601909522, telescope_dec_j2k=-24.1594677441789, observability=1)
2025-11-03T09:59:20.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:20
2025-11-03T09:59:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02246713638305664s
2025-11-03T09:59:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02246713638305664
2025-11-03T09:59:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:20
2025-11-03T09:59:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3824350833892822s
2025-11-03T09:59:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3824350833892822
2025-11-03T09:59:22.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:22
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781579971313477s
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:22.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:22.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2128318;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2326;2460982.83289771;9.98951111;1.3;_
2025-11-03T09:59:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2128318;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2326;2460982.83289771;9.98951111;1.3;_
2025-11-03T09:59:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:22.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:22.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2128318, teldec = -24.256601
2025-11-03T09:59:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2128318 -24.256601
2025-11-03T09:59:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2128318 -24.256601
2025-11-03T09:59:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2128318 -24.256601
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2128318;-24.256601;50.108542;89.993051;50.08601;90.12017;12.2326;2460982.83289773;9.98951111;1.3;_15.1879109597179 -24.1594826527433
2025-11-03T09:59:22.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1879109597179     dec_j2k = -24.1594826527433
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968310722832853;171.162362694745;_
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968310722832853;171.162362694745;_
2025-11-03T09:59:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33513)
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:22.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:22.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:22.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:22.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:22.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:22.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:22.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:22.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:22.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:22.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83289771, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968310722832853, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2128318, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2326, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1879109597179, telescope_dec_j2k=-24.1594826527433, observability=1)
2025-11-03T09:59:22.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:22
2025-11-03T09:59:22.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:22.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021572351455688477s
2025-11-03T09:59:22.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021572351455688477
2025-11-03T09:59:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:22
2025-11-03T09:59:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3840806484222412s
2025-11-03T09:59:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3840806484222412
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Status age = 1.7050368785858154s
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:24.083 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:24.084 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:24.085 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 17;15.2133084;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23307;2460982.83291765;9.98998639;1.3;_
2025-11-03T09:59:24.085 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response 17;15.2133084;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23307;2460982.83291765;9.98998639;1.3;_
2025-11-03T09:59:24.085 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:24.085 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:24.085 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:24.086 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:24.086 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:24.086 [INFO] [Thread-88784 (handle)] [driver.py] [get_status()] Telra = 15.2133084, teldec = -24.256601
2025-11-03T09:59:24.086 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2133084 -24.256601
2025-11-03T09:59:24.086 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2133084 -24.256601
2025-11-03T09:59:24.086 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2133084 -24.256601
2025-11-03T09:59:24.087 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 17;15.2133084;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23307;2460982.83291767;9.98998639;1.3;_15.1883871868934 -24.1594955452225
2025-11-03T09:59:24.087 [INFO] [Thread-88784 (handle)] [driver.py] [get_status()] ra_j2k = 15.1883871868934     dec_j2k = -24.1594955452225
2025-11-03T09:59:24.087 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:24.087 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:24.087 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 140;0.0968313530668849;171.162357330327;_
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response 140;0.0968313530668849;171.162357330327;_
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:24.088 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:24.089 [DEBUG] [Thread-88784 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36215)
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:24.094 [DEBUG] [Thread-88784 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:24.101 [DEBUG] [Thread-88784 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:24.101 [INFO] [Thread-88784 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83291765, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968313530668849, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2133084, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23307, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1883871868934, telescope_dec_j2k=-24.1594955452225, observability=1)
2025-11-03T09:59:24.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:24
2025-11-03T09:59:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2628297805786133s
2025-11-03T09:59:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2628297805786133
2025-11-03T09:59:24.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:24
2025-11-03T09:59:24.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:24.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.284106969833374s
2025-11-03T09:59:24.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.284106969833374
2025-11-03T09:59:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:24
2025-11-03T09:59:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6622750759124756s
2025-11-03T09:59:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6622750759124756
2025-11-03T09:59:26.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:26
2025-11-03T09:59:26.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:26.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.6150736808776855s
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:26.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:26.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2140557;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23382;2460982.83294812;9.99073167;1.3;_
2025-11-03T09:59:26.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2140557;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23382;2460982.83294812;9.99073167;1.3;_
2025-11-03T09:59:26.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:26.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:26.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:26.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:26.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:26.720 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2140557, teldec = -24.256601
2025-11-03T09:59:26.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2140557 -24.256601
2025-11-03T09:59:26.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2140557 -24.256601
2025-11-03T09:59:26.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2140557 -24.256601
2025-11-03T09:59:26.721 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2140557;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23382;2460982.83294816;9.99073167;1.3;_15.1891339023973 -24.1595157634832
2025-11-03T09:59:26.721 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1891339023973     dec_j2k = -24.1595157634832
2025-11-03T09:59:26.721 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:26.721 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:26.721 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968306711638572;171.162351965909;_
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968306711638572;171.162351965909;_
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:26.722 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:26.723 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:26.723 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:26.723 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55337)
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:26.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:26.735 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:26.735 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83294812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968306711638572, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2140557, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23382, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1891339023973, telescope_dec_j2k=-24.1595157634832, observability=1)
2025-11-03T09:59:26.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:26
2025-11-03T09:59:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022593021392822266s
2025-11-03T09:59:26.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022593021392822266
2025-11-03T09:59:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:26
2025-11-03T09:59:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02985358238220215s
2025-11-03T09:59:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02985358238220215
2025-11-03T09:59:28.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:28
2025-11-03T09:59:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0314579010009766s
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.214617;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23438;2460982.83297186;9.99129139;1.3;_
2025-11-03T09:59:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.214617;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23438;2460982.83297186;9.99129139;1.3;_
2025-11-03T09:59:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.214617, teldec = -24.256601
2025-11-03T09:59:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.214617 -24.256601
2025-11-03T09:59:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.214617 -24.256601
2025-11-03T09:59:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.214617 -24.256601
2025-11-03T09:59:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.214617;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23438;2460982.83297189;9.99129139;1.3;_15.189694763449 -24.1595309519813
2025-11-03T09:59:28.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.189694763449     dec_j2k = -24.1595309519813
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968311123952281;171.162357330327;_
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968311123952281;171.162357330327;_
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45049)
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:28.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:28.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83297186, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968311123952281, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.214617, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23438, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.189694763449, telescope_dec_j2k=-24.1595309519813, observability=1)
2025-11-03T09:59:28.855 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:28
2025-11-03T09:59:28.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:28.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07009720802307129s
2025-11-03T09:59:28.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07009720802307129
2025-11-03T09:59:28.882 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:28
2025-11-03T09:59:28.882 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:28.882 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09647369384765625s
2025-11-03T09:59:28.882 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09647369384765625
2025-11-03T09:59:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:30
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5745861530303955s
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:30.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2150651;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23483;2460982.83299029;9.99173833;1.3;_
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2150651;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23483;2460982.83299029;9.99173833;1.3;_
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:30.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2150651, teldec = -24.256601
2025-11-03T09:59:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2150651 -24.256601
2025-11-03T09:59:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2150651 -24.256601
2025-11-03T09:59:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2150651 -24.256601
2025-11-03T09:59:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2150651;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23483;2460982.83299032;9.99173833;1.3;_15.190142513068 -24.1595430788723
2025-11-03T09:59:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.190142513068     dec_j2k = -24.1595430788723
2025-11-03T09:59:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968311926191137;171.162357330327;_
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968311926191137;171.162357330327;_
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39155)
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:30.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:30.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:30.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83299029, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968311926191137, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2150651, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23483, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.190142513068, telescope_dec_j2k=-24.1595430788723, observability=1)
2025-11-03T09:59:30.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:30
2025-11-03T09:59:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02553725242614746s
2025-11-03T09:59:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02553725242614746
2025-11-03T09:59:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:30
2025-11-03T09:59:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38553690910339355s
2025-11-03T09:59:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38553690910339355
2025-11-03T09:59:32.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:32
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897582530975342s
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2156155;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23538;2460982.83301354;9.99228722;1.3;_
2025-11-03T09:59:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2156155;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23538;2460982.83301354;9.99228722;1.3;_
2025-11-03T09:59:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:32.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2156155, teldec = -24.256601
2025-11-03T09:59:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2156155 -24.256601
2025-11-03T09:59:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2156155 -24.256601
2025-11-03T09:59:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2156155 -24.256601
2025-11-03T09:59:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2156155;-24.256601;50.108542;89.993051;50.08601;90.12017;12.23538;2460982.83301356;9.99228722;1.3;_15.1906924827475 -24.1595579761558
2025-11-03T09:59:32.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1906924827475     dec_j2k = -24.1595579761558
2025-11-03T09:59:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968315135146562;171.162357330327;_
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968315135146562;171.162357330327;_
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:32.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:32.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:32.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:32.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56481)
2025-11-03T09:59:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:32.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:32.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:32.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:32.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:32.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:32.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83301354, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968315135146562, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108542, telescope_az=89.993051, telescope_ra=15.2156155, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23538, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1906924827475, telescope_dec_j2k=-24.1595579761558, observability=1)
2025-11-03T09:59:32.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:32
2025-11-03T09:59:32.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:32.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0224001407623291s
2025-11-03T09:59:32.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0224001407623291
2025-11-03T09:59:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:32
2025-11-03T09:59:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3764536380767822s
2025-11-03T09:59:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3764536380767822
2025-11-03T09:59:34.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:34
2025-11-03T09:59:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974360704421997s
2025-11-03T09:59:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2161757;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23594;2460982.83303662;9.99284583;1.3;_
2025-11-03T09:59:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2161757;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23594;2460982.83303662;9.99284583;1.3;_
2025-11-03T09:59:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2161757, teldec = -24.256601
2025-11-03T09:59:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2161757 -24.256601
2025-11-03T09:59:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2161757 -24.256601
2025-11-03T09:59:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2161757 -24.256601
2025-11-03T09:59:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2161757;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23594;2460982.83303664;9.99284583;1.3;_15.1912522448236 -24.1595731407905
2025-11-03T09:59:34.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1912522448236     dec_j2k = -24.1595731407905
2025-11-03T09:59:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968312728429993;171.162357330327;_
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968312728429993;171.162357330327;_
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54525)
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:34.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:34.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:34.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:34.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:34.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83303662, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968312728429993, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2161757, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23594, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1912522448236, telescope_dec_j2k=-24.1595731407905, observability=1)
2025-11-03T09:59:34.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:34
2025-11-03T09:59:34.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:34.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022269248962402344s
2025-11-03T09:59:34.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022269248962402344
2025-11-03T09:59:34.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:34
2025-11-03T09:59:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3820948600769043s
2025-11-03T09:59:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3820948600769043
2025-11-03T09:59:36.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:36
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981947422027588s
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2167372;-24.256601;50.108541;89.993051;50.08601;90.12017;12.2365;2460982.83305981;9.99340583;1.3;_
2025-11-03T09:59:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2167372;-24.256601;50.108541;89.993051;50.08601;90.12017;12.2365;2460982.83305981;9.99340583;1.3;_
2025-11-03T09:59:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:36.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2167372, teldec = -24.256601
2025-11-03T09:59:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2167372 -24.256601
2025-11-03T09:59:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2167372 -24.256601
2025-11-03T09:59:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2167372 -24.256601
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2167372;-24.256601;50.108541;89.993051;50.08601;90.12017;12.2365;2460982.83305984;9.99340583;1.3;_15.1918133059427 -24.1595883427434
2025-11-03T09:59:36.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1918133059427     dec_j2k = -24.1595883427434
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968318344101986;171.162362694745;_
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968318344101986;171.162362694745;_
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:36.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:36.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47075)
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:36.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:36.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:36.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:36.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:36.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83305981, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968318344101986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2167372, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1918133059427, telescope_dec_j2k=-24.1595883427434, observability=1)
2025-11-03T09:59:36.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:36
2025-11-03T09:59:36.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:36.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02442646026611328s
2025-11-03T09:59:36.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02442646026611328
2025-11-03T09:59:36.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:36
2025-11-03T09:59:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37915587425231934s
2025-11-03T09:59:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37915587425231934
2025-11-03T09:59:38.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:38
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9735314846038818s
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2172884;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23705;2460982.83308289;9.99395556;1.3;_
2025-11-03T09:59:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2172884;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23705;2460982.83308289;9.99395556;1.3;_
2025-11-03T09:59:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2172884, teldec = -24.256601
2025-11-03T09:59:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2172884 -24.256601
2025-11-03T09:59:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2172884 -24.256601
2025-11-03T09:59:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2172884 -24.256601
2025-11-03T09:59:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2172884;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23705;2460982.83308292;9.99395556;1.3;_15.1923640751701 -24.1596032679071
2025-11-03T09:59:38.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1923640751701     dec_j2k = -24.1596032679071
2025-11-03T09:59:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968319948579698;171.162357330327;_
2025-11-03T09:59:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968319948579698;171.162357330327;_
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59811)
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:38.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:38.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83308289, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968319948579698, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2172884, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23705, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1923640751701, telescope_dec_j2k=-24.1596032679071, observability=1)
2025-11-03T09:59:38.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:38
2025-11-03T09:59:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022300004959106445s
2025-11-03T09:59:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022300004959106445
2025-11-03T09:59:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:38
2025-11-03T09:59:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3837592601776123s
2025-11-03T09:59:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3837592601776123
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.148 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T09:59:40.149 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.150 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.150 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.150 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:40.150 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:40.150 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:40.151 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T09:59:40.152 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:40.153 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Park
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command Park
2025-11-03T09:59:40.154 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to Park
2025-11-03T09:59:40.155 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 29;15.2177945;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23756;2460982.83310365;9.99446028;1.3;_Park Command Successful
2025-11-03T09:59:40.585 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:40
2025-11-03T09:59:40.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:40.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2071189880371094s
2025-11-03T09:59:40.585 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:40.585 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:40.586 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:40.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:40.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:40.586 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:40.587 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:40.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2179068;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23767;2460982.83310866;9.99457222;1.3;_
2025-11-03T09:59:40.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2179068;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23767;2460982.83310866;9.99457222;1.3;_
2025-11-03T09:59:40.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:40.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:40.588 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:40.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:40.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:40.589 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2179068, teldec = -24.256601
2025-11-03T09:59:40.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2179068 -24.256601
2025-11-03T09:59:40.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2179068 -24.256601
2025-11-03T09:59:40.589 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2179068 -24.256601
2025-11-03T09:59:40.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2179068;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23767;2460982.83310868;9.99457222;1.3;_15.1929819919475 -24.1596200151263
2025-11-03T09:59:40.590 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1929819919475     dec_j2k = -24.1596200151263
2025-11-03T09:59:40.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:40.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:40.590 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968313530668849;171.162357330327;_
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968313530668849;171.162357330327;_
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:40.591 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:40.592 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:40.592 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:40.592 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:40.592 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:40.592 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:40.593 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:40.593 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:40.593 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:40.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45793)
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:40.596 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:40.603 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:40.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:40.604 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83310866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968313530668849, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2179068, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23767, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1929819919475, telescope_dec_j2k=-24.1596200151263, observability=1)
2025-11-03T09:59:40.626 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:40
2025-11-03T09:59:40.626 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:40.626 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02166914939880371s
2025-11-03T09:59:40.626 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02166914939880371
2025-11-03T09:59:40.930 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:40
2025-11-03T09:59:40.930 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:40.930 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3264896869659424s
2025-11-03T09:59:40.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3264896869659424
2025-11-03T09:59:41.155 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:59:41.155 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:59:41.155 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:59:41.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:59:41.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:59:42.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:59:42.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:59:42.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:59:42.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:59:42.156 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:59:42.157 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:42.157 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Status age = 1.5534610748291016s
2025-11-03T09:59:42.157 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:42.158 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:42.159 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 17;15.2183552;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23812;2460982.83312684;9.99501944;1.3;_
2025-11-03T09:59:42.159 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response 17;15.2183552;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23812;2460982.83312684;9.99501944;1.3;_
2025-11-03T09:59:42.159 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:42.159 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:42.159 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:42.160 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:42.160 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:42.160 [INFO] [Thread-88785 (handle)] [driver.py] [get_status()] Telra = 15.2183552, teldec = -24.256601
2025-11-03T09:59:42.160 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2183552 -24.256601
2025-11-03T09:59:42.160 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2183552 -24.256601
2025-11-03T09:59:42.161 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2183552 -24.256601
2025-11-03T09:59:42.161 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 17;15.2183552;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23812;2460982.83312686;9.99501944;1.3;_15.1934300416093 -24.1596321601
2025-11-03T09:59:42.161 [INFO] [Thread-88785 (handle)] [driver.py] [get_status()] ra_j2k = 15.1934300416093     dec_j2k = -24.1596321601
2025-11-03T09:59:42.162 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:42.162 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:42.162 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 140;0.0968323558654551;171.162362694745;_
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response 140;0.0968323558654551;171.162362694745;_
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:42.163 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:42.164 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:42.165 [DEBUG] [Thread-88785 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:42.165 [DEBUG] [Thread-88785 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:42.165 [DEBUG] [Thread-88785 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:42.169 [DEBUG] [Thread-88785 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58949)
2025-11-03T09:59:42.169 [DEBUG] [Thread-88785 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:42.169 [DEBUG] [Thread-88785 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:42.169 [DEBUG] [Thread-88785 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:42.169 [DEBUG] [Thread-88785 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:42.170 [DEBUG] [Thread-88785 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:42.176 [DEBUG] [Thread-88785 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:42.177 [DEBUG] [Thread-88785 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:42.177 [INFO] [Thread-88785 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83312684, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968323558654551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2183552, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1934300416093, telescope_dec_j2k=-24.1596321601, observability=1)
2025-11-03T09:59:42.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:42
2025-11-03T09:59:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1834278106689453s
2025-11-03T09:59:42.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1834278106689453
2025-11-03T09:59:42.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:42
2025-11-03T09:59:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20554804801940918s
2025-11-03T09:59:42.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20554804801940918
2025-11-03T09:59:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:42
2025-11-03T09:59:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5874936580657959s
2025-11-03T09:59:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5874936580657959
2025-11-03T09:59:43.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T09:59:43.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T09:59:43.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T09:59:43.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:59:43.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T09:59:44.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] ParkRotator
2025-11-03T09:59:44.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T09:59:44.157 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:44.158 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T09:59:44.159 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T09:59:44.160 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:44.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:44
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.257598638534546s
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:44.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:44.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.218992;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23876;2460982.83315319;9.99565444;1.3;_
2025-11-03T09:59:44.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.218992;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23876;2460982.83315319;9.99565444;1.3;_
2025-11-03T09:59:44.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:44.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:44.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:44.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:44.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:44.437 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.218992, teldec = -24.256601
2025-11-03T09:59:44.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.218992 -24.256601
2025-11-03T09:59:44.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.218992 -24.256601
2025-11-03T09:59:44.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.218992 -24.256601
2025-11-03T09:59:44.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.218992;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23876;2460982.83315322;9.99565444;1.3;_15.1940663441377 -24.1596494102453
2025-11-03T09:59:44.438 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1940663441377     dec_j2k = -24.1596494102453
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968322756415695;171.162351965909;_
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968322756415695;171.162351965909;_
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:44.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:44.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:44.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:44.440 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:44.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:44.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:44.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:44.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:44.441 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:44.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:44.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:44.442 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60571)
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:44.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:44.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:44.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:44.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83315319, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968322756415695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.218992, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1940663441377, telescope_dec_j2k=-24.1596494102453, observability=1)
2025-11-03T09:59:44.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:44
2025-11-03T09:59:44.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:44.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021727800369262695s
2025-11-03T09:59:44.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021727800369262695
2025-11-03T09:59:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:44
2025-11-03T09:59:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3089911937713623s
2025-11-03T09:59:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3089911937713623
2025-11-03T09:59:45.160 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:45.160 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:45.160 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:45.160 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:45.160 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T09:59:45.161 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T09:59:45.162 [DEBUG] [ThreadPoolExecutor-3434_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:45.162 [INFO] [ThreadPoolExecutor-3434_0] [server.py] [done()] Shutdown complete...
2025-11-03T09:59:46.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:46
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9227066040039062s
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2195248;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23929;2460982.83317568;9.99618583;1.3;_
2025-11-03T09:59:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2195248;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23929;2460982.83317568;9.99618583;1.3;_
2025-11-03T09:59:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:46.380 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2195248, teldec = -24.256601
2025-11-03T09:59:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2195248 -24.256601
2025-11-03T09:59:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2195248 -24.256601
2025-11-03T09:59:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2195248 -24.256601
2025-11-03T09:59:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2195248;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23929;2460982.83317571;9.99618583;1.3;_15.1945987279701 -24.1596638452589
2025-11-03T09:59:46.382 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1945987279701     dec_j2k = -24.1596638452589
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968319948579698;171.162351965909;_
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968319948579698;171.162351965909;_
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:46.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57453)
2025-11-03T09:59:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:46.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:46.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:46.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:46.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:46.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83317568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968319948579698, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2195248, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23929, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1945987279701, telescope_dec_j2k=-24.1596638452589, observability=1)
2025-11-03T09:59:46.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:46
2025-11-03T09:59:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02467179298400879s
2025-11-03T09:59:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02467179298400879
2025-11-03T09:59:46.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:46
2025-11-03T09:59:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3731260299682617s
2025-11-03T09:59:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3731260299682617
2025-11-03T09:59:48.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:48
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9666731357574463s
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:48.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:48.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2200769;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23984;2460982.83319863;9.99673639;1.3;_
2025-11-03T09:59:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2200769;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23984;2460982.83319863;9.99673639;1.3;_
2025-11-03T09:59:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:48.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:48.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2200769, teldec = -24.256601
2025-11-03T09:59:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2200769 -24.256601
2025-11-03T09:59:48.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2200769 -24.256601
2025-11-03T09:59:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2200769 -24.256601
2025-11-03T09:59:48.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2200769;-24.256601;50.108541;89.993051;50.08601;90.12017;12.23984;2460982.83319866;9.99673639;1.3;_15.1951503967837 -24.1596788051835
2025-11-03T09:59:48.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1951503967837     dec_j2k = -24.1596788051835
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968323157535123;171.162368059163;_
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968323157535123;171.162368059163;_
2025-11-03T09:59:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41747)
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:48.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:48.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:48.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:48.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83319863, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968323157535123, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2200769, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.23984, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1951503967837, telescope_dec_j2k=-24.1596788051835, observability=1)
2025-11-03T09:59:48.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:48
2025-11-03T09:59:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022000551223754883s
2025-11-03T09:59:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022000551223754883
2025-11-03T09:59:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:48
2025-11-03T09:59:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3850734233856201s
2025-11-03T09:59:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3850734233856201
2025-11-03T09:59:49.826 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:49.826 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Status age = 1.4465351104736328s
2025-11-03T09:59:49.826 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:49.826 [DEBUG] [Thread-88786 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:49.826 [DEBUG] [Thread-88786 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:49.827 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:49.827 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:49.827 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:49.828 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:49.829 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 17;15.220498;-24.256601;50.108541;89.993051;50.08601;90.12017;12.24026;2460982.83321561;9.99715639;1.3;_
2025-11-03T09:59:49.829 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response 17;15.220498;-24.256601;50.108541;89.993051;50.08601;90.12017;12.24026;2460982.83321561;9.99715639;1.3;_
2025-11-03T09:59:49.829 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:49.829 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:49.829 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:49.830 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:49.830 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:49.830 [INFO] [Thread-88786 (handle)] [driver.py] [get_status()] Telra = 15.220498, teldec = -24.256601
2025-11-03T09:59:49.830 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] UnCookCoordinates 15.220498 -24.256601
2025-11-03T09:59:49.830 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.220498 -24.256601
2025-11-03T09:59:49.830 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.220498 -24.256601
2025-11-03T09:59:49.831 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 17;15.220498;-24.256601;50.108541;89.993051;50.08601;90.12017;12.24026;2460982.83321564;9.99715639;1.3;_15.195571167946 -24.1596902168618
2025-11-03T09:59:49.831 [INFO] [Thread-88786 (handle)] [driver.py] [get_status()] ra_j2k = 15.195571167946     dec_j2k = -24.1596902168618
2025-11-03T09:59:49.831 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:49.831 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 140;0.0968320349699126;171.162351965909;_
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response 140;0.0968320349699126;171.162351965909;_
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:49.832 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:49.833 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:49.834 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:49.835 [DEBUG] [Thread-88786 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:49.835 [DEBUG] [Thread-88786 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:49.835 [DEBUG] [Thread-88786 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39487)
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:49.839 [DEBUG] [Thread-88786 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:49.846 [DEBUG] [Thread-88786 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:49.846 [DEBUG] [Thread-88786 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:49.846 [DEBUG] [Thread-88786 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:49.846 [DEBUG] [Thread-88786 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:49.847 [DEBUG] [Thread-88786 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:49.847 [DEBUG] [Thread-88786 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:49.847 [DEBUG] [Thread-88786 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:49.847 [DEBUG] [Thread-88786 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:49.847 [DEBUG] [Thread-88786 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:49.847 [INFO] [Thread-88786 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83321561, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968320349699126, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.220498, telescope_dec=-24.256601, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24026, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.195571167946, telescope_dec_j2k=-24.1596902168618, observability=1)
2025-11-03T09:59:50.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:50
2025-11-03T09:59:50.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:50.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5362164974212646s
2025-11-03T09:59:50.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5362164974212646
2025-11-03T09:59:50.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:50
2025-11-03T09:59:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5575039386749268s
2025-11-03T09:59:50.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5575039386749268
2025-11-03T09:59:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:50
2025-11-03T09:59:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9138710498809814s
2025-11-03T09:59:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9138710498809814
2025-11-03T09:59:52.502 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:52
2025-11-03T09:59:52.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:52.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.655696153640747s
2025-11-03T09:59:52.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:52.503 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:52.503 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:52.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:52.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:52.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:52.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:52.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2212459;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24101;2460982.83324659;9.99790222;1.3;_
2025-11-03T09:59:52.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2212459;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24101;2460982.83324659;9.99790222;1.3;_
2025-11-03T09:59:52.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:52.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:52.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:52.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:52.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:52.506 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2212459, teldec = -24.2566
2025-11-03T09:59:52.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2212459 -24.2566
2025-11-03T09:59:52.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2212459 -24.2566
2025-11-03T09:59:52.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2212459 -24.2566
2025-11-03T09:59:52.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2212459;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24101;2460982.83324661;9.99790222;1.3;_15.1963184841368 -24.159709487688
2025-11-03T09:59:52.507 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1963184841368     dec_j2k = -24.159709487688
2025-11-03T09:59:52.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:52.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968320750818554;171.162357330327;_
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968320750818554;171.162357330327;_
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:52.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:52.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:52.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:52.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:52.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:52.517 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45673)
2025-11-03T09:59:52.517 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:52.517 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:52.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:52.518 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:52.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:52.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:52.525 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:52.525 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:52.526 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:52.526 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83324659, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968320750818554, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2212459, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1963184841368, telescope_dec_j2k=-24.159709487688, observability=1)
2025-11-03T09:59:52.547 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:52
2025-11-03T09:59:52.547 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:52.547 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02162480354309082s
2025-11-03T09:59:52.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02162480354309082
2025-11-03T09:59:52.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:52
2025-11-03T09:59:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23538565635681152s
2025-11-03T09:59:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23538565635681152
2025-11-03T09:59:54.558 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:54
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.031933546066284s
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:54.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2218072;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24157;2460982.83327036;9.99846194;1.3;_
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2218072;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24157;2460982.83327036;9.99846194;1.3;_
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:54.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:54.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:54.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:54.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:54.561 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2218072, teldec = -24.2566
2025-11-03T09:59:54.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2218072 -24.2566
2025-11-03T09:59:54.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2218072 -24.2566
2025-11-03T09:59:54.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2218072 -24.2566
2025-11-03T09:59:54.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2218072;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24157;2460982.83327039;9.99846194;1.3;_15.1968793459477 -24.1597247034344
2025-11-03T09:59:54.562 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1968793459477     dec_j2k = -24.1597247034344
2025-11-03T09:59:54.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:54.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:54.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968323959773979;171.162357330327;_
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968323959773979;171.162357330327;_
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:54.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:54.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:54.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:54.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T09:59:54.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41451)
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:54.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:54.579 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:54.579 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:54.579 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:54.580 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:54.580 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83327036, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968323959773979, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2218072, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24157, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1968793459477, telescope_dec_j2k=-24.1597247034344, observability=1)
2025-11-03T09:59:54.601 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:54
2025-11-03T09:59:54.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:54.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02162313461303711s
2025-11-03T09:59:54.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02162313461303711
2025-11-03T09:59:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:54
2025-11-03T09:59:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1815171241760254s
2025-11-03T09:59:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1815171241760254
2025-11-03T09:59:56.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:56
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8485214710235596s
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:56.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:56.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:56.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2223397;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2421;2460982.83329201;9.99899306;1.3;_
2025-11-03T09:59:56.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2223397;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2421;2460982.83329201;9.99899306;1.3;_
2025-11-03T09:59:56.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:56.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:56.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:56.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:56.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:56.432 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2223397, teldec = -24.2566
2025-11-03T09:59:56.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2223397 -24.2566
2025-11-03T09:59:56.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2223397 -24.2566
2025-11-03T09:59:56.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2223397 -24.2566
2025-11-03T09:59:56.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2223397;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2421;2460982.83329205;9.99899306;1.3;_15.1974114302966 -24.1597391404332
2025-11-03T09:59:56.433 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1974114302966     dec_j2k = -24.1597391404332
2025-11-03T09:59:56.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:56.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:56.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968321151937982;171.162351965909;_
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968321151937982;171.162351965909;_
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:56.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:56.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55087)
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:56.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:56.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:56.445 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:56.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:56.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83329201, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968321151937982, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2223397, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2421, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1974114302966, telescope_dec_j2k=-24.1597391404332, observability=1)
2025-11-03T09:59:56.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:56
2025-11-03T09:59:56.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:56.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022415637969970703s
2025-11-03T09:59:56.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022415637969970703
2025-11-03T09:59:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:56
2025-11-03T09:59:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31871557235717773s
2025-11-03T09:59:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31871557235717773
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5184965133666992s
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T09:59:57.963 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T09:59:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T09:59:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2227514;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24252;2460982.83330978;9.99940361;1.3;_
2025-11-03T09:59:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2227514;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24252;2460982.83330978;9.99940361;1.3;_
2025-11-03T09:59:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T09:59:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T09:59:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T09:59:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T09:59:57.966 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2227514, teldec = -24.2566
2025-11-03T09:59:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2227514 -24.2566
2025-11-03T09:59:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2227514 -24.2566
2025-11-03T09:59:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2227514 -24.2566
2025-11-03T09:59:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2227514;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24252;2460982.8333098;9.99940361;1.3;_15.1978228089744 -24.1597503036451
2025-11-03T09:59:57.967 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.1978228089744     dec_j2k = -24.1597503036451
2025-11-03T09:59:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T09:59:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T09:59:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968324360893407;171.162357330327;_
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968324360893407;171.162357330327;_
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T09:59:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46411)
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T09:59:57.973 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T09:59:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T09:59:57.980 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83330978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968324360893407, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2227514, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24252, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1978228089744, telescope_dec_j2k=-24.1597503036451, observability=1)
2025-11-03T09:59:58.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:58
2025-11-03T09:59:58.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:58.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42305922508239746s
2025-11-03T09:59:58.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42305922508239746
2025-11-03T09:59:58.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:58
2025-11-03T09:59:58.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:58.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4860687255859375s
2025-11-03T09:59:58.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4860687255859375
2025-11-03T09:59:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T09:59:58
2025-11-03T09:59:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T09:59:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7823877334594727s
2025-11-03T09:59:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7823877334594727
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Status age = 2.239785671234131s
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:00.220 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:00.221 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:00.222 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 17;15.2233965;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24316;2460982.8333359;10.00004694;1.3;_
2025-11-03T10:00:00.222 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response 17;15.2233965;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24316;2460982.8333359;10.00004694;1.3;_
2025-11-03T10:00:00.222 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:00.222 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:00.222 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:00.223 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:00.223 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:00.223 [INFO] [Thread-88787 (handle)] [driver.py] [get_status()] Telra = 15.2233965, teldec = -24.2566
2025-11-03T10:00:00.223 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2233965 -24.2566
2025-11-03T10:00:00.223 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2233965 -24.2566
2025-11-03T10:00:00.223 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2233965 -24.2566
2025-11-03T10:00:00.224 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 17;15.2233965;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24316;2460982.83333593;10.00004694;1.3;_15.1984674055533 -24.1597677977773
2025-11-03T10:00:00.224 [INFO] [Thread-88787 (handle)] [driver.py] [get_status()] ra_j2k = 15.1984674055533     dec_j2k = -24.1597677977773
2025-11-03T10:00:00.224 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:00.224 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:00.224 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 140;0.0968325564251691;171.162362694745;_
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response 140;0.0968325564251691;171.162362694745;_
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:00.225 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:00.226 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:00.227 [DEBUG] [Thread-88787 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:00.227 [DEBUG] [Thread-88787 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:00.227 [DEBUG] [Thread-88787 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46259)
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:00.229 [DEBUG] [Thread-88787 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:00.236 [DEBUG] [Thread-88787 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:00.236 [DEBUG] [Thread-88787 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:00.237 [DEBUG] [Thread-88787 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:00.237 [INFO] [Thread-88787 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8333359, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968325564251691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2233965, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1984674055533, telescope_dec_j2k=-24.1597677977773, observability=1)
2025-11-03T10:00:00.501 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:00
2025-11-03T10:00:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26411890983581543s
2025-11-03T10:00:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26411890983581543
2025-11-03T10:00:00.524 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:00
2025-11-03T10:00:00.524 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:00.524 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2874279022216797s
2025-11-03T10:00:00.524 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2874279022216797
2025-11-03T10:00:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:00
2025-11-03T10:00:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5273787975311279s
2025-11-03T10:00:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5273787975311279
2025-11-03T10:00:02.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:02
2025-11-03T10:00:02.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:02.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1485559940338135s
2025-11-03T10:00:02.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:02.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:02.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2239756;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24374;2460982.83336096;10.00062444;1.3;_
2025-11-03T10:00:02.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2239756;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24374;2460982.83336096;10.00062444;1.3;_
2025-11-03T10:00:02.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:02.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:02.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:02.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:02.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:02.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2239756, teldec = -24.2566
2025-11-03T10:00:02.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2239756 -24.2566
2025-11-03T10:00:02.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2239756 -24.2566
2025-11-03T10:00:02.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2239756 -24.2566
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2239756;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24374;2460982.83336098;10.00062444;1.3;_15.1990460537038 -24.1597835044793
2025-11-03T10:00:02.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1990460537038     dec_j2k = -24.1597835044793
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968322756415695;171.162362694745;_
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968322756415695;171.162362694745;_
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:02.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:02.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:02.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:02.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:02.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:02.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:02.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34303)
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:02.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:02.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83336096, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968322756415695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2239756, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24374, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1990460537038, telescope_dec_j2k=-24.1597835044793, observability=1)
2025-11-03T10:00:02.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:02
2025-11-03T10:00:02.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:02.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021802902221679688s
2025-11-03T10:00:02.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021802902221679688
2025-11-03T10:00:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:02
2025-11-03T10:00:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35901308059692383s
2025-11-03T10:00:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35901308059692383
2025-11-03T10:00:04.569 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:04
2025-11-03T10:00:04.569 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:04.569 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.16324520111084s
2025-11-03T10:00:04.569 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:04.569 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:04.570 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:04.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:04.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:04.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:04.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:04.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2245934;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24436;2460982.83338625;10.00124056;1.3;_
2025-11-03T10:00:04.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2245934;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24436;2460982.83338625;10.00124056;1.3;_
2025-11-03T10:00:04.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:04.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:04.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:04.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:04.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:04.573 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2245934, teldec = -24.2566
2025-11-03T10:00:04.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2245934 -24.2566
2025-11-03T10:00:04.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2245934 -24.2566
2025-11-03T10:00:04.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2245934 -24.2566
2025-11-03T10:00:04.574 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2245934;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24436;2460982.83338627;10.00124056;1.3;_15.1996633717278 -24.1598002633183
2025-11-03T10:00:04.574 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.1996633717278     dec_j2k = -24.1598002633183
2025-11-03T10:00:04.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:04.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:04.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968324360893407;171.162357330327;_
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968324360893407;171.162357330327;_
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:04.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:04.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:04.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:04.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:04.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:04.579 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38525)
2025-11-03T10:00:04.579 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:04.579 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:04.579 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:04.580 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:04.580 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:04.586 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:04.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:04.587 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83338625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968324360893407, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2245934, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.1996633717278, telescope_dec_j2k=-24.1598002633183, observability=1)
2025-11-03T10:00:04.612 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:04
2025-11-03T10:00:04.612 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:04.612 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024799346923828125s
2025-11-03T10:00:04.612 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024799346923828125
2025-11-03T10:00:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:04
2025-11-03T10:00:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1748197078704834s
2025-11-03T10:00:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1748197078704834
2025-11-03T10:00:06.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:06
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7729334831237793s
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:06.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:06.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:06.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.225097;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24486;2460982.83340697;10.00174278;1.3;_
2025-11-03T10:00:06.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.225097;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24486;2460982.83340697;10.00174278;1.3;_
2025-11-03T10:00:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:06.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.225097, teldec = -24.2566
2025-11-03T10:00:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.225097 -24.2566
2025-11-03T10:00:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.225097 -24.2566
2025-11-03T10:00:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.225097 -24.2566
2025-11-03T10:00:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.225097;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24486;2460982.833407;10.00174278;1.3;_15.2001665788981 -24.1598139261979
2025-11-03T10:00:06.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2001665788981     dec_j2k = -24.1598139261979
2025-11-03T10:00:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968329575445972;171.162357330327;_
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968329575445972;171.162357330327;_
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36651)
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:06.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:06.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:06.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83340697, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968329575445972, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.225097, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24486, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2001665788981, telescope_dec_j2k=-24.1598139261979, observability=1)
2025-11-03T10:00:06.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:06
2025-11-03T10:00:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02158522605895996s
2025-11-03T10:00:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02158522605895996
2025-11-03T10:00:06.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:06
2025-11-03T10:00:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38242101669311523s
2025-11-03T10:00:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38242101669311523
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.8710711002349854s
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:08.247 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:08.248 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:08.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.2256206;-24.256607;50.108541;89.993061;50.08601;90.12018;12.24538;2460982.83342881;10.00226472;1.3;_
2025-11-03T10:00:08.249 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.2256206;-24.256607;50.108541;89.993061;50.08601;90.12018;12.24538;2460982.83342881;10.00226472;1.3;_
2025-11-03T10:00:08.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:08.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:08.249 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:08.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:08.250 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:08.250 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.2256206, teldec = -24.256607
2025-11-03T10:00:08.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2256206 -24.256607
2025-11-03T10:00:08.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2256206 -24.256607
2025-11-03T10:00:08.250 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2256206 -24.256607
2025-11-03T10:00:08.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.2256206;-24.256607;50.108541;89.993061;50.08601;90.12018;12.24538;2460982.83342883;10.00226472;1.3;_15.2006897695033 -24.1598351333522
2025-11-03T10:00:08.251 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.2006897695033     dec_j2k = -24.1598351333522
2025-11-03T10:00:08.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:08.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:08.251 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:08.252 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968325564251691;171.162357330327;_
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968325564251691;171.162357330327;_
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:08.253 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:08.254 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38665)
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:08.260 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:08.267 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:08.267 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:08.267 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:08.267 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:08.268 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:08.268 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:08.268 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:08.268 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:08.268 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:08.268 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83342881, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968325564251691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993061, telescope_ra=15.2256206, telescope_dec=-24.256607, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24538, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2006897695033, telescope_dec_j2k=-24.1598351333522, observability=1)
2025-11-03T10:00:08.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:08
2025-11-03T10:00:08.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:08.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11166810989379883s
2025-11-03T10:00:08.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11166810989379883
2025-11-03T10:00:08.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:08
2025-11-03T10:00:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1332697868347168s
2025-11-03T10:00:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1332697868347168
2025-11-03T10:00:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:08
2025-11-03T10:00:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4976825714111328s
2025-11-03T10:00:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4976825714111328
2025-11-03T10:00:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:10
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4949357509613037s
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2263209;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24609;2460982.83345793;10.00296333;1.3;_
2025-11-03T10:00:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2263209;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24609;2460982.83345793;10.00296333;1.3;_
2025-11-03T10:00:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:10.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2263209, teldec = -24.2566
2025-11-03T10:00:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2263209 -24.2566
2025-11-03T10:00:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2263209 -24.2566
2025-11-03T10:00:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2263209 -24.2566
2025-11-03T10:00:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2263209;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24609;2460982.83345795;10.00296333;1.3;_15.2013895244025 -24.1598471382417
2025-11-03T10:00:10.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2013895244025     dec_j2k = -24.1598471382417
2025-11-03T10:00:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968327168729403;171.162362694745;_
2025-11-03T10:00:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968327168729403;171.162362694745;_
2025-11-03T10:00:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:10.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60519)
2025-11-03T10:00:10.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:10.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:10.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:10.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:10.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:10.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:10.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:10.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83345793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968327168729403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2263209, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2013895244025, telescope_dec_j2k=-24.1598471382417, observability=1)
2025-11-03T10:00:11.194 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:11
2025-11-03T10:00:11.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:11.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4090402126312256s
2025-11-03T10:00:11.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4090402126312256
2025-11-03T10:00:11.216 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:11
2025-11-03T10:00:11.216 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:11.216 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4308016300201416s
2025-11-03T10:00:11.216 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4308016300201416
2025-11-03T10:00:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:12
2025-11-03T10:00:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9774296283721924s
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2268724;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24664;2460982.83348105;10.00351333;1.3;_
2025-11-03T10:00:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2268724;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24664;2460982.83348105;10.00351333;1.3;_
2025-11-03T10:00:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2268724, teldec = -24.2566
2025-11-03T10:00:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2268724 -24.2566
2025-11-03T10:00:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2268724 -24.2566
2025-11-03T10:00:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2268724 -24.2566
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2268724;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24664;2460982.83348109;10.00351333;1.3;_15.2019405943908 -24.1598621071759
2025-11-03T10:00:12.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2019405943908     dec_j2k = -24.1598621071759
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968323959773979;171.162351965909;_
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968323959773979;171.162351965909;_
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:12.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51749)
2025-11-03T10:00:12.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:12.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:12.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:12.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:12.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83348105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968323959773979, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2268724, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24664, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2019405943908, telescope_dec_j2k=-24.1598621071759, observability=1)
2025-11-03T10:00:12.886 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:12
2025-11-03T10:00:12.886 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:12.886 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10873103141784668s
2025-11-03T10:00:12.886 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10873103141784668
2025-11-03T10:00:12.909 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:12
2025-11-03T10:00:12.909 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:12.909 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13172698020935059s
2025-11-03T10:00:12.909 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13172698020935059
2025-11-03T10:00:13.862 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:00:13
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.085108995437622s
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:13.862 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:13.863 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:13.864 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2271808;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24695;2460982.83349378;10.00382083;1.3;_
2025-11-03T10:00:13.864 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.2271808;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24695;2460982.83349378;10.00382083;1.3;_
2025-11-03T10:00:13.864 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:13.864 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:13.864 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:13.865 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:13.865 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:13.865 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.2271808, teldec = -24.2566
2025-11-03T10:00:13.865 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2271808 -24.2566
2025-11-03T10:00:13.865 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2271808 -24.2566
2025-11-03T10:00:13.865 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2271808 -24.2566
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2271808;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24695;2460982.83349382;10.00382083;1.3;_15.2022487539523 -24.1598704787295
2025-11-03T10:00:13.866 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.2022487539523     dec_j2k = -24.1598704787295
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968325564251691;171.162357330327;_
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968325564251691;171.162357330327;_
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:13.866 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:13.867 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:13.868 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:13.868 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:13.868 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60451)
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:13.873 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:13.880 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:13.881 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:13.881 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:13.881 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83349378, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968325564251691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2271808, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24695, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2022487539523, telescope_dec_j2k=-24.1598704787295, observability=1)
2025-11-03T10:00:14.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:14
2025-11-03T10:00:14.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:14.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5018370151519775s
2025-11-03T10:00:14.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5018370151519775
2025-11-03T10:00:14.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:14
2025-11-03T10:00:14.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:14.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5254676342010498s
2025-11-03T10:00:14.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5254676342010498
2025-11-03T10:00:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:14
2025-11-03T10:00:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8855242729187012s
2025-11-03T10:00:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8855242729187012
2025-11-03T10:00:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:16
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4791548252105713s
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2278824;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24765;2460982.8335227;10.00452056;1.3;_
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2278824;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24765;2460982.8335227;10.00452056;1.3;_
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:16.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2278824, teldec = -24.2566
2025-11-03T10:00:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2278824 -24.2566
2025-11-03T10:00:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2278824 -24.2566
2025-11-03T10:00:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2278824 -24.2566
2025-11-03T10:00:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2278824;-24.2566;50.108541;89.993051;50.08601;90.12017;12.24765;2460982.83352272;10.00452056;1.3;_15.2029498070294 -24.1598895261284
2025-11-03T10:00:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2029498070294     dec_j2k = -24.1598895261284
2025-11-03T10:00:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968328773207116;171.162351965909;_
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968328773207116;171.162351965909;_
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49549)
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:16.367 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:16.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:16.374 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8335227, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968328773207116, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2278824, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24765, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2029498070294, telescope_dec_j2k=-24.1598895261284, observability=1)
2025-11-03T10:00:16.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:16
2025-11-03T10:00:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02167487144470215s
2025-11-03T10:00:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02167487144470215
2025-11-03T10:00:16.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:16
2025-11-03T10:00:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3939704895019531s
2025-11-03T10:00:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3939704895019531
2025-11-03T10:00:17.340 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:00:17.340 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.9658334255218506s
2025-11-03T10:00:17.340 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.9658334255218506
2025-11-03T10:00:17.340 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4782702922821045 seconds ago
2025-11-03T10:00:18.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:18
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897589683532715s
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:18.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:18.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2284342;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2482;2460982.8335459;10.00507083;1.3;_
2025-11-03T10:00:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2284342;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2482;2460982.8335459;10.00507083;1.3;_
2025-11-03T10:00:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:18.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:18.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:18.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2284342, teldec = -24.2566
2025-11-03T10:00:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2284342 -24.2566
2025-11-03T10:00:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2284342 -24.2566
2025-11-03T10:00:18.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2284342 -24.2566
2025-11-03T10:00:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2284342;-24.2566;50.108541;89.993051;50.08601;90.12017;12.2482;2460982.83354594;10.00507083;1.3;_15.2035011769463 -24.1599045090081
2025-11-03T10:00:18.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2035011769463     dec_j2k = -24.1599045090081
2025-11-03T10:00:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:18.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968332784401396;171.162357330327;_
2025-11-03T10:00:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968332784401396;171.162357330327;_
2025-11-03T10:00:18.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:18.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:18.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:18.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:18.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50333)
2025-11-03T10:00:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:18.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:18.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:18.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:18.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8335459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968332784401396, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.993051, telescope_ra=15.2284342, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2482, lcu_permission=False, lcu_permission_timestamp='2025-11-03T09:59:19.263362', telescope_ra_j2k=15.2035011769463, telescope_dec_j2k=-24.1599045090081, observability=1)
2025-11-03T10:00:18.382 [DEBUG] [Thread-88788 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:18.382 [DEBUG] [Thread-88788 (handle)] [server.py] [get_status()] Status age = 0.0005159378051757812s
2025-11-03T10:00:18.382 [DEBUG] [Thread-88788 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0005159378051757812
2025-11-03T10:00:18.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:18
2025-11-03T10:00:18.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:18.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022851943969726562s
2025-11-03T10:00:18.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022851943969726562
2025-11-03T10:00:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:18
2025-11-03T10:00:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38338780403137207s
2025-11-03T10:00:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38338780403137207
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:19.408 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:19.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:19.409 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:19.409 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:19.409 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:19.409 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:19.410 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:19.410 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:00:19.411 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:00:19.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:20.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:20
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978774070739746s
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:20.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:20.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2289957;-24.2566;50.108541;89.99305;50.08601;90.12017;12.24876;2460982.833569;10.00563083;1.3;_
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2289957;-24.2566;50.108541;89.99305;50.08601;90.12017;12.24876;2460982.833569;10.00563083;1.3;_
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:20.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:20.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2289957, teldec = -24.2566
2025-11-03T10:00:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2289957 -24.2566
2025-11-03T10:00:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2289957 -24.2566
2025-11-03T10:00:20.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2289957 -24.2566
2025-11-03T10:00:20.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2289957;-24.2566;50.108541;89.99305;50.08601;90.12017;12.24876;2460982.83356903;10.00563083;1.3;_15.2040622393618 -24.1599197573734
2025-11-03T10:00:20.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2040622393618     dec_j2k = -24.1599197573734
2025-11-03T10:00:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968327168729403;171.162362694745;_
2025-11-03T10:00:20.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968327168729403;171.162362694745;_
2025-11-03T10:00:20.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:20.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:20.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:20.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59017)
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:20.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:20.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:20.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:20.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.833569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968327168729403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108541, telescope_az=89.99305, telescope_ra=15.2289957, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24876, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2040622393618, telescope_dec_j2k=-24.1599197573734, observability=1)
2025-11-03T10:00:20.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:20
2025-11-03T10:00:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021718740463256836s
2025-11-03T10:00:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021718740463256836
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:20.412 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:00:20.413 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:20.414 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:20.415 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:20.415 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:20.415 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:20.415 [DEBUG] [ThreadPoolExecutor-3436_0] [payload.py] [to_registers()] [0]
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34081)
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:20.416 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:20.423 [DEBUG] [ThreadPoolExecutor-3436_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:20
2025-11-03T10:00:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38665080070495605s
2025-11-03T10:00:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38665080070495605
2025-11-03T10:00:22.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:22
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9861204624176025s
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:22.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:22.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:22.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2295472;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24931;2460982.83359219;10.00618083;1.3;_
2025-11-03T10:00:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2295472;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24931;2460982.83359219;10.00618083;1.3;_
2025-11-03T10:00:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:22.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2295472, teldec = -24.2566
2025-11-03T10:00:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2295472 -24.2566
2025-11-03T10:00:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2295472 -24.2566
2025-11-03T10:00:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2295472 -24.2566
2025-11-03T10:00:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2295472;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24931;2460982.83359222;10.00618083;1.3;_15.2046133096283 -24.1599347362398
2025-11-03T10:00:22.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2046133096283     dec_j2k = -24.1599347362398
2025-11-03T10:00:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968332784401396;171.162351965909;_
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968332784401396;171.162351965909;_
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:22.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51955)
2025-11-03T10:00:22.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:22.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:22.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:22.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:22.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:22.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:22.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:22.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83359219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968332784401396, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2295472, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24931, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2046133096283, telescope_dec_j2k=-24.1599347362398, observability=1)
2025-11-03T10:00:22.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:22
2025-11-03T10:00:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021340370178222656s
2025-11-03T10:00:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021340370178222656
2025-11-03T10:00:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:22
2025-11-03T10:00:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38012099266052246s
2025-11-03T10:00:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38012099266052246
2025-11-03T10:00:24.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:24
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854888916015625s
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2301088;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24987;2460982.83361538;10.00674083;1.3;_
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2301088;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24987;2460982.83361538;10.00674083;1.3;_
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:24.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2301088, teldec = -24.2566
2025-11-03T10:00:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2301088 -24.2566
2025-11-03T10:00:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2301088 -24.2566
2025-11-03T10:00:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2301088 -24.2566
2025-11-03T10:00:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2301088;-24.2566;50.10854;89.99305;50.08601;90.12017;12.24987;2460982.8336154;10.00674083;1.3;_15.2051744720838 -24.1599499915279
2025-11-03T10:00:24.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2051744720838     dec_j2k = -24.1599499915279
2025-11-03T10:00:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42203)
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:24.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:24.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83361538, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096833398775968, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2301088, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.24987, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2051744720838, telescope_dec_j2k=-24.1599499915279, observability=1)
2025-11-03T10:00:24.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:24
2025-11-03T10:00:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022367000579833984s
2025-11-03T10:00:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022367000579833984
2025-11-03T10:00:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:24
2025-11-03T10:00:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3814992904663086s
2025-11-03T10:00:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3814992904663086
2025-11-03T10:00:26.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:26
2025-11-03T10:00:26.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789557456970215s
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:26.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:26.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2306695;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25043;2460982.83363847;10.0073;1.3;_
2025-11-03T10:00:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2306695;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25043;2460982.83363847;10.0073;1.3;_
2025-11-03T10:00:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:26.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:26.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2306695, teldec = -24.2566
2025-11-03T10:00:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2306695 -24.2566
2025-11-03T10:00:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2306695 -24.2566
2025-11-03T10:00:26.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2306695 -24.2566
2025-11-03T10:00:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2306695;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25043;2460982.8336385;10.0073;1.3;_15.2057347352999 -24.1599652244857
2025-11-03T10:00:26.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2057347352999     dec_j2k = -24.1599652244857
2025-11-03T10:00:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:26.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:26.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:26.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:26.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42421)
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:26.370 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:26.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:26.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:26.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83363847, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096833398775968, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2306695, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25043, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2057347352999, telescope_dec_j2k=-24.1599652244857, observability=1)
2025-11-03T10:00:26.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:26
2025-11-03T10:00:26.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:26.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021736860275268555s
2025-11-03T10:00:26.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021736860275268555
2025-11-03T10:00:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:26
2025-11-03T10:00:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3849518299102783s
2025-11-03T10:00:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3849518299102783
2025-11-03T10:00:28.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:28
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.987163782119751s
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:28.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:28.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.231221;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25099;2460982.83366166;10.00785;1.3;_
2025-11-03T10:00:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.231221;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25099;2460982.83366166;10.00785;1.3;_
2025-11-03T10:00:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:28.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:28.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.231221, teldec = -24.2566
2025-11-03T10:00:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.231221 -24.2566
2025-11-03T10:00:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.231221 -24.2566
2025-11-03T10:00:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.231221 -24.2566
2025-11-03T10:00:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.231221;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25099;2460982.83366168;10.00785;1.3;_15.2062858057407 -24.1599802095635
2025-11-03T10:00:28.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2062858057407     dec_j2k = -24.1599802095635
2025-11-03T10:00:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968328372087687;171.162357330327;_
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968328372087687;171.162357330327;_
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44979)
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:28.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:28.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83366166, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968328372087687, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.231221, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25099, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2062858057407, telescope_dec_j2k=-24.1599802095635, observability=1)
2025-11-03T10:00:28.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:28
2025-11-03T10:00:28.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:28.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021295547485351562s
2025-11-03T10:00:28.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021295547485351562
2025-11-03T10:00:28.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:28
2025-11-03T10:00:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37958335876464844s
2025-11-03T10:00:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37958335876464844
2025-11-03T10:00:30.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:30
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824225902557373s
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2317817;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25155;2460982.83368483;10.00840917;1.3;_
2025-11-03T10:00:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2317817;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25155;2460982.83368483;10.00840917;1.3;_
2025-11-03T10:00:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:30.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2317817, teldec = -24.2566
2025-11-03T10:00:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2317817 -24.2566
2025-11-03T10:00:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2317817 -24.2566
2025-11-03T10:00:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2317817 -24.2566
2025-11-03T10:00:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2317817;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25155;2460982.83368485;10.00840917;1.3;_15.2068460690746 -24.1599954467165
2025-11-03T10:00:30.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2068460690746     dec_j2k = -24.1599954467165
2025-11-03T10:00:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968335191117964;171.162351965909;_
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968335191117964;171.162351965909;_
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:30.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:30.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:30.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:30.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:30.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:30.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33499)
2025-11-03T10:00:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:30.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:30.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:30.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:30.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83368483, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968335191117964, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2317817, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25155, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2068460690746, telescope_dec_j2k=-24.1599954467165, observability=1)
2025-11-03T10:00:30.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:30
2025-11-03T10:00:30.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:30.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023631811141967773s
2025-11-03T10:00:30.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023631811141967773
2025-11-03T10:00:30.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:30
2025-11-03T10:00:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38373637199401855s
2025-11-03T10:00:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38373637199401855
2025-11-03T10:00:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:32
2025-11-03T10:00:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.377260684967041s
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.232453;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25222;2460982.83371255;10.00907861;1.3;_
2025-11-03T10:00:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.232453;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25222;2460982.83371255;10.00907861;1.3;_
2025-11-03T10:00:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:32.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.232453, teldec = -24.2566
2025-11-03T10:00:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.232453 -24.2566
2025-11-03T10:00:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.232453 -24.2566
2025-11-03T10:00:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.232453 -24.2566
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.232453;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25222;2460982.83371257;10.00907861;1.3;_15.2075168463526 -24.1600136922315
2025-11-03T10:00:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2075168463526     dec_j2k = -24.1600136922315
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968333185520824;171.162362694745;_
2025-11-03T10:00:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968333185520824;171.162362694745;_
2025-11-03T10:00:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58581)
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:32.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:32.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:32.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:32.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83371255, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968333185520824, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.232453, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25222, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2075168463526, telescope_dec_j2k=-24.1600136922315, observability=1)
2025-11-03T10:00:33.110 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:33
2025-11-03T10:00:33.111 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:33.111 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33295202255249023s
2025-11-03T10:00:33.111 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33295202255249023
2025-11-03T10:00:33.133 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:33
2025-11-03T10:00:33.133 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:33.133 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35556507110595703s
2025-11-03T10:00:33.133 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35556507110595703
2025-11-03T10:00:34.361 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:34
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5839810371398926s
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:34.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2328919;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25266;2460982.83373105;10.00951639;1.3;_
2025-11-03T10:00:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2328919;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25266;2460982.83373105;10.00951639;1.3;_
2025-11-03T10:00:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:34.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:34.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2328919, teldec = -24.2566
2025-11-03T10:00:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2328919 -24.2566
2025-11-03T10:00:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2328919 -24.2566
2025-11-03T10:00:34.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2328919 -24.2566
2025-11-03T10:00:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2328919;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25266;2460982.83373108;10.00951639;1.3;_15.2079554046398 -24.160025622898
2025-11-03T10:00:34.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2079554046398     dec_j2k = -24.160025622898
2025-11-03T10:00:34.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096833398775968;171.162357330327;_
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:34.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59113)
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:34.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:34.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:34.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83373105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096833398775968, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2328919, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25266, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2079554046398, telescope_dec_j2k=-24.160025622898, observability=1)
2025-11-03T10:00:34.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:34
2025-11-03T10:00:34.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:34.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021352767944335938s
2025-11-03T10:00:34.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021352767944335938
2025-11-03T10:00:34.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:34
2025-11-03T10:00:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.392472505569458s
2025-11-03T10:00:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.392472505569458
2025-11-03T10:00:36.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:36
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.005932569503784s
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:36.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2334526;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25322;2460982.83375448;10.01007556;1.3;_
2025-11-03T10:00:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2334526;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25322;2460982.83375448;10.01007556;1.3;_
2025-11-03T10:00:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:36.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2334526, teldec = -24.2566
2025-11-03T10:00:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2334526 -24.2566
2025-11-03T10:00:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2334526 -24.2566
2025-11-03T10:00:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2334526 -24.2566
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2334526;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25322;2460982.83375451;10.01007556;1.3;_15.2085156681506 -24.1600408663513
2025-11-03T10:00:36.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2085156681506     dec_j2k = -24.1600408663513
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968333586640252;171.162351965909;_
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968333586640252;171.162351965909;_
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:36.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44053)
2025-11-03T10:00:36.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:36.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:36.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:36.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:36.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:36.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:36.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83375448, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968333586640252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2334526, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25322, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2085156681506, telescope_dec_j2k=-24.1600408663513, observability=1)
2025-11-03T10:00:36.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:36
2025-11-03T10:00:36.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:36.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024560928344726562s
2025-11-03T10:00:36.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024560928344726562
2025-11-03T10:00:36.439 [DEBUG] [Thread-88789 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:36.439 [DEBUG] [Thread-88789 (handle)] [server.py] [get_status()] Status age = 0.0343472957611084s
2025-11-03T10:00:36.440 [DEBUG] [Thread-88789 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0343472957611084
2025-11-03T10:00:36.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:36
2025-11-03T10:00:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35892796516418457s
2025-11-03T10:00:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35892796516418457
2025-11-03T10:00:38.359 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:38
2025-11-03T10:00:38.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:38.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.954308271408081s
2025-11-03T10:00:38.359 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:38.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2340125;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25378;2460982.83377733;10.01063389;1.3;_
2025-11-03T10:00:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2340125;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25378;2460982.83377733;10.01063389;1.3;_
2025-11-03T10:00:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:38.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:38.362 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2340125, teldec = -24.2566
2025-11-03T10:00:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2340125 -24.2566
2025-11-03T10:00:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2340125 -24.2566
2025-11-03T10:00:38.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2340125 -24.2566
2025-11-03T10:00:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2340125;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25378;2460982.83377735;10.01063389;1.3;_15.2090751323435 -24.1600560901644
2025-11-03T10:00:38.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2090751323435     dec_j2k = -24.1600560901644
2025-11-03T10:00:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:38.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968335191117964;171.162362694745;_
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968335191117964;171.162362694745;_
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:38.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:38.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:38.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33561)
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:38.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:38.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:38.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83377733, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968335191117964, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2340125, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25378, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2090751323435, telescope_dec_j2k=-24.1600560901644, observability=1)
2025-11-03T10:00:38.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:38
2025-11-03T10:00:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021500825881958008s
2025-11-03T10:00:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021500825881958008
2025-11-03T10:00:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:38
2025-11-03T10:00:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38455820083618164s
2025-11-03T10:00:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38455820083618164
2025-11-03T10:00:40.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:40
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.011659860610962s
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:40.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:40.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2345629;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25433;2460982.83380086;10.01118278;1.3;_
2025-11-03T10:00:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2345629;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25433;2460982.83380086;10.01118278;1.3;_
2025-11-03T10:00:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:40.395 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2345629, teldec = -24.2566
2025-11-03T10:00:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2345629 -24.2566
2025-11-03T10:00:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2345629 -24.2566
2025-11-03T10:00:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2345629 -24.2566
2025-11-03T10:00:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2345629;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25433;2460982.83380088;10.01118278;1.3;_15.2096251039885 -24.1600710577242
2025-11-03T10:00:40.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2096251039885     dec_j2k = -24.1600710577242
2025-11-03T10:00:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968330377684828;171.162351965909;_
2025-11-03T10:00:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968330377684828;171.162351965909;_
2025-11-03T10:00:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60093)
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:40.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:40.409 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:40.409 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:40.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:40.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:40.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:40.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:40.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:40.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83380086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968330377684828, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2345629, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25433, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2096251039885, telescope_dec_j2k=-24.1600710577242, observability=1)
2025-11-03T10:00:40.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:40
2025-11-03T10:00:40.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:40.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021761655807495117s
2025-11-03T10:00:40.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021761655807495117
2025-11-03T10:00:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:40
2025-11-03T10:00:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.352231502532959s
2025-11-03T10:00:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.352231502532959
2025-11-03T10:00:42.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:42
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.959726333618164s
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2351236;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25489;2460982.83382375;10.01174194;1.3;_
2025-11-03T10:00:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2351236;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25489;2460982.83382375;10.01174194;1.3;_
2025-11-03T10:00:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:42.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:42.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:42.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2351236, teldec = -24.2566
2025-11-03T10:00:42.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2351236 -24.2566
2025-11-03T10:00:42.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2351236 -24.2566
2025-11-03T10:00:42.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2351236 -24.2566
2025-11-03T10:00:42.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2351236;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25489;2460982.83382377;10.01174194;1.3;_15.2101853676764 -24.1600863074753
2025-11-03T10:00:42.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2101853676764     dec_j2k = -24.1600863074753
2025-11-03T10:00:42.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:42.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:42.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968334388879108;171.162357330327;_
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968334388879108;171.162357330327;_
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:42.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:42.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:42.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:42.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:42.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:42.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34747)
2025-11-03T10:00:42.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:42.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:42.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:42.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:42.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83382375, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968334388879108, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2351236, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25489, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2101853676764, telescope_dec_j2k=-24.1600863074753, observability=1)
2025-11-03T10:00:42.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:42
2025-11-03T10:00:42.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:42.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0216219425201416s
2025-11-03T10:00:42.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0216219425201416
2025-11-03T10:00:42.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:42
2025-11-03T10:00:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3800320625305176s
2025-11-03T10:00:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3800320625305176
2025-11-03T10:00:44.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:44
2025-11-03T10:00:44.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:44.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0033297538757324s
2025-11-03T10:00:44.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:44.392 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:44.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2356843;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25545;2460982.83384715;10.01230111;1.3;_
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2356843;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25545;2460982.83384715;10.01230111;1.3;_
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:44.395 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2356843, teldec = -24.2566
2025-11-03T10:00:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2356843 -24.2566
2025-11-03T10:00:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2356843 -24.2566
2025-11-03T10:00:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2356843 -24.2566
2025-11-03T10:00:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2356843;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25545;2460982.83384718;10.01230111;1.3;_15.2107456314236 -24.1601015593389
2025-11-03T10:00:44.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2107456314236     dec_j2k = -24.1601015593389
2025-11-03T10:00:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968339603431673;171.162362694745;_
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968339603431673;171.162362694745;_
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48409)
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:44.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:44.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:44.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83384715, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968339603431673, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2356843, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25545, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2107456314236, telescope_dec_j2k=-24.1601015593389, observability=1)
2025-11-03T10:00:44.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:44
2025-11-03T10:00:44.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:44.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025465726852416992s
2025-11-03T10:00:44.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025465726852416992
2025-11-03T10:00:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:44
2025-11-03T10:00:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35294628143310547s
2025-11-03T10:00:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35294628143310547
2025-11-03T10:00:45.424 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:45.424 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:45.424 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:45.424 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:45.424 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:45.425 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:00:45.426 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:00:45.427 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:46.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:46
2025-11-03T10:00:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9684758186340332s
2025-11-03T10:00:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:46.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2362347;-24.2566;50.10854;89.99305;50.08601;90.12017;12.256;2460982.83387014;10.01285;1.3;_
2025-11-03T10:00:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2362347;-24.2566;50.10854;89.99305;50.08601;90.12017;12.256;2460982.83387014;10.01285;1.3;_
2025-11-03T10:00:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:46.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:46.381 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2362347, teldec = -24.2566
2025-11-03T10:00:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2362347 -24.2566
2025-11-03T10:00:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2362347 -24.2566
2025-11-03T10:00:46.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2362347 -24.2566
2025-11-03T10:00:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2362347;-24.2566;50.10854;89.99305;50.08601;90.12017;12.256;2460982.83387016;10.01285;1.3;_15.2112956032426 -24.1601165330817
2025-11-03T10:00:46.382 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2112956032426     dec_j2k = -24.1601165330817
2025-11-03T10:00:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:46.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968335592237392;171.162357330327;_
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968335592237392;171.162357330327;_
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:46.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:46.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:46.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:46.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:46.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:46.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45893)
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:46.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:46.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83387014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968335592237392, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2362347, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.256, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2112956032426, telescope_dec_j2k=-24.1601165330817, observability=1)
2025-11-03T10:00:46.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:46
2025-11-03T10:00:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02174973487854004s
2025-11-03T10:00:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02174973487854004
2025-11-03T10:00:46.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:46
2025-11-03T10:00:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3713572025299072s
2025-11-03T10:00:46.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3713572025299072
2025-11-03T10:00:48.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:48
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9847540855407715s
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:48.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:48.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:48.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:48.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2367957;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25656;2460982.83389332;10.01340944;1.3;_
2025-11-03T10:00:48.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2367957;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25656;2460982.83389332;10.01340944;1.3;_
2025-11-03T10:00:48.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:48.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:48.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:48.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:48.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:48.385 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2367957, teldec = -24.2566
2025-11-03T10:00:48.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2367957 -24.2566
2025-11-03T10:00:48.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2367957 -24.2566
2025-11-03T10:00:48.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2367957 -24.2566
2025-11-03T10:00:48.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2367957;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25656;2460982.83389336;10.01340944;1.3;_15.2118561668743 -24.1601317972939
2025-11-03T10:00:48.386 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2118561668743     dec_j2k = -24.1601317972939
2025-11-03T10:00:48.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:48.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:48.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:48.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968337998953961;171.162357330327;_
2025-11-03T10:00:48.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968337998953961;171.162357330327;_
2025-11-03T10:00:48.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:48.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:48.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:48.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:48.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:48.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:48.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:48.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55487)
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:48.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:48.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83389332, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968337998953961, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2367957, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25656, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2118561668743, telescope_dec_j2k=-24.1601317972939, observability=1)
2025-11-03T10:00:48.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:48
2025-11-03T10:00:48.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:48.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02283310890197754s
2025-11-03T10:00:48.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02283310890197754
2025-11-03T10:00:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:48
2025-11-03T10:00:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3658456802368164s
2025-11-03T10:00:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3658456802368164
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Status age = 1.4933114051818848s
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:49.892 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:49.893 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:49.894 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:49.894 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 17;15.2372157;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25698;2460982.83391081;10.01382833;1.3;_
2025-11-03T10:00:49.895 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response 17;15.2372157;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25698;2460982.83391081;10.01382833;1.3;_
2025-11-03T10:00:49.895 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:49.895 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:49.895 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:49.896 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:49.896 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:49.896 [INFO] [Thread-88790 (handle)] [driver.py] [get_status()] Telra = 15.2372157, teldec = -24.2566
2025-11-03T10:00:49.896 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2372157 -24.2566
2025-11-03T10:00:49.896 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2372157 -24.2566
2025-11-03T10:00:49.896 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2372157 -24.2566
2025-11-03T10:00:49.897 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 17;15.2372157;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25698;2460982.83391084;10.01382833;1.3;_15.2122758402205 -24.16014322643
2025-11-03T10:00:49.897 [INFO] [Thread-88790 (handle)] [driver.py] [get_status()] ra_j2k = 15.2122758402205     dec_j2k = -24.16014322643
2025-11-03T10:00:49.897 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:49.897 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:49.897 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 140;0.0968337597834533;171.162362694745;_
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response 140;0.0968337597834533;171.162362694745;_
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:49.898 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:49.899 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:49.900 [DEBUG] [Thread-88790 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:49.900 [DEBUG] [Thread-88790 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:49.900 [DEBUG] [Thread-88790 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49789)
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:49.907 [DEBUG] [Thread-88790 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:49.914 [DEBUG] [Thread-88790 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:49.915 [INFO] [Thread-88790 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83391081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968337597834533, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2372157, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25698, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2122758402205, telescope_dec_j2k=-24.16014322643, observability=1)
2025-11-03T10:00:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:50
2025-11-03T10:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8477559089660645s
2025-11-03T10:00:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8477559089660645
2025-11-03T10:00:51.232 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:51
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3176703453063965s
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:51.232 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:51.233 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2375795;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25734;2460982.83392632;10.01419111;1.3;_
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2375795;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25734;2460982.83392632;10.01419111;1.3;_
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:51.235 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2375795, teldec = -24.2566
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2375795 -24.2566
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2375795 -24.2566
2025-11-03T10:00:51.235 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2375795 -24.2566
2025-11-03T10:00:51.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2376076;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25737;2460982.83392634;10.01421917;1.3;_15.2126393573029 -24.1601531271964
2025-11-03T10:00:51.236 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2126393573029     dec_j2k = -24.1601531271964
2025-11-03T10:00:51.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:51.236 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968340405670529;171.162362694745;_
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968340405670529;171.162362694745;_
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:51.237 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:00:51.239 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35493)
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:51.243 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:51.250 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:51.250 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83392632, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968340405670529, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2375795, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2126393573029, telescope_dec_j2k=-24.1601531271964, observability=1)
2025-11-03T10:00:51.273 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:51
2025-11-03T10:00:51.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:51.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022753000259399414s
2025-11-03T10:00:51.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022753000259399414
2025-11-03T10:00:52.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:52
2025-11-03T10:00:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:52.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1160995960235596s
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2379062;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25767;2460982.83393943;10.01451694;1.3;_
2025-11-03T10:00:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2379062;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25767;2460982.83393943;10.01451694;1.3;_
2025-11-03T10:00:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:52.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2379062, teldec = -24.2566
2025-11-03T10:00:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2379062 -24.2566
2025-11-03T10:00:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2379062 -24.2566
2025-11-03T10:00:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2379062 -24.2566
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2379062;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25767;2460982.83393947;10.01451694;1.3;_15.2129658032584 -24.1601620190488
2025-11-03T10:00:52.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2129658032584     dec_j2k = -24.1601620190488
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968340004551101;171.162357330327;_
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968340004551101;171.162357330327;_
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55613)
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:52.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:52.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83393943, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968340004551101, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2379062, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25767, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2129658032584, telescope_dec_j2k=-24.1601620190488, observability=1)
2025-11-03T10:00:52.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:52
2025-11-03T10:00:52.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:52.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021578073501586914s
2025-11-03T10:00:52.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021578073501586914
2025-11-03T10:00:52.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:52
2025-11-03T10:00:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37519168853759766s
2025-11-03T10:00:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37519168853759766
2025-11-03T10:00:54.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:54
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792098999023438s
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:54.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2384666;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25823;2460982.83396256;10.01507583;1.3;_
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2384666;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25823;2460982.83396256;10.01507583;1.3;_
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:54.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:54.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:54.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2384666, teldec = -24.2566
2025-11-03T10:00:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2384666 -24.2566
2025-11-03T10:00:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2384666 -24.2566
2025-11-03T10:00:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2384666 -24.2566
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2384666;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25823;2460982.83396259;10.01507583;1.3;_15.213525767534 -24.1601772732249
2025-11-03T10:00:54.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.213525767534     dec_j2k = -24.1601772732249
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968338400073389;171.162351965909;_
2025-11-03T10:00:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968338400073389;171.162351965909;_
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:54.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52211)
2025-11-03T10:00:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:54.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:54.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:54.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:54.379 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83396256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968338400073389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2384666, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25823, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.213525767534, telescope_dec_j2k=-24.1601772732249, observability=1)
2025-11-03T10:00:54.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:54
2025-11-03T10:00:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021871089935302734s
2025-11-03T10:00:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021871089935302734
2025-11-03T10:00:54.512 [DEBUG] [Thread-88791 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:54.512 [DEBUG] [Thread-88791 (handle)] [server.py] [get_status()] Status age = 0.13226747512817383s
2025-11-03T10:00:54.512 [DEBUG] [Thread-88791 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13226747512817383
2025-11-03T10:00:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:54
2025-11-03T10:00:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3825840950012207s
2025-11-03T10:00:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3825840950012207
2025-11-03T10:00:56.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:56
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982536792755127s
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:56.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:56.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.239027;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25879;2460982.83398569;10.01563472;1.3;_
2025-11-03T10:00:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.239027;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25879;2460982.83398569;10.01563472;1.3;_
2025-11-03T10:00:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:56.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:56.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.239027, teldec = -24.2566
2025-11-03T10:00:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.239027 -24.2566
2025-11-03T10:00:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.239027 -24.2566
2025-11-03T10:00:56.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.239027 -24.2566
2025-11-03T10:00:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.239027;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25879;2460982.83398572;10.01563472;1.3;_15.214085731869 -24.1601925295094
2025-11-03T10:00:56.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.214085731869     dec_j2k = -24.1601925295094
2025-11-03T10:00:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:56.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968340004551101;171.162357330327;_
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968340004551101;171.162357330327;_
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:56.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:56.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:56.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:56.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52533)
2025-11-03T10:00:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:56.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:56.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:56.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:56.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83398569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968340004551101, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.239027, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25879, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.214085731869, telescope_dec_j2k=-24.1601925295094, observability=1)
2025-11-03T10:00:56.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:56
2025-11-03T10:00:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02301478385925293s
2025-11-03T10:00:56.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02301478385925293
2025-11-03T10:00:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:56
2025-11-03T10:00:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38205695152282715s
2025-11-03T10:00:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38205695152282715
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5817718505859375s
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:00:57.964 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:00:57.965 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:00:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2394744;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25924;2460982.83400424;10.01608083;1.3;_
2025-11-03T10:00:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2394744;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25924;2460982.83400424;10.01608083;1.3;_
2025-11-03T10:00:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:00:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:00:57.966 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:00:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:00:57.967 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2394744, teldec = -24.2566
2025-11-03T10:00:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2394744 -24.2566
2025-11-03T10:00:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2394744 -24.2566
2025-11-03T10:00:57.967 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2394744 -24.2566
2025-11-03T10:00:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2394744;-24.2566;50.10854;89.99305;50.08601;90.12017;12.25924;2460982.83400426;10.01608083;1.3;_15.2145327840948 -24.1602047110043
2025-11-03T10:00:57.968 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2145327840948     dec_j2k = -24.1602047110043
2025-11-03T10:00:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:00:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:00:57.968 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968348829178518;171.162362694745;_
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968348829178518;171.162362694745;_
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:57.969 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:00:57.970 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:00:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:00:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54881)
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:00:57.978 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:00:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:00:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:57.985 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:00:57.985 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:00:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:00:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:00:57.986 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:00:57.986 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:00:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:00:57.986 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83400424, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968348829178518, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2394744, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.25924, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2145327840948, telescope_dec_j2k=-24.1602047110043, observability=1)
2025-11-03T10:00:58.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:58
2025-11-03T10:00:58.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:58.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38419079780578613s
2025-11-03T10:00:58.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38419079780578613
2025-11-03T10:00:58.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:58
2025-11-03T10:00:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41063833236694336s
2025-11-03T10:00:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41063833236694336
2025-11-03T10:00:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:00:58
2025-11-03T10:00:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:00:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7765357494354248s
2025-11-03T10:00:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7765357494354248
2025-11-03T10:01:00.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:00
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3841774463653564s
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:00.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:00.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:00.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:00.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:00.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:00.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:00.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2401379;-24.2566;50.10854;89.99305;50.08601;90.12017;12.2599;2460982.83403208;10.0167425;1.3;_
2025-11-03T10:01:00.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2401379;-24.2566;50.10854;89.99305;50.08601;90.12017;12.2599;2460982.83403208;10.0167425;1.3;_
2025-11-03T10:01:00.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:00.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:00.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:00.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2401379, teldec = -24.2566
2025-11-03T10:01:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2401379 -24.2566
2025-11-03T10:01:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2401379 -24.2566
2025-11-03T10:01:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2401379 -24.2566
2025-11-03T10:01:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2401379;-24.2566;50.10854;89.99305;50.08601;90.12017;12.2599;2460982.83403211;10.0167425;1.3;_15.215195768411 -24.1602227787925
2025-11-03T10:01:00.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.215195768411     dec_j2k = -24.1602227787925
2025-11-03T10:01:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968342411267669;171.162368059163;_
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968342411267669;171.162368059163;_
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39937)
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:00.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:00.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:00.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:00.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:00.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83403208, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968342411267669, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2401379, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2599, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.215195768411, telescope_dec_j2k=-24.1602227787925, observability=1)
2025-11-03T10:01:00.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:00
2025-11-03T10:01:00.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:00.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02274918556213379s
2025-11-03T10:01:00.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02274918556213379
2025-11-03T10:01:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:00
2025-11-03T10:01:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37450218200683594s
2025-11-03T10:01:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37450218200683594
2025-11-03T10:01:02.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:02
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764995574951172s
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:02.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:02.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2406983;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26046;2460982.83405515;10.01730139;1.3;_
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2406983;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26046;2460982.83405515;10.01730139;1.3;_
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:02.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:02.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2406983, teldec = -24.2566
2025-11-03T10:01:02.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2406983 -24.2566
2025-11-03T10:01:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2406983 -24.2566
2025-11-03T10:01:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2406983 -24.2566
2025-11-03T10:01:02.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2406983;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26046;2460982.83405517;10.01730139;1.3;_15.2157557329233 -24.1602380413627
2025-11-03T10:01:02.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2157557329233     dec_j2k = -24.1602380413627
2025-11-03T10:01:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:02.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968341609028813;171.162346601491;_
2025-11-03T10:01:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968341609028813;171.162346601491;_
2025-11-03T10:01:02.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:02.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:02.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:02.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34775)
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:02.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:02.379 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:02.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83405515, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968341609028813, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2406983, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26046, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2157557329233, telescope_dec_j2k=-24.1602380413627, observability=1)
2025-11-03T10:01:02.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:02
2025-11-03T10:01:02.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:02.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02220463752746582s
2025-11-03T10:01:02.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02220463752746582
2025-11-03T10:01:02.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:02
2025-11-03T10:01:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3863818645477295s
2025-11-03T10:01:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3863818645477295
2025-11-03T10:01:04.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:04
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9870388507843018s
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:04.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2412579;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26102;2460982.83407833;10.01785944;1.3;_
2025-11-03T10:01:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2412579;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26102;2460982.83407833;10.01785944;1.3;_
2025-11-03T10:01:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:04.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:04.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2412579, teldec = -24.2566
2025-11-03T10:01:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2412579 -24.2566
2025-11-03T10:01:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2412579 -24.2566
2025-11-03T10:01:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2412579 -24.2566
2025-11-03T10:01:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2412579;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26102;2460982.83407836;10.01785944;1.3;_15.2163148981165 -24.1602532842474
2025-11-03T10:01:04.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2163148981165     dec_j2k = -24.1602532842474
2025-11-03T10:01:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968347625820234;171.162362694745;_
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968347625820234;171.162362694745;_
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35571)
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:04.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:04.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:04.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:04.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83407833, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968347625820234, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2412579, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2163148981165, telescope_dec_j2k=-24.1602532842474, observability=1)
2025-11-03T10:01:04.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:04
2025-11-03T10:01:04.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:04.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02487349510192871s
2025-11-03T10:01:04.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02487349510192871
2025-11-03T10:01:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:04
2025-11-03T10:01:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3763566017150879s
2025-11-03T10:01:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3763566017150879
2025-11-03T10:01:06.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:06
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9772727489471436s
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:06.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:06.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2418091;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26157;2460982.83410145;10.01840917;1.3;_
2025-11-03T10:01:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2418091;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26157;2460982.83410145;10.01840917;1.3;_
2025-11-03T10:01:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:06.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:06.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2418091, teldec = -24.2566
2025-11-03T10:01:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2418091 -24.2566
2025-11-03T10:01:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2418091 -24.2566
2025-11-03T10:01:06.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2418091 -24.2566
2025-11-03T10:01:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2418091;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26157;2460982.83410147;10.01840917;1.3;_15.2168656698945 -24.160268300379
2025-11-03T10:01:06.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2168656698945     dec_j2k = -24.160268300379
2025-11-03T10:01:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:06.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968342010148241;171.162357330327;_
2025-11-03T10:01:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968342010148241;171.162357330327;_
2025-11-03T10:01:06.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41127)
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:06.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:06.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:06.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:06.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:06.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:06.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83410145, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968342010148241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2418091, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26157, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2168656698945, telescope_dec_j2k=-24.160268300379, observability=1)
2025-11-03T10:01:06.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:06
2025-11-03T10:01:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022029876708984375s
2025-11-03T10:01:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022029876708984375
2025-11-03T10:01:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:06
2025-11-03T10:01:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3850994110107422s
2025-11-03T10:01:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3850994110107422
2025-11-03T10:01:07.360 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:07.360 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.9792482852935791s
2025-11-03T10:01:07.360 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9792482852935791
2025-11-03T10:01:08.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:08
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3884527683258057s
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2424837;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26225;2460982.83412928;10.01908194;1.3;_
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2424837;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26225;2460982.83412928;10.01908194;1.3;_
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:08.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2424837, teldec = -24.2566
2025-11-03T10:01:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2424837 -24.2566
2025-11-03T10:01:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2424837 -24.2566
2025-11-03T10:01:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2424837 -24.2566
2025-11-03T10:01:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2424837;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26225;2460982.83412931;10.01908194;1.3;_15.2175397458825 -24.1602866810229
2025-11-03T10:01:08.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2175397458825     dec_j2k = -24.1602866810229
2025-11-03T10:01:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968347625820234;171.162357330327;_
2025-11-03T10:01:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968347625820234;171.162357330327;_
2025-11-03T10:01:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47601)
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:08.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:08.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83412928, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968347625820234, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2424837, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26225, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2175397458825, telescope_dec_j2k=-24.1602866810229, observability=1)
2025-11-03T10:01:09.238 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:09
2025-11-03T10:01:09.238 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:09.239 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4518394470214844s
2025-11-03T10:01:09.239 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4518394470214844
2025-11-03T10:01:09.261 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:09
2025-11-03T10:01:09.261 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:09.261 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.474409818649292s
2025-11-03T10:01:09.261 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.474409818649292
2025-11-03T10:01:10.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:10
2025-11-03T10:01:10.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5798845291137695s
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:10.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2429227;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26269;2460982.83414778;10.01951972;1.3;_
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2429227;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26269;2460982.83414778;10.01951972;1.3;_
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:10.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:10.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2429227, teldec = -24.2566
2025-11-03T10:01:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2429227 -24.2566
2025-11-03T10:01:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2429227 -24.2566
2025-11-03T10:01:10.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2429227 -24.2566
2025-11-03T10:01:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2429227;-24.2566;50.10854;89.99305;50.08601;90.12017;12.26269;2460982.8341478;10.01951972;1.3;_15.2179784049248 -24.1602986439765
2025-11-03T10:01:10.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2179784049248     dec_j2k = -24.1602986439765
2025-11-03T10:01:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:10.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096834441686481;171.162357330327;_
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096834441686481;171.162357330327;_
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:10.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:10.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35999)
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:10.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:10.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:10.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83414778, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096834441686481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10854, telescope_az=89.99305, telescope_ra=15.2429227, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26269, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2179784049248, telescope_dec_j2k=-24.1602986439765, observability=1)
2025-11-03T10:01:10.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:10
2025-11-03T10:01:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022129535675048828s
2025-11-03T10:01:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022129535675048828
2025-11-03T10:01:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:10
2025-11-03T10:01:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3775336742401123s
2025-11-03T10:01:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3775336742401123
2025-11-03T10:01:12.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:12
2025-11-03T10:01:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9771521091461182s
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2434862;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26325;2460982.83417089;10.02008167;1.3;_
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2434862;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26325;2460982.83417089;10.02008167;1.3;_
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2434862, teldec = -24.2566
2025-11-03T10:01:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2434862 -24.2566
2025-11-03T10:01:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2434862 -24.2566
2025-11-03T10:01:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2434862 -24.2566
2025-11-03T10:01:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2434862;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26325;2460982.83417091;10.02008167;1.3;_15.2185414673253 -24.1603140015067
2025-11-03T10:01:12.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2185414673253     dec_j2k = -24.1603140015067
2025-11-03T10:01:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968342411267669;171.162368059163;_
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968342411267669;171.162368059163;_
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:12.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46165)
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:12.374 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:12.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:12.382 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83417089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968342411267669, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2434862, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26325, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2185414673253, telescope_dec_j2k=-24.1603140015067, observability=1)
2025-11-03T10:01:12.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:12
2025-11-03T10:01:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02423381805419922s
2025-11-03T10:01:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02423381805419922
2025-11-03T10:01:12.626 [DEBUG] [Thread-88792 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:12.626 [DEBUG] [Thread-88792 (handle)] [server.py] [get_status()] Status age = 0.24494481086730957s
2025-11-03T10:01:12.626 [DEBUG] [Thread-88792 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24494481086730957
2025-11-03T10:01:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:12
2025-11-03T10:01:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38016605377197266s
2025-11-03T10:01:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38016605377197266
2025-11-03T10:01:13.942 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:01:13
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.5601472854614258s
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:13.942 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:13.943 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2439243;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26369;2460982.83418917;10.02051861;1.3;_
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.2439243;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26369;2460982.83418917;10.02051861;1.3;_
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:13.944 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.2439243, teldec = -24.2566
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2439243 -24.2566
2025-11-03T10:01:13.944 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2439243 -24.2566
2025-11-03T10:01:13.945 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2439243 -24.2566
2025-11-03T10:01:13.945 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2439243;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26369;2460982.83418918;10.02051861;1.3;_15.2189792271498 -24.1603259428782
2025-11-03T10:01:13.946 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.2189792271498     dec_j2k = -24.1603259428782
2025-11-03T10:01:13.946 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:13.946 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:13.946 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968346823581378;171.162357330327;_
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968346823581378;171.162357330327;_
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:13.947 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:13.948 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44503)
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:13.954 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:13.961 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:13.962 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:13.962 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83418917, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968346823581378, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2439243, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2189792271498, telescope_dec_j2k=-24.1603259428782, observability=1)
2025-11-03T10:01:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:14
2025-11-03T10:01:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8018596172332764s
2025-11-03T10:01:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8018596172332764
2025-11-03T10:01:15.240 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:15
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2787554264068604s
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:15.240 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:15.241 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:15.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2442887;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26405;2460982.83420419;10.02088194;1.3;_
2025-11-03T10:01:15.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2442887;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26405;2460982.83420419;10.02088194;1.3;_
2025-11-03T10:01:15.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:15.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:15.242 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:15.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:15.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:15.243 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2442887, teldec = -24.2566
2025-11-03T10:01:15.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2442887 -24.2566
2025-11-03T10:01:15.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2442887 -24.2566
2025-11-03T10:01:15.243 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2442887 -24.2566
2025-11-03T10:01:15.244 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2442887;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26405;2460982.83420421;10.02088194;1.3;_15.2193433442286 -24.1603358763754
2025-11-03T10:01:15.244 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2193433442286     dec_j2k = -24.1603358763754
2025-11-03T10:01:15.244 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968346021342522;171.162362694745;_
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968346021342522;171.162362694745;_
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:15.245 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:15.246 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:15.247 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39941)
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:15.250 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:15.257 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:15.257 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83420419, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968346021342522, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2442887, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2193433442286, telescope_dec_j2k=-24.1603358763754, observability=1)
2025-11-03T10:01:15.279 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:15
2025-11-03T10:01:15.279 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:15.279 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02186107635498047s
2025-11-03T10:01:15.279 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02186107635498047
2025-11-03T10:01:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:16
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.102917194366455s
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.244597;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26436;2460982.83421715;10.02118944;1.3;_
2025-11-03T10:01:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.244597;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26436;2460982.83421715;10.02118944;1.3;_
2025-11-03T10:01:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.244597, teldec = -24.2566
2025-11-03T10:01:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.244597 -24.2566
2025-11-03T10:01:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.244597 -24.2566
2025-11-03T10:01:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.244597 -24.2566
2025-11-03T10:01:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.244597;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26436;2460982.83421718;10.02118944;1.3;_15.2196514048832 -24.1603442812889
2025-11-03T10:01:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2196514048832     dec_j2k = -24.1603442812889
2025-11-03T10:01:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968342411267669;171.162351965909;_
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968342411267669;171.162351965909;_
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39885)
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:16.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:16.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:16.379 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:16.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:16.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83421715, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968342411267669, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.244597, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2196514048832, telescope_dec_j2k=-24.1603442812889, observability=1)
2025-11-03T10:01:16.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:16
2025-11-03T10:01:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022730588912963867s
2025-11-03T10:01:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022730588912963867
2025-11-03T10:01:16.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:16
2025-11-03T10:01:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40258312225341797s
2025-11-03T10:01:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40258312225341797
2025-11-03T10:01:17.400 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:01:17.400 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.0205631256103516s
2025-11-03T10:01:17.400 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:17.400 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:17.401 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:17.401 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:17.401 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:17.401 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:17.402 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:17.403 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2448772;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26464;2460982.8342292;10.02146889;1.3;_
2025-11-03T10:01:17.403 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.2448772;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26464;2460982.8342292;10.02146889;1.3;_
2025-11-03T10:01:17.403 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:17.403 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:17.403 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:17.404 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:17.404 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:17.404 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.2448772, teldec = -24.2566
2025-11-03T10:01:17.404 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.2448772 -24.2566
2025-11-03T10:01:17.404 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.2448772 -24.2566
2025-11-03T10:01:17.404 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2448772 -24.2566
2025-11-03T10:01:17.405 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2448772;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26464;2460982.83422922;10.02146889;1.3;_15.2199313873685 -24.1603519206893
2025-11-03T10:01:17.405 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.2199313873685     dec_j2k = -24.1603519206893
2025-11-03T10:01:17.405 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:17.405 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:17.405 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968345219103666;171.162351965909;_
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968345219103666;171.162351965909;_
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:17.406 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:17.407 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:17.408 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:17.408 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:17.408 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46903)
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:17.411 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:17.418 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:17.418 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:17.418 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:17.419 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:01:17.419 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8342292, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968345219103666, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2448772, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26464, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2199313873685, telescope_dec_j2k=-24.1603519206893, observability=1)
2025-11-03T10:01:17.419 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.477480173110962 seconds ago
2025-11-03T10:01:18.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:18
2025-11-03T10:01:18.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:18.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9516417980194092s
2025-11-03T10:01:18.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9516417980194092
2025-11-03T10:01:18.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:18
2025-11-03T10:01:18.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:18.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9740216732025146s
2025-11-03T10:01:18.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9740216732025146
2025-11-03T10:01:18.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:18
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.349351406097412s
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2452691;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26503;2460982.83424502;10.02185972;1.3;_
2025-11-03T10:01:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2452691;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26503;2460982.83424502;10.02185972;1.3;_
2025-11-03T10:01:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2452691, teldec = -24.2566
2025-11-03T10:01:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2452691 -24.2566
2025-11-03T10:01:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2452691 -24.2566
2025-11-03T10:01:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2452691 -24.2566
2025-11-03T10:01:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2452691;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26503;2460982.83424506;10.02185972;1.3;_15.2203229831679 -24.1603626063719
2025-11-03T10:01:18.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2203229831679     dec_j2k = -24.1603626063719
2025-11-03T10:01:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968345620223094;171.162351965909;_
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968345620223094;171.162351965909;_
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60373)
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:18.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:18.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83424502, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968345620223094, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2452691, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26503, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:00:19.407476', telescope_ra_j2k=15.2203229831679, telescope_dec_j2k=-24.1603626063719, observability=1)
2025-11-03T10:01:19.551 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:19.552 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:19.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:19.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:19.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:19.552 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:19.553 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:19.553 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:19.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:19.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:19.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:19.554 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:01:19.554 [INFO] [ThreadPoolExecutor-3437_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:01:19.554 [INFO] [ThreadPoolExecutor-3437_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:01:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:20
2025-11-03T10:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9742982387542725s
2025-11-03T10:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2458195;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26558;2460982.83426814;10.02240861;1.3;_
2025-11-03T10:01:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2458195;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26558;2460982.83426814;10.02240861;1.3;_
2025-11-03T10:01:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2458195, teldec = -24.2566
2025-11-03T10:01:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2458195 -24.2566
2025-11-03T10:01:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2458195 -24.2566
2025-11-03T10:01:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2458195 -24.2566
2025-11-03T10:01:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2458195;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26558;2460982.83426816;10.02240861;1.3;_15.2208729559857 -24.1603776155087
2025-11-03T10:01:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2208729559857     dec_j2k = -24.1603776155087
2025-11-03T10:01:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968343614625954;171.162362694745;_
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968343614625954;171.162362694745;_
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46877)
2025-11-03T10:01:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:20.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:20.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:20.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83426814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968343614625954, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2458195, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2208729559857, telescope_dec_j2k=-24.1603776155087, observability=1)
2025-11-03T10:01:21.249 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:21
2025-11-03T10:01:21.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:21.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46694183349609375s
2025-11-03T10:01:21.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46694183349609375
2025-11-03T10:01:21.270 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:21
2025-11-03T10:01:21.271 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:21.271 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.48847007751464844s
2025-11-03T10:01:21.271 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48847007751464844
2025-11-03T10:01:22.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:22
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5859348773956299s
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2462682;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26603;2460982.83428669;10.02285611;1.3;_
2025-11-03T10:01:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2462682;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26603;2460982.83428669;10.02285611;1.3;_
2025-11-03T10:01:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:22.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2462682, teldec = -24.2566
2025-11-03T10:01:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2462682 -24.2566
2025-11-03T10:01:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2462682 -24.2566
2025-11-03T10:01:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2462682 -24.2566
2025-11-03T10:01:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2462682;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26603;2460982.83428671;10.02285611;1.3;_15.2213213077784 -24.1603898528383
2025-11-03T10:01:22.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2213213077784     dec_j2k = -24.1603898528383
2025-11-03T10:01:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968346021342522;171.162357330327;_
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968346021342522;171.162357330327;_
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:22.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56715)
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:22.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:22.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:22.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:22.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:22.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:22.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:22.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:22.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:22.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83428669, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968346021342522, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2462682, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26603, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2213213077784, telescope_dec_j2k=-24.1603898528383, observability=1)
2025-11-03T10:01:22.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:22
2025-11-03T10:01:22.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:22.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02324700355529785s
2025-11-03T10:01:22.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02324700355529785
2025-11-03T10:01:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:22
2025-11-03T10:01:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.376939058303833s
2025-11-03T10:01:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.376939058303833
2025-11-03T10:01:24.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:24
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784438610076904s
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:24.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:24.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2468287;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26659;2460982.83430978;10.023415;1.3;_
2025-11-03T10:01:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2468287;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26659;2460982.83430978;10.023415;1.3;_
2025-11-03T10:01:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:24.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:24.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2468287, teldec = -24.2566
2025-11-03T10:01:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2468287 -24.2566
2025-11-03T10:01:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2468287 -24.2566
2025-11-03T10:01:24.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2468287 -24.2566
2025-11-03T10:01:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2468287;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26659;2460982.8343098;10.023415;1.3;_15.2218813728639 -24.1604051411677
2025-11-03T10:01:24.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2218813728639     dec_j2k = -24.1604051411677
2025-11-03T10:01:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:24.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968347625820234;171.162357330327;_
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968347625820234;171.162357330327;_
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:24.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52061)
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:24.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:24.382 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:24.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:24.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83430978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968347625820234, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2468287, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26659, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2218813728639, telescope_dec_j2k=-24.1604051411677, observability=1)
2025-11-03T10:01:24.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:24
2025-11-03T10:01:24.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:24.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023473501205444336s
2025-11-03T10:01:24.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023473501205444336
2025-11-03T10:01:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:24
2025-11-03T10:01:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3798513412475586s
2025-11-03T10:01:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3798513412475586
2025-11-03T10:01:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:26
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.385051727294922s
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2474913;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26726;2460982.8343376;10.02407583;1.3;_
2025-11-03T10:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2474913;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26726;2460982.8343376;10.02407583;1.3;_
2025-11-03T10:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2474913, teldec = -24.2566
2025-11-03T10:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2474913 -24.2566
2025-11-03T10:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2474913 -24.2566
2025-11-03T10:01:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2474913 -24.2566
2025-11-03T10:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2474913;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26726;2460982.83433764;10.02407583;1.3;_15.2225434588028 -24.1604232171146
2025-11-03T10:01:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2225434588028     dec_j2k = -24.1604232171146
2025-11-03T10:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968350032536802;171.162351965909;_
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968350032536802;171.162351965909;_
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:26.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50639)
2025-11-03T10:01:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:26.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:26.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:26.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:26.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:26.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8343376, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968350032536802, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2474913, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26726, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2225434588028, telescope_dec_j2k=-24.1604232171146, observability=1)
2025-11-03T10:01:27.254 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:27
2025-11-03T10:01:27.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:27.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4640183448791504s
2025-11-03T10:01:27.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4640183448791504
2025-11-03T10:01:27.277 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:27
2025-11-03T10:01:27.277 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:27.277 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.48697376251220703s
2025-11-03T10:01:27.277 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48697376251220703
2025-11-03T10:01:28.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:28
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5800666809082031s
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2479406;-24.2566;50.108539;89.99305;50.08601;90.12017;12.2677;2460982.83435616;10.02452389;1.3;_
2025-11-03T10:01:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2479406;-24.2566;50.108539;89.99305;50.08601;90.12017;12.2677;2460982.83435616;10.02452389;1.3;_
2025-11-03T10:01:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:28.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2479406, teldec = -24.2566
2025-11-03T10:01:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2479406 -24.2566
2025-11-03T10:01:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2479406 -24.2566
2025-11-03T10:01:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2479406 -24.2566
2025-11-03T10:01:28.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2479406;-24.2566;50.108539;89.99305;50.08601;90.12017;12.2677;2460982.83435618;10.02452389;1.3;_15.2229924102724 -24.1604354758397
2025-11-03T10:01:28.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2229924102724     dec_j2k = -24.1604354758397
2025-11-03T10:01:28.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:28.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968349631417374;171.162351965909;_
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968349631417374;171.162351965909;_
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:28.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:28.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:28.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41537)
2025-11-03T10:01:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:28.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:28.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:28.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:28.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:28.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83435616, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968349631417374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2479406, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2229924102724, telescope_dec_j2k=-24.1604354758397, observability=1)
2025-11-03T10:01:28.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:28
2025-11-03T10:01:28.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:28.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022400379180908203s
2025-11-03T10:01:28.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022400379180908203
2025-11-03T10:01:28.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:28
2025-11-03T10:01:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3708767890930176s
2025-11-03T10:01:28.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3708767890930176
2025-11-03T10:01:30.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:30
2025-11-03T10:01:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:30.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9713895320892334s
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:30.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2485024;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26827;2460982.83437919;10.02508417;1.3;_
2025-11-03T10:01:30.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2485024;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26827;2460982.83437919;10.02508417;1.3;_
2025-11-03T10:01:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:30.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:30.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2485024, teldec = -24.2566
2025-11-03T10:01:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2485024 -24.2566
2025-11-03T10:01:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2485024 -24.2566
2025-11-03T10:01:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2485024 -24.2566
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2485024;-24.2566;50.108539;89.99305;50.08601;90.12017;12.26827;2460982.83437922;10.02508417;1.3;_15.2235537745275 -24.1604508059226
2025-11-03T10:01:30.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2235537745275     dec_j2k = -24.1604508059226
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968349230297946;171.162362694745;_
2025-11-03T10:01:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968349230297946;171.162362694745;_
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37387)
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:30.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:30.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:30.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83437919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968349230297946, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2485024, telescope_dec=-24.2566, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26827, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2235537745275, telescope_dec_j2k=-24.1604508059226, observability=1)
2025-11-03T10:01:30.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:30
2025-11-03T10:01:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021741151809692383s
2025-11-03T10:01:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021741151809692383
2025-11-03T10:01:30.694 [DEBUG] [Thread-88793 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:30.694 [DEBUG] [Thread-88793 (handle)] [server.py] [get_status()] Status age = 0.31766748428344727s
2025-11-03T10:01:30.694 [DEBUG] [Thread-88793 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31766748428344727
2025-11-03T10:01:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:30
2025-11-03T10:01:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38807034492492676s
2025-11-03T10:01:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38807034492492676
2025-11-03T10:01:32.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:32
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892776012420654s
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:32.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:32.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2490534;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26882;2460982.83440241;10.02563361;1.3;_
2025-11-03T10:01:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2490534;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26882;2460982.83440241;10.02563361;1.3;_
2025-11-03T10:01:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:32.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:32.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2490534, teldec = -24.256599
2025-11-03T10:01:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2490534 -24.256599
2025-11-03T10:01:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2490534 -24.256599
2025-11-03T10:01:32.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2490534 -24.256599
2025-11-03T10:01:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2490534;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26882;2460982.83440243;10.02563361;1.3;_15.2241043473633 -24.1604648433749
2025-11-03T10:01:32.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2241043473633     dec_j2k = -24.1604648433749
2025-11-03T10:01:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:32.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096835043365623;171.162357330327;_
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096835043365623;171.162357330327;_
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:32.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:32.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:32.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:32.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47671)
2025-11-03T10:01:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:32.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:32.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:32.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:32.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:32.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:32.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83440241, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096835043365623, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2490534, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26882, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2241043473633, telescope_dec_j2k=-24.1604648433749, observability=1)
2025-11-03T10:01:32.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:32
2025-11-03T10:01:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021805524826049805s
2025-11-03T10:01:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021805524826049805
2025-11-03T10:01:32.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:32
2025-11-03T10:01:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3781898021697998s
2025-11-03T10:01:32.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3781898021697998
2025-11-03T10:01:34.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:34
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841914176940918s
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:34.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:34.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:34.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2496138;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26938;2460982.83442557;10.0261925;1.3;_
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2496138;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26938;2460982.83442557;10.0261925;1.3;_
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:34.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:34.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2496138, teldec = -24.256599
2025-11-03T10:01:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2496138 -24.256599
2025-11-03T10:01:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2496138 -24.256599
2025-11-03T10:01:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2496138 -24.256599
2025-11-03T10:01:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2496138;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26938;2460982.83442559;10.0261925;1.3;_15.2246643128226 -24.1604801394274
2025-11-03T10:01:34.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2246643128226     dec_j2k = -24.1604801394274
2025-11-03T10:01:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968353241492227;171.162362694745;_
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968353241492227;171.162362694745;_
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48049)
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:34.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:34.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:34.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83442557, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968353241492227, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2496138, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2246643128226, telescope_dec_j2k=-24.1604801394274, observability=1)
2025-11-03T10:01:34.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:34
2025-11-03T10:01:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022411823272705078s
2025-11-03T10:01:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022411823272705078
2025-11-03T10:01:34.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:34
2025-11-03T10:01:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37687087059020996s
2025-11-03T10:01:34.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37687087059020996
2025-11-03T10:01:36.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:36
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802794456481934s
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2501736;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26994;2460982.83444869;10.02675083;1.3;_
2025-11-03T10:01:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2501736;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26994;2460982.83444869;10.02675083;1.3;_
2025-11-03T10:01:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:36.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2501736, teldec = -24.256599
2025-11-03T10:01:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2501736 -24.256599
2025-11-03T10:01:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2501736 -24.256599
2025-11-03T10:01:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2501736 -24.256599
2025-11-03T10:01:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2501736;-24.256599;50.108539;89.99305;50.08601;90.12017;12.26994;2460982.83444872;10.02675083;1.3;_15.2252236788066 -24.1604954212013
2025-11-03T10:01:36.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2252236788066     dec_j2k = -24.1604954212013
2025-11-03T10:01:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:36.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968351637014515;171.162368059163;_
2025-11-03T10:01:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968351637014515;171.162368059163;_
2025-11-03T10:01:36.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:36.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:36.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:36.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36131)
2025-11-03T10:01:36.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:36.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:36.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:36.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:36.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:36.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:36.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83444869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968351637014515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2501736, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.26994, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2252236788066, telescope_dec_j2k=-24.1604954212013, observability=1)
2025-11-03T10:01:36.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:36
2025-11-03T10:01:36.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:36.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02306675910949707s
2025-11-03T10:01:36.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02306675910949707
2025-11-03T10:01:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:36
2025-11-03T10:01:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3869447708129883s
2025-11-03T10:01:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3869447708129883
2025-11-03T10:01:38.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:38
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9858052730560303s
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:38.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2507246;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27049;2460982.83447185;10.02730028;1.3;_
2025-11-03T10:01:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2507246;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27049;2460982.83447185;10.02730028;1.3;_
2025-11-03T10:01:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:38.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:38.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2507246, teldec = -24.256599
2025-11-03T10:01:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2507246 -24.256599
2025-11-03T10:01:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2507246 -24.256599
2025-11-03T10:01:38.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2507246 -24.256599
2025-11-03T10:01:38.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2507246;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27049;2460982.83447188;10.02730028;1.3;_15.2257742516713 -24.1605104647951
2025-11-03T10:01:38.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2257742516713     dec_j2k = -24.1605104647951
2025-11-03T10:01:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:38.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968356049328223;171.162351965909;_
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968356049328223;171.162351965909;_
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:38.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:38.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34579)
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:38.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:38.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:38.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83447185, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968356049328223, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2507246, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27049, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2257742516713, telescope_dec_j2k=-24.1605104647951, observability=1)
2025-11-03T10:01:38.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:38
2025-11-03T10:01:38.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:38.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02251458168029785s
2025-11-03T10:01:38.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02251458168029785
2025-11-03T10:01:38.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:38
2025-11-03T10:01:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38239169120788574s
2025-11-03T10:01:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38239169120788574
2025-11-03T10:01:40.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:40
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853808879852295s
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:40.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:40.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2512853;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27105;2460982.83449507;10.02785944;1.3;_
2025-11-03T10:01:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2512853;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27105;2460982.83449507;10.02785944;1.3;_
2025-11-03T10:01:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:40.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:40.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:40.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:40.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:40.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2512853, teldec = -24.256599
2025-11-03T10:01:40.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2512853 -24.256599
2025-11-03T10:01:40.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2512853 -24.256599
2025-11-03T10:01:40.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2512853 -24.256599
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2512853;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27105;2460982.8344951;10.02785944;1.3;_15.2263345170758 -24.1605257753069
2025-11-03T10:01:40.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2263345170758     dec_j2k = -24.1605257753069
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096835043365623;171.162357330327;_
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096835043365623;171.162357330327;_
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:40.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:40.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:40.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56371)
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:40.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:40.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:40.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:40.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:40.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:40.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:40.390 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:40.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:40.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83449507, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096835043365623, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2512853, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2263345170758, telescope_dec_j2k=-24.1605257753069, observability=1)
2025-11-03T10:01:40.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:40
2025-11-03T10:01:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021529674530029297s
2025-11-03T10:01:40.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021529674530029297
2025-11-03T10:01:40.427 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.427 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.427 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:40.427 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:40.427 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:01:40.428 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:40.429 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:40.430 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:01:40.431 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:40.432 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Park
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:01:40.433 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:01:40.434 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 29;15.2512853;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27105;2460982.83449575;10.02785944;1.3;_Park Command Successful
2025-11-03T10:01:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:40
2025-11-03T10:01:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37319207191467285s
2025-11-03T10:01:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37319207191467285
2025-11-03T10:01:41.434 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:01:41.434 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:01:41.434 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:01:41.435 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:01:41.435 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:01:42.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:42
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9762670993804932s
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:42.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:42.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2518452;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27161;2460982.83451815;10.02841778;1.3;_
2025-11-03T10:01:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2518452;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27161;2460982.83451815;10.02841778;1.3;_
2025-11-03T10:01:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:42.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:42.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2518452, teldec = -24.256599
2025-11-03T10:01:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2518452 -24.256599
2025-11-03T10:01:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2518452 -24.256599
2025-11-03T10:01:42.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2518452 -24.256599
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2518452;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27161;2460982.83451817;10.02841778;1.3;_15.22689398316 -24.1605410660723
2025-11-03T10:01:42.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.22689398316     dec_j2k = -24.1605410660723
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968351637014515;171.162357330327;_
2025-11-03T10:01:42.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968351637014515;171.162357330327;_
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:42.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:42.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:42.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33203)
2025-11-03T10:01:42.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:42.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:42.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:42.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:42.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83451815, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968351637014515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2518452, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.22689398316, telescope_dec_j2k=-24.1605410660723, observability=1)
2025-11-03T10:01:42.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:42
2025-11-03T10:01:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021821260452270508s
2025-11-03T10:01:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021821260452270508
2025-11-03T10:01:42.435 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:01:42.435 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:01:42.435 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:01:42.436 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:01:42.436 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:01:42.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:42
2025-11-03T10:01:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38491082191467285s
2025-11-03T10:01:42.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38491082191467285
2025-11-03T10:01:43.436 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:01:43.436 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:01:43.436 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:01:43.438 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:01:43.438 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:01:44.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:44
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9907290935516357s
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2523956;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27216;2460982.83454131;10.02896667;1.3;_
2025-11-03T10:01:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2523956;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27216;2460982.83454131;10.02896667;1.3;_
2025-11-03T10:01:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:44.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2523956, teldec = -24.256599
2025-11-03T10:01:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2523956 -24.256599
2025-11-03T10:01:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2523956 -24.256599
2025-11-03T10:01:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2523956 -24.256599
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2523956;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27216;2460982.83454134;10.02896667;1.3;_15.2274439566646 -24.1605560994383
2025-11-03T10:01:44.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2274439566646     dec_j2k = -24.1605560994383
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968349631417374;171.162357330327;_
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968349631417374;171.162357330327;_
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:44.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:44.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:44.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:44.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:44.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:44.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43269)
2025-11-03T10:01:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:44.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:44.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:44.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:44.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:44.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:44.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83454131, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968349631417374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2523956, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27216, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2274439566646, telescope_dec_j2k=-24.1605560994383, observability=1)
2025-11-03T10:01:44.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:44
2025-11-03T10:01:44.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:44.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02584242820739746s
2025-11-03T10:01:44.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02584242820739746
2025-11-03T10:01:44.438 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:01:44.438 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:01:44.438 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:44.439 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:44.440 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:44.440 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:44.440 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:44.440 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:44.441 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:44.441 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:01:44.441 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:01:44.441 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:01:44.441 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:44.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:44
2025-11-03T10:01:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39187121391296387s
2025-11-03T10:01:44.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39187121391296387
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:45.442 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:01:45.443 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:01:45.444 [DEBUG] [ThreadPoolExecutor-3436_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:45.444 [INFO] [ThreadPoolExecutor-3436_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:01:46.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:46
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9870867729187012s
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2529563;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27272;2460982.83456451;10.02952583;1.3;_
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2529563;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27272;2460982.83456451;10.02952583;1.3;_
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:46.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2529563, teldec = -24.256599
2025-11-03T10:01:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2529563 -24.256599
2025-11-03T10:01:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2529563 -24.256599
2025-11-03T10:01:46.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2529563 -24.256599
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2529563;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27272;2460982.83456455;10.02952583;1.3;_15.228004222247 -24.1605714162167
2025-11-03T10:01:46.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.228004222247     dec_j2k = -24.1605714162167
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968353241492227;171.162362694745;_
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968353241492227;171.162362694745;_
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:46.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:46.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:46.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45215)
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:46.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:46.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:46.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83456451, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968353241492227, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2529563, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27272, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.228004222247, telescope_dec_j2k=-24.1605714162167, observability=1)
2025-11-03T10:01:46.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:46
2025-11-03T10:01:46.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:46.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022437334060668945s
2025-11-03T10:01:46.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022437334060668945
2025-11-03T10:01:46.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:46
2025-11-03T10:01:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3789706230163574s
2025-11-03T10:01:46.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3789706230163574
2025-11-03T10:01:48.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:48
2025-11-03T10:01:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779880046844482s
2025-11-03T10:01:48.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:48.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2535164;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27328;2460982.83458758;10.03008444;1.3;_
2025-11-03T10:01:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2535164;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27328;2460982.83458758;10.03008444;1.3;_
2025-11-03T10:01:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:48.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:48.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2535164, teldec = -24.256599
2025-11-03T10:01:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2535164 -24.256599
2025-11-03T10:01:48.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2535164 -24.256599
2025-11-03T10:01:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2535164 -24.256599
2025-11-03T10:01:48.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2535164;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27328;2460982.8345876;10.03008444;1.3;_15.2285638883539 -24.1605867187034
2025-11-03T10:01:48.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2285638883539     dec_j2k = -24.1605867187034
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968357252686507;171.162357330327;_
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968357252686507;171.162357330327;_
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:48.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:48.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:48.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:48.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34457)
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:48.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:48.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:48.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83458758, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968357252686507, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2535164, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27328, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2285638883539, telescope_dec_j2k=-24.1605867187034, observability=1)
2025-11-03T10:01:48.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:48
2025-11-03T10:01:48.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:48.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021905899047851562s
2025-11-03T10:01:48.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021905899047851562
2025-11-03T10:01:48.762 [DEBUG] [Thread-88794 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:48.762 [DEBUG] [Thread-88794 (handle)] [server.py] [get_status()] Status age = 0.3758397102355957s
2025-11-03T10:01:48.762 [DEBUG] [Thread-88794 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3758397102355957
2025-11-03T10:01:48.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:48
2025-11-03T10:01:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37801551818847656s
2025-11-03T10:01:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37801551818847656
2025-11-03T10:01:49.947 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Status age = 1.561105728149414s
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:49.948 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:49.949 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:49.949 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 17;15.2539359;-24.256599;50.108539;89.99305;50.08601;90.12017;12.2737;2460982.83460589;10.03050278;1.3;_
2025-11-03T10:01:49.949 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response 17;15.2539359;-24.256599;50.108539;89.99305;50.08601;90.12017;12.2737;2460982.83460589;10.03050278;1.3;_
2025-11-03T10:01:49.949 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:49.949 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:49.950 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:49.950 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:49.950 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:49.951 [INFO] [Thread-88795 (handle)] [driver.py] [get_status()] Telra = 15.2539359, teldec = -24.256599
2025-11-03T10:01:49.951 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2539359 -24.256599
2025-11-03T10:01:49.951 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2539359 -24.256599
2025-11-03T10:01:49.951 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2539359 -24.256599
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 17;15.2539359;-24.256599;50.108539;89.99305;50.08601;90.12017;12.2737;2460982.83460593;10.03050278;1.3;_15.2289830634186 -24.1605981812326
2025-11-03T10:01:49.952 [INFO] [Thread-88795 (handle)] [driver.py] [get_status()] ra_j2k = 15.2289830634186     dec_j2k = -24.1605981812326
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:01:49.952 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:01:49.953 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:49.953 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:49.953 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:49.953 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:49.954 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:49.955 [DEBUG] [Thread-88795 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:49.955 [DEBUG] [Thread-88795 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:49.955 [DEBUG] [Thread-88795 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59443)
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:49.957 [DEBUG] [Thread-88795 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:49.964 [DEBUG] [Thread-88795 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:49.964 [DEBUG] [Thread-88795 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:49.964 [DEBUG] [Thread-88795 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:49.964 [DEBUG] [Thread-88795 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:49.965 [DEBUG] [Thread-88795 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:49.965 [DEBUG] [Thread-88795 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:49.965 [DEBUG] [Thread-88795 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:49.965 [DEBUG] [Thread-88795 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:49.965 [DEBUG] [Thread-88795 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:49.965 [INFO] [Thread-88795 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83460589, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968358054925364, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2539359, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2737, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2289830634186, telescope_dec_j2k=-24.1605981812326, observability=1)
2025-11-03T10:01:50.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:50
2025-11-03T10:01:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4001936912536621s
2025-11-03T10:01:50.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4001936912536621
2025-11-03T10:01:50.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:50
2025-11-03T10:01:50.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:50.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4219844341278076s
2025-11-03T10:01:50.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4219844341278076
2025-11-03T10:01:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:50
2025-11-03T10:01:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7997350692749023s
2025-11-03T10:01:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7997350692749023
2025-11-03T10:01:52.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:52
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.402340888977051s
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2546275;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27439;2460982.8346339;10.0311925;1.3;_
2025-11-03T10:01:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2546275;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27439;2460982.8346339;10.0311925;1.3;_
2025-11-03T10:01:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:52.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2546275, teldec = -24.256599
2025-11-03T10:01:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2546275 -24.256599
2025-11-03T10:01:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2546275 -24.256599
2025-11-03T10:01:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2546275 -24.256599
2025-11-03T10:01:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2546275;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27439;2460982.83463392;10.0311925;1.3;_15.2296741277937 -24.1606170812625
2025-11-03T10:01:52.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2296741277937     dec_j2k = -24.1606170812625
2025-11-03T10:01:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:52.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968356450447651;171.162368059163;_
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968356450447651;171.162368059163;_
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:52.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:52.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:52.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:52.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:52.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:52.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47889)
2025-11-03T10:01:52.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:52.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:52.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:52.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:52.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8346339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968356450447651, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2546275, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27439, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2296741277937, telescope_dec_j2k=-24.1606170812625, observability=1)
2025-11-03T10:01:52.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:52
2025-11-03T10:01:52.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:52.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022167682647705078s
2025-11-03T10:01:52.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022167682647705078
2025-11-03T10:01:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:52
2025-11-03T10:01:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37471580505371094s
2025-11-03T10:01:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37471580505371094
2025-11-03T10:01:54.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:54
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9825937747955322s
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:54.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:54.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2551876;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27495;2460982.83465705;10.03175111;1.3;_
2025-11-03T10:01:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2551876;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27495;2460982.83465705;10.03175111;1.3;_
2025-11-03T10:01:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:54.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:54.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2551876, teldec = -24.256599
2025-11-03T10:01:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2551876 -24.256599
2025-11-03T10:01:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2551876 -24.256599
2025-11-03T10:01:54.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2551876 -24.256599
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2551876;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27495;2460982.8346571;10.03175111;1.3;_15.2302337940785 -24.160632390006
2025-11-03T10:01:54.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2302337940785     dec_j2k = -24.160632390006
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968355247089367;171.162357330327;_
2025-11-03T10:01:54.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968355247089367;171.162357330327;_
2025-11-03T10:01:54.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:54.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:54.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:54.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:54.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:54.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:54.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:54.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47385)
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:54.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:54.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:54.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83465705, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968355247089367, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2551876, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27495, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2302337940785, telescope_dec_j2k=-24.160632390006, observability=1)
2025-11-03T10:01:54.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:54
2025-11-03T10:01:54.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:54.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021965980529785156s
2025-11-03T10:01:54.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021965980529785156
2025-11-03T10:01:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:54
2025-11-03T10:01:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37180423736572266s
2025-11-03T10:01:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37180423736572266
2025-11-03T10:01:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:56
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3744287490844727s
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.25585;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27561;2460982.83468479;10.03241167;1.3;_
2025-11-03T10:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.25585;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27561;2460982.83468479;10.03241167;1.3;_
2025-11-03T10:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.25585, teldec = -24.256599
2025-11-03T10:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.25585 -24.256599
2025-11-03T10:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.25585 -24.256599
2025-11-03T10:01:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.25585 -24.256599
2025-11-03T10:01:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.25585;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27561;2460982.83468481;10.03241167;1.3;_15.230895681224 -24.1606504975352
2025-11-03T10:01:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.230895681224     dec_j2k = -24.1606504975352
2025-11-03T10:01:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968356450447651;171.162368059163;_
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968356450447651;171.162368059163;_
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:01:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37573)
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:56.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:56.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83468479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968356450447651, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.25585, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27561, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.230895681224, telescope_dec_j2k=-24.1606504975352, observability=1)
2025-11-03T10:01:57.150 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:57
2025-11-03T10:01:57.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:57.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36734557151794434s
2025-11-03T10:01:57.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36734557151794434
2025-11-03T10:01:57.172 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:57
2025-11-03T10:01:57.172 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:57.172 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3890380859375s
2025-11-03T10:01:57.172 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3890380859375
2025-11-03T10:01:58.173 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:58.173 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3903021812438965s
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:01:58.174 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:01:58.175 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2562422;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27601;2460982.8347011;10.03280278;1.3;_
2025-11-03T10:01:58.175 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2562422;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27601;2460982.8347011;10.03280278;1.3;_
2025-11-03T10:01:58.176 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:01:58.176 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:01:58.176 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:01:58.176 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:58.177 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:01:58.177 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2562422, teldec = -24.256599
2025-11-03T10:01:58.177 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2562422 -24.256599
2025-11-03T10:01:58.177 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2562422 -24.256599
2025-11-03T10:01:58.177 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2562422 -24.256599
2025-11-03T10:01:58.178 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2562422;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27601;2460982.83470113;10.03280278;1.3;_15.2312875776076 -24.1606612201925
2025-11-03T10:01:58.178 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2312875776076     dec_j2k = -24.1606612201925
2025-11-03T10:01:58.178 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:01:58.178 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:01:58.178 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:01:58.178 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968351235895087;171.162362694745;_
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968351235895087;171.162362694745;_
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:58.179 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:01:58.180 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:01:58.180 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:01:58.181 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:58.181 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:01:58.181 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48281)
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:01:58.188 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:01:58.195 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:01:58.195 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:58.195 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:01:58.195 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:01:58.196 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:01:58.196 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:01:58.196 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:01:58.196 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:01:58.196 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:01:58.196 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8347011, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968351235895087, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2562422, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27601, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2312875776076, telescope_dec_j2k=-24.1606612201925, observability=1)
2025-11-03T10:01:58.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:58
2025-11-03T10:01:58.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:58.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17270851135253906s
2025-11-03T10:01:58.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17270851135253906
2025-11-03T10:01:58.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:58
2025-11-03T10:01:58.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:58.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19420766830444336s
2025-11-03T10:01:58.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19420766830444336
2025-11-03T10:01:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:01:58
2025-11-03T10:01:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:01:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5653762817382812s
2025-11-03T10:01:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5653762817382812
2025-11-03T10:02:00.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:00
2025-11-03T10:02:00.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.176788330078125s
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:00.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:00.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2568589;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27662;2460982.83472656;10.03341778;1.3;_
2025-11-03T10:02:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2568589;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27662;2460982.83472656;10.03341778;1.3;_
2025-11-03T10:02:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:00.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:00.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2568589, teldec = -24.256599
2025-11-03T10:02:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2568589 -24.256599
2025-11-03T10:02:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2568589 -24.256599
2025-11-03T10:02:00.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2568589 -24.256599
2025-11-03T10:02:00.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2568589;-24.256599;50.108539;89.99305;50.08601;90.12017;12.27662;2460982.83472659;10.03341778;1.3;_15.2319038002566 -24.160678082706
2025-11-03T10:02:00.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2319038002566     dec_j2k = -24.160678082706
2025-11-03T10:02:00.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:00.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:00.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:00.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:00.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:00.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:00.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:00.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58981)
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:00.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:00.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83472656, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968358054925364, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108539, telescope_az=89.99305, telescope_ra=15.2568589, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27662, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2319038002566, telescope_dec_j2k=-24.160678082706, observability=1)
2025-11-03T10:02:00.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:00
2025-11-03T10:02:00.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:00.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022290945053100586s
2025-11-03T10:02:00.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022290945053100586
2025-11-03T10:02:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:00
2025-11-03T10:02:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36684560775756836s
2025-11-03T10:02:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36684560775756836
2025-11-03T10:02:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:02
2025-11-03T10:02:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3672003746032715s
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2575026;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27727;2460982.83475421;10.03405972;1.3;_
2025-11-03T10:02:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2575026;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27727;2460982.83475421;10.03405972;1.3;_
2025-11-03T10:02:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2575026, teldec = -24.256599
2025-11-03T10:02:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2575026 -24.256599
2025-11-03T10:02:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2575026 -24.256599
2025-11-03T10:02:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2575026 -24.256599
2025-11-03T10:02:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2575026;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27727;2460982.83475424;10.03405972;1.3;_15.2325470020838 -24.1606956861936
2025-11-03T10:02:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2325470020838     dec_j2k = -24.1606956861936
2025-11-03T10:02:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968359258283648;171.162351965909;_
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968359258283648;171.162351965909;_
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34481)
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:02.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:02.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83475421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968359258283648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2575026, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2325470020838, telescope_dec_j2k=-24.1606956861936, observability=1)
2025-11-03T10:02:03.259 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:03
2025-11-03T10:02:03.259 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:03.259 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.47730422019958496s
2025-11-03T10:02:03.259 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.47730422019958496
2025-11-03T10:02:03.281 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:03
2025-11-03T10:02:03.282 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:03.282 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.49956679344177246s
2025-11-03T10:02:03.282 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.49956679344177246
2025-11-03T10:02:04.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:04
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5879848003387451s
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2579694;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27773;2460982.83477282;10.03452528;1.3;_
2025-11-03T10:02:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2579694;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27773;2460982.83477282;10.03452528;1.3;_
2025-11-03T10:02:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:04.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2579694, teldec = -24.256599
2025-11-03T10:02:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2579694 -24.256599
2025-11-03T10:02:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2579694 -24.256599
2025-11-03T10:02:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2579694 -24.256599
2025-11-03T10:02:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2579694;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27773;2460982.83477285;10.03452528;1.3;_15.2330134408668 -24.1607084536664
2025-11-03T10:02:04.374 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2330134408668     dec_j2k = -24.1607084536664
2025-11-03T10:02:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968359258283648;171.162351965909;_
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968359258283648;171.162351965909;_
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:04.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:04.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:04.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:04.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43833)
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:04.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:04.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:04.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:04.390 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:04.390 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:04.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:04.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:04.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:04.391 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:04.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:04.391 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83477282, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968359258283648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2579694, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27773, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2330134408668, telescope_dec_j2k=-24.1607084536664, observability=1)
2025-11-03T10:02:04.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:04
2025-11-03T10:02:04.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:04.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02760148048400879s
2025-11-03T10:02:04.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02760148048400879
2025-11-03T10:02:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:04
2025-11-03T10:02:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3729522228240967s
2025-11-03T10:02:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3729522228240967
2025-11-03T10:02:06.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:06
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768459796905518s
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:06.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:06.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2585312;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2783;2460982.83479595;10.03508556;1.3;_
2025-11-03T10:02:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2585312;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2783;2460982.83479595;10.03508556;1.3;_
2025-11-03T10:02:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:06.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:06.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2585312, teldec = -24.256599
2025-11-03T10:02:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2585312 -24.256599
2025-11-03T10:02:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2585312 -24.256599
2025-11-03T10:02:06.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2585312 -24.256599
2025-11-03T10:02:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2585312;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2783;2460982.83479597;10.03508556;1.3;_15.2335748061923 -24.1607238214186
2025-11-03T10:02:06.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2335748061923     dec_j2k = -24.1607238214186
2025-11-03T10:02:06.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968359258283648;171.162357330327;_
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968359258283648;171.162357330327;_
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:06.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:06.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:06.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51735)
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:06.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:06.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:06.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83479595, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968359258283648, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2585312, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2335748061923, telescope_dec_j2k=-24.1607238214186, observability=1)
2025-11-03T10:02:06.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:06
2025-11-03T10:02:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02265453338623047s
2025-11-03T10:02:06.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02265453338623047
2025-11-03T10:02:06.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:06.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.0637514591217041s
2025-11-03T10:02:06.449 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0637514591217041
2025-11-03T10:02:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:06
2025-11-03T10:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37752866744995117s
2025-11-03T10:02:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37752866744995117
2025-11-03T10:02:06.875 [DEBUG] [Thread-88796 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:06.875 [DEBUG] [Thread-88796 (handle)] [server.py] [get_status()] Status age = 0.4896118640899658s
2025-11-03T10:02:06.875 [DEBUG] [Thread-88796 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4896118640899658
2025-11-03T10:02:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:08
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3787646293640137s
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.259195;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27896;2460982.83482367;10.0357475;1.3;_
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.259195;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27896;2460982.83482367;10.0357475;1.3;_
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:08.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.259195, teldec = -24.256599
2025-11-03T10:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.259195 -24.256599
2025-11-03T10:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.259195 -24.256599
2025-11-03T10:02:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.259195 -24.256599
2025-11-03T10:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.259195;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27896;2460982.8348237;10.0357475;1.3;_15.2342380926761 -24.1607419820443
2025-11-03T10:02:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2342380926761     dec_j2k = -24.1607419820443
2025-11-03T10:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968360060522504;171.162351965909;_
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968360060522504;171.162351965909;_
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35895)
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:08.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:08.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83482367, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968360060522504, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.259195, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27896, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2342380926761, telescope_dec_j2k=-24.1607419820443, observability=1)
2025-11-03T10:02:08.936 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:08
2025-11-03T10:02:08.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:08.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1502063274383545s
2025-11-03T10:02:08.936 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1502063274383545
2025-11-03T10:02:08.959 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:08
2025-11-03T10:02:08.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:08.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17349529266357422s
2025-11-03T10:02:08.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17349529266357422
2025-11-03T10:02:10.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:10
2025-11-03T10:02:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5864331722259521s
2025-11-03T10:02:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:10.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2596446;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27941;2460982.83484229;10.03619583;1.3;_
2025-11-03T10:02:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2596446;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27941;2460982.83484229;10.03619583;1.3;_
2025-11-03T10:02:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:10.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2596446, teldec = -24.256599
2025-11-03T10:02:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2596446 -24.256599
2025-11-03T10:02:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2596446 -24.256599
2025-11-03T10:02:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2596446 -24.256599
2025-11-03T10:02:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2596446;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27941;2460982.83484232;10.03619583;1.3;_15.2346873449127 -24.1607542841328
2025-11-03T10:02:10.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2346873449127     dec_j2k = -24.1607542841328
2025-11-03T10:02:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968362066119644;171.162351965909;_
2025-11-03T10:02:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968362066119644;171.162351965909;_
2025-11-03T10:02:10.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:10.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:10.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60951)
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:10.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:10.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:10.389 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:10.389 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:10.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:10.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83484229, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968362066119644, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2596446, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27941, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2346873449127, telescope_dec_j2k=-24.1607542841328, observability=1)
2025-11-03T10:02:10.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:10
2025-11-03T10:02:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021840810775756836s
2025-11-03T10:02:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021840810775756836
2025-11-03T10:02:10.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:10
2025-11-03T10:02:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3795647621154785s
2025-11-03T10:02:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3795647621154785
2025-11-03T10:02:12.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:12
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9719021320343018s
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:12.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:12.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2601774;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27994;2460982.83486532;10.03672722;1.3;_
2025-11-03T10:02:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2601774;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27994;2460982.83486532;10.03672722;1.3;_
2025-11-03T10:02:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:12.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:12.365 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2601774, teldec = -24.256599
2025-11-03T10:02:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2601774 -24.256599
2025-11-03T10:02:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2601774 -24.256599
2025-11-03T10:02:12.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2601774 -24.256599
2025-11-03T10:02:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2601774;-24.256599;50.108538;89.99305;50.08601;90.12017;12.27994;2460982.83486535;10.03672722;1.3;_15.2352197328445 -24.160768864511
2025-11-03T10:02:12.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2352197328445     dec_j2k = -24.160768864511
2025-11-03T10:02:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:12.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968358054925364;171.162357330327;_
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:12.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:12.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:12.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:12.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51019)
2025-11-03T10:02:12.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:12.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:12.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:12.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:12.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:12.383 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:12.383 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:12.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:12.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:12.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:12.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83486532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968358054925364, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2601774, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.27994, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2352197328445, telescope_dec_j2k=-24.160768864511, observability=1)
2025-11-03T10:02:12.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:12
2025-11-03T10:02:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022337675094604492s
2025-11-03T10:02:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022337675094604492
2025-11-03T10:02:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:12
2025-11-03T10:02:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.380126953125s
2025-11-03T10:02:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.380126953125
2025-11-03T10:02:14.023 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:02:14
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.638951063156128s
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:14.023 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:14.024 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:14.025 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2606448;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28041;2460982.83488455;10.03719333;1.3;_
2025-11-03T10:02:14.025 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.2606448;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28041;2460982.83488455;10.03719333;1.3;_
2025-11-03T10:02:14.025 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:14.025 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:14.025 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:14.026 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:14.026 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:14.026 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.2606448, teldec = -24.256599
2025-11-03T10:02:14.026 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2606448 -24.256599
2025-11-03T10:02:14.026 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2606448 -24.256599
2025-11-03T10:02:14.026 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2606448 -24.256599
2025-11-03T10:02:14.027 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2606448;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28041;2460982.83488457;10.03719333;1.3;_15.2356867714011 -24.1607816567403
2025-11-03T10:02:14.027 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.2356867714011     dec_j2k = -24.1607816567403
2025-11-03T10:02:14.027 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:14.027 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:14.027 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.09683628683585;171.162357330327;_
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.09683628683585;171.162357330327;_
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:14.028 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:14.029 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:14.030 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:14.030 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:14.030 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54207)
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:14.031 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:14.039 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:14.040 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83488455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09683628683585, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2606448, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28041, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2356867714011, telescope_dec_j2k=-24.1607816567403, observability=1)
2025-11-03T10:02:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:14
2025-11-03T10:02:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7239079475402832s
2025-11-03T10:02:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7239079475402832
2025-11-03T10:02:15.265 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:15
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.225496530532837s
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:15.265 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:15.266 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:15.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.26101;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28077;2460982.83489892;10.0375575;1.3;_
2025-11-03T10:02:15.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.26101;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28077;2460982.83489892;10.0375575;1.3;_
2025-11-03T10:02:15.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:15.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:15.267 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:15.268 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:15.268 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:15.268 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.26101, teldec = -24.256599
2025-11-03T10:02:15.268 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.26101 -24.256599
2025-11-03T10:02:15.268 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.26101 -24.256599
2025-11-03T10:02:15.268 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.26101 -24.256599
2025-11-03T10:02:15.269 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.26101;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28077;2460982.83489895;10.0375575;1.3;_15.2360516890186 -24.1607916528812
2025-11-03T10:02:15.269 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2360516890186     dec_j2k = -24.1607916528812
2025-11-03T10:02:15.270 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:15.270 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:15.270 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968363269477928;171.162368059163;_
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968363269477928;171.162368059163;_
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:15.271 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:15.272 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:15.272 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:15.272 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:15.272 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:15.273 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:15.273 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38499)
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:15.274 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:15.281 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:15.282 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:15.282 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83489892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968363269477928, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.26101, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2360516890186, telescope_dec_j2k=-24.1607916528812, observability=1)
2025-11-03T10:02:15.304 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:15
2025-11-03T10:02:15.304 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:15.304 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022084712982177734s
2025-11-03T10:02:15.304 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022084712982177734
2025-11-03T10:02:16.360 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:16
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.078183650970459s
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:16.360 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:16.361 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2612904;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28105;2460982.8349116;10.03783722;1.3;_
2025-11-03T10:02:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2612904;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28105;2460982.8349116;10.03783722;1.3;_
2025-11-03T10:02:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:16.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:16.363 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2612904, teldec = -24.256599
2025-11-03T10:02:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2612904 -24.256599
2025-11-03T10:02:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2612904 -24.256599
2025-11-03T10:02:16.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2612904 -24.256599
2025-11-03T10:02:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2612904;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28105;2460982.83491162;10.03783722;1.3;_15.236331872223 -24.1607993285068
2025-11-03T10:02:16.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.236331872223     dec_j2k = -24.1607993285068
2025-11-03T10:02:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:16.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968366879552781;171.162362694745;_
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968366879552781;171.162362694745;_
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:16.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:16.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:16.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:16.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58195)
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:16.369 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:16.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:16.376 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8349116, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968366879552781, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2612904, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.236331872223, telescope_dec_j2k=-24.1607993285068, observability=1)
2025-11-03T10:02:16.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:16
2025-11-03T10:02:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021831750869750977s
2025-11-03T10:02:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021831750869750977
2025-11-03T10:02:16.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:16
2025-11-03T10:02:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3879249095916748s
2025-11-03T10:02:16.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3879249095916748
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.1028802394866943s
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:17.479 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:17.480 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:17.480 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:17.480 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:17.481 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:17.481 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:17.481 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:17.481 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:17.481 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2616264;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28139;2460982.83492455;10.03817222;1.3;_
2025-11-03T10:02:17.482 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.2616264;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28139;2460982.83492455;10.03817222;1.3;_
2025-11-03T10:02:17.482 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:17.482 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:17.482 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:17.483 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:17.483 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:17.483 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.2616264, teldec = -24.256599
2025-11-03T10:02:17.483 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.2616264 -24.256599
2025-11-03T10:02:17.483 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.2616264 -24.256599
2025-11-03T10:02:17.483 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2616264 -24.256599
2025-11-03T10:02:17.484 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2616264;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28139;2460982.83492458;10.03817222;1.3;_15.2366676124591 -24.1608085268088
2025-11-03T10:02:17.484 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.2366676124591     dec_j2k = -24.1608085268088
2025-11-03T10:02:17.484 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:17.484 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:17.484 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968368484030493;171.162357330327;_
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968368484030493;171.162357330327;_
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:17.485 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:17.486 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:17.487 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:17.487 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:17.487 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46623)
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:17.493 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:17.501 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:02:17.502 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83492455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968368484030493, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2616264, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28139, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2366676124591, telescope_dec_j2k=-24.1608085268088, observability=1)
2025-11-03T10:02:17.502 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.47920560836792 seconds ago
2025-11-03T10:02:18.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:18
2025-11-03T10:02:18.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:18.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8615207672119141s
2025-11-03T10:02:18.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8615207672119141
2025-11-03T10:02:18.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:18
2025-11-03T10:02:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8830761909484863s
2025-11-03T10:02:18.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8830761909484863
2025-11-03T10:02:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:18
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.265078067779541s
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2619812;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28175;2460982.83493946;10.03852611;1.3;_
2025-11-03T10:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2619812;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28175;2460982.83493946;10.03852611;1.3;_
2025-11-03T10:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2619812, teldec = -24.256599
2025-11-03T10:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2619812 -24.256599
2025-11-03T10:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2619812 -24.256599
2025-11-03T10:02:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2619812 -24.256599
2025-11-03T10:02:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2619812;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28175;2460982.83493948;10.03852611;1.3;_15.2370221381842 -24.160818240595
2025-11-03T10:02:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2370221381842     dec_j2k = -24.160818240595
2025-11-03T10:02:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968361263880788;171.162346601491;_
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968361263880788;171.162346601491;_
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59291)
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:18.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:18.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:18.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83493946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968361263880788, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2619812, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:01:19.551512', telescope_ra_j2k=15.2370221381842, telescope_dec_j2k=-24.160818240595, observability=1)
2025-11-03T10:02:19.694 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:19.695 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:19.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:19.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:19.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:19.696 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:19.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:19.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:19.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:19.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:19.697 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:02:19.697 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:19.697 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:19.697 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:19.697 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:02:19.698 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:02:19.699 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:20.699 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:02:20.700 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:20.701 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:20.702 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:20.702 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:20.702 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:20.702 [DEBUG] [ThreadPoolExecutor-3438_0] [payload.py] [to_registers()] [0]
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44759)
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:20.708 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:20.715 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:20.715 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:02:20.715 [DEBUG] [ThreadPoolExecutor-3438_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:02:20.715 [DEBUG] [ThreadPoolExecutor-3438_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:02:20.716 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:20.716 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:20.716 [DEBUG] [ThreadPoolExecutor-3438_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:20
2025-11-03T10:02:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775876998901367s
2025-11-03T10:02:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2625416;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28231;2460982.83496255;10.039085;1.3;_
2025-11-03T10:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2625416;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28231;2460982.83496255;10.039085;1.3;_
2025-11-03T10:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:20.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2625416, teldec = -24.256599
2025-11-03T10:02:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2625416 -24.256599
2025-11-03T10:02:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2625416 -24.256599
2025-11-03T10:02:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2625416 -24.256599
2025-11-03T10:02:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2625416;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28231;2460982.83496257;10.039085;1.3;_15.2375821050208 -24.1608335850501
2025-11-03T10:02:20.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2375821050208     dec_j2k = -24.1608335850501
2025-11-03T10:02:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968360060522504;171.162351965909;_
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968360060522504;171.162351965909;_
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:20.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35301)
2025-11-03T10:02:20.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:20.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:20.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:20.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83496255, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968360060522504, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2625416, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2375821050208, telescope_dec_j2k=-24.1608335850501, observability=1)
2025-11-03T10:02:21.266 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:21
2025-11-03T10:02:21.267 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:21.267 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4830939769744873s
2025-11-03T10:02:21.267 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4830939769744873
2025-11-03T10:02:21.290 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:21
2025-11-03T10:02:21.290 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:21.290 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5069360733032227s
2025-11-03T10:02:21.290 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5069360733032227
2025-11-03T10:02:22.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:22
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5813772678375244s
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:22.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:22.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:22.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2629625;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28273;2460982.8349811;10.03950472;1.3;_
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2629625;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28273;2460982.8349811;10.03950472;1.3;_
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:22.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:22.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:22.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2629625, teldec = -24.256599
2025-11-03T10:02:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2629625 -24.256599
2025-11-03T10:02:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2629625 -24.256599
2025-11-03T10:02:22.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2629625 -24.256599
2025-11-03T10:02:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2629625;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28273;2460982.83498113;10.03950472;1.3;_15.2380026797238 -24.1608451111973
2025-11-03T10:02:22.370 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2380026797238     dec_j2k = -24.1608451111973
2025-11-03T10:02:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:22.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096836086276136;171.162362694745;_
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096836086276136;171.162362694745;_
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:22.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:22.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:22.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49489)
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:22.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:22.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:22.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:22.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:22.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:22.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8349811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096836086276136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2629625, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28273, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2380026797238, telescope_dec_j2k=-24.1608451111973, observability=1)
2025-11-03T10:02:22.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:22
2025-11-03T10:02:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021689176559448242s
2025-11-03T10:02:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021689176559448242
2025-11-03T10:02:22.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:22
2025-11-03T10:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3722381591796875s
2025-11-03T10:02:22.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3722381591796875
2025-11-03T10:02:24.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:24
2025-11-03T10:02:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815006256103516s
2025-11-03T10:02:24.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:24.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2635419;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28331;2460982.83500428;10.0400825;1.3;_
2025-11-03T10:02:24.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2635419;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28331;2460982.83500428;10.0400825;1.3;_
2025-11-03T10:02:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:24.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:24.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2635419, teldec = -24.256599
2025-11-03T10:02:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2635419 -24.256599
2025-11-03T10:02:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2635419 -24.256599
2025-11-03T10:02:24.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2635419 -24.256599
2025-11-03T10:02:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2635419;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28331;2460982.83500432;10.0400825;1.3;_15.2385816319837 -24.1608609797241
2025-11-03T10:02:24.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2385816319837     dec_j2k = -24.1608609797241
2025-11-03T10:02:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:24.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968361665000216;171.162351965909;_
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968361665000216;171.162351965909;_
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:24.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:24.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:24.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:24.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:24.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58149)
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:24.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:24.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:24.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83500428, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968361665000216, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2635419, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28331, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2385816319837, telescope_dec_j2k=-24.1608609797241, observability=1)
2025-11-03T10:02:24.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:24
2025-11-03T10:02:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02133655548095703s
2025-11-03T10:02:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02133655548095703
2025-11-03T10:02:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:24
2025-11-03T10:02:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37546849250793457s
2025-11-03T10:02:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37546849250793457
2025-11-03T10:02:24.935 [DEBUG] [Thread-88797 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:24.935 [DEBUG] [Thread-88797 (handle)] [server.py] [get_status()] Status age = 0.5488648414611816s
2025-11-03T10:02:24.935 [DEBUG] [Thread-88797 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5488648414611816
2025-11-03T10:02:26.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:26
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.385847568511963s
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2642157;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28398;2460982.83503211;10.04075444;1.3;_
2025-11-03T10:02:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2642157;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28398;2460982.83503211;10.04075444;1.3;_
2025-11-03T10:02:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:26.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2642157, teldec = -24.256599
2025-11-03T10:02:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2642157 -24.256599
2025-11-03T10:02:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2642157 -24.256599
2025-11-03T10:02:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2642157 -24.256599
2025-11-03T10:02:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2642157;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28398;2460982.83503213;10.04075444;1.3;_15.239254911375 -24.1608794364796
2025-11-03T10:02:26.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.239254911375     dec_j2k = -24.1608794364796
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968362066119644;171.162362694745;_
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968362066119644;171.162362694745;_
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45547)
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:26.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:26.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:26.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:26.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83503211, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968362066119644, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2642157, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28398, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.239254911375, telescope_dec_j2k=-24.1608794364796, observability=1)
2025-11-03T10:02:27.227 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:27
2025-11-03T10:02:27.227 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:27.227 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.439089298248291s
2025-11-03T10:02:27.227 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.439089298248291
2025-11-03T10:02:27.249 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:27
2025-11-03T10:02:27.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:27.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.461700439453125s
2025-11-03T10:02:27.249 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.461700439453125
2025-11-03T10:02:28.367 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:28
2025-11-03T10:02:28.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5798406600952148s
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:28.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2646363;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2844;2460982.83505057;10.04117389;1.3;_
2025-11-03T10:02:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2646363;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2844;2460982.83505057;10.04117389;1.3;_
2025-11-03T10:02:28.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:28.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:28.371 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2646363, teldec = -24.256599
2025-11-03T10:02:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2646363 -24.256599
2025-11-03T10:02:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2646363 -24.256599
2025-11-03T10:02:28.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2646363 -24.256599
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2646363;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2844;2460982.8350506;10.04117389;1.3;_15.239675186444 -24.1608909591051
2025-11-03T10:02:28.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.239675186444     dec_j2k = -24.1608909591051
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968368082911065;171.162357330327;_
2025-11-03T10:02:28.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968368082911065;171.162357330327;_
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:28.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:28.376 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54183)
2025-11-03T10:02:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:28.376 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:28.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:28.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:28.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:28.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:28.385 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:28.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:28.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83505057, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968368082911065, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2646363, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2844, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.239675186444, telescope_dec_j2k=-24.1608909591051, observability=1)
2025-11-03T10:02:28.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:28
2025-11-03T10:02:28.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:28.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0242311954498291s
2025-11-03T10:02:28.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0242311954498291
2025-11-03T10:02:28.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:28
2025-11-03T10:02:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38139867782592773s
2025-11-03T10:02:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38139867782592773
2025-11-03T10:02:30.363 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:30
2025-11-03T10:02:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786505699157715s
2025-11-03T10:02:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:30.363 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:30.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:30.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2652151;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28498;2460982.83507368;10.04175111;1.3;_
2025-11-03T10:02:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2652151;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28498;2460982.83507368;10.04175111;1.3;_
2025-11-03T10:02:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:30.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:30.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2652151, teldec = -24.256599
2025-11-03T10:02:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2652151 -24.256599
2025-11-03T10:02:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2652151 -24.256599
2025-11-03T10:02:30.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2652151 -24.256599
2025-11-03T10:02:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2652151;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28498;2460982.8350737;10.04175111;1.3;_15.2402535393521 -24.1609068176556
2025-11-03T10:02:30.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2402535393521     dec_j2k = -24.1609068176556
2025-11-03T10:02:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:30.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09683628683585;171.162362694745;_
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09683628683585;171.162362694745;_
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:30.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:30.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:30.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60755)
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:30.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:30.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:30.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83507368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09683628683585, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2652151, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28498, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2402535393521, telescope_dec_j2k=-24.1609068176556, observability=1)
2025-11-03T10:02:30.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:30
2025-11-03T10:02:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022006988525390625s
2025-11-03T10:02:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022006988525390625
2025-11-03T10:02:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:30
2025-11-03T10:02:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3822023868560791s
2025-11-03T10:02:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3822023868560791
2025-11-03T10:02:32.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:32
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.002471685409546s
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:32.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:32.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2657758;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28554;2460982.83509705;10.04231028;1.3;_
2025-11-03T10:02:32.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2657758;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28554;2460982.83509705;10.04231028;1.3;_
2025-11-03T10:02:32.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:32.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:32.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:32.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:32.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:32.387 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2657758, teldec = -24.256599
2025-11-03T10:02:32.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2657758 -24.256599
2025-11-03T10:02:32.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2657758 -24.256599
2025-11-03T10:02:32.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2657758 -24.256599
2025-11-03T10:02:32.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2657758;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28554;2460982.83509708;10.04231028;1.3;_15.2408138063024 -24.1609221824126
2025-11-03T10:02:32.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2408138063024     dec_j2k = -24.1609221824126
2025-11-03T10:02:32.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:32.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:32.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:32.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968367681791637;171.162357330327;_
2025-11-03T10:02:32.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968367681791637;171.162357330327;_
2025-11-03T10:02:32.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:32.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:32.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:32.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:32.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:32.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:32.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:32.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39465)
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:32.395 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:32.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:32.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:32.402 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:32.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:32.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83509705, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968367681791637, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2657758, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28554, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2408138063024, telescope_dec_j2k=-24.1609221824126, observability=1)
2025-11-03T10:02:32.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:32
2025-11-03T10:02:32.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:32.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025600194931030273s
2025-11-03T10:02:32.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025600194931030273
2025-11-03T10:02:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:32
2025-11-03T10:02:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35944199562072754s
2025-11-03T10:02:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35944199562072754
2025-11-03T10:02:34.370 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:34
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9670283794403076s
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:34.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:34.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2663069;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28607;2460982.83512005;10.04284;1.3;_
2025-11-03T10:02:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2663069;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28607;2460982.83512005;10.04284;1.3;_
2025-11-03T10:02:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:34.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:34.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2663069, teldec = -24.256599
2025-11-03T10:02:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2663069 -24.256599
2025-11-03T10:02:34.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2663069 -24.256599
2025-11-03T10:02:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2663069 -24.256599
2025-11-03T10:02:34.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2663351;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2861;2460982.83512007;10.04286806;1.3;_15.2413444961691 -24.1609367379779
2025-11-03T10:02:34.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2413444961691     dec_j2k = -24.1609367379779
2025-11-03T10:02:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968362467239072;171.162362694745;_
2025-11-03T10:02:34.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968362467239072;171.162362694745;_
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:34.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:34.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42957)
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:34.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:34.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:34.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83512005, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968362467239072, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2663069, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28607, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2413444961691, telescope_dec_j2k=-24.1609367379779, observability=1)
2025-11-03T10:02:34.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:34
2025-11-03T10:02:34.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:34.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02196979522705078s
2025-11-03T10:02:34.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02196979522705078
2025-11-03T10:02:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:34
2025-11-03T10:02:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3773221969604492s
2025-11-03T10:02:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3773221969604492
2025-11-03T10:02:36.362 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:36
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9754433631896973s
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:36.362 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:36.363 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.266886;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28665;2460982.8351431;10.0434175;1.3;_
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.266886;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28665;2460982.8351431;10.0434175;1.3;_
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:36.364 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.266886, teldec = -24.256599
2025-11-03T10:02:36.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.266886 -24.256599
2025-11-03T10:02:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.266886 -24.256599
2025-11-03T10:02:36.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.266886 -24.256599
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.266886;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28665;2460982.83514311;10.0434175;1.3;_15.24192314903 -24.1609526111942
2025-11-03T10:02:36.366 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.24192314903     dec_j2k = -24.1609526111942
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096836086276136;171.162357330327;_
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096836086276136;171.162357330327;_
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:36.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:36.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:36.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52869)
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:36.371 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:36.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:36.378 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8351431, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096836086276136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.266886, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28665, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.24192314903, telescope_dec_j2k=-24.1609526111942, observability=1)
2025-11-03T10:02:36.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:36
2025-11-03T10:02:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02188587188720703s
2025-11-03T10:02:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02188587188720703
2025-11-03T10:02:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:36
2025-11-03T10:02:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38868212699890137s
2025-11-03T10:02:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38868212699890137
2025-11-03T10:02:38.565 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:38
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1865832805633545s
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:38.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:38.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:38.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2675027;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28727;2460982.8351686;10.0440325;1.3;_
2025-11-03T10:02:38.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2675027;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28727;2460982.8351686;10.0440325;1.3;_
2025-11-03T10:02:38.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:38.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:38.567 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:38.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:38.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:38.568 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2675027, teldec = -24.256599
2025-11-03T10:02:38.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2675027 -24.256599
2025-11-03T10:02:38.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2675027 -24.256599
2025-11-03T10:02:38.568 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2675027 -24.256599
2025-11-03T10:02:38.569 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2675027;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28727;2460982.83516862;10.0440325;1.3;_15.2425393729291 -24.1609695174879
2025-11-03T10:02:38.569 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2425393729291     dec_j2k = -24.1609695174879
2025-11-03T10:02:38.569 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:38.569 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:38.569 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968368885149921;171.162357330327;_
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968368885149921;171.162357330327;_
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:38.570 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:38.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:38.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:38.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:38.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:38.571 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:38.572 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:38.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:38.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:38.573 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44463)
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:38.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:38.582 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:38.583 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8351686, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968368885149921, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2675027, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28727, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2425393729291, telescope_dec_j2k=-24.1609695174879, observability=1)
2025-11-03T10:02:38.605 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:38
2025-11-03T10:02:38.605 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:38.605 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02255845069885254s
2025-11-03T10:02:38.605 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02255845069885254
2025-11-03T10:02:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:38
2025-11-03T10:02:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17923235893249512s
2025-11-03T10:02:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17923235893249512
2025-11-03T10:02:40.553 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:40
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9710650444030762s
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:40.554 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:40.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2680344;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2878;2460982.83519161;10.04456278;1.3;_
2025-11-03T10:02:40.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2680344;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2878;2460982.83519161;10.04456278;1.3;_
2025-11-03T10:02:40.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:40.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:40.555 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:40.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:40.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:40.556 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2680344, teldec = -24.256599
2025-11-03T10:02:40.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2680344 -24.256599
2025-11-03T10:02:40.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2680344 -24.256599
2025-11-03T10:02:40.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2680344 -24.256599
2025-11-03T10:02:40.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2680344;-24.256599;50.108538;89.99305;50.08601;90.12017;12.2878;2460982.83519163;10.04456278;1.3;_15.2430706625077 -24.1609840956136
2025-11-03T10:02:40.557 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2430706625077     dec_j2k = -24.1609840956136
2025-11-03T10:02:40.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:40.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:40.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:40.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968363269477928;171.162362694745;_
2025-11-03T10:02:40.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968363269477928;171.162362694745;_
2025-11-03T10:02:40.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:40.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:40.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:40.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:40.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:40.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:40.562 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53049)
2025-11-03T10:02:40.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:40.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:40.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:40.563 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:40.563 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:40.570 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:40.570 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83519161, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968363269477928, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2680344, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2878, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2430706625077, telescope_dec_j2k=-24.1609840956136, observability=1)
2025-11-03T10:02:40.594 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:40
2025-11-03T10:02:40.594 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:40.594 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024286746978759766s
2025-11-03T10:02:40.594 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024286746978759766
2025-11-03T10:02:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:40
2025-11-03T10:02:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19003772735595703s
2025-11-03T10:02:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19003772735595703
2025-11-03T10:02:42.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:42
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8102030754089355s
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:42.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:42.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:42.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.268557;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28832;2460982.83521275;10.04508389;1.3;_
2025-11-03T10:02:42.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.268557;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28832;2460982.83521275;10.04508389;1.3;_
2025-11-03T10:02:42.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:42.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:42.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:42.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:42.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:42.384 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.268557, teldec = -24.256599
2025-11-03T10:02:42.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.268557 -24.256599
2025-11-03T10:02:42.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.268557 -24.256599
2025-11-03T10:02:42.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.268557 -24.256599
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.268557;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28832;2460982.83521279;10.04508389;1.3;_15.2435928591631 -24.1609984260702
2025-11-03T10:02:42.385 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2435928591631     dec_j2k = -24.1609984260702
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968363269477928;171.162357330327;_
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968363269477928;171.162357330327;_
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:42.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:42.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:42.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:42.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:42.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57099)
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:42.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:42.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:42.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83521275, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968363269477928, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.268557, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28832, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2435928591631, telescope_dec_j2k=-24.1609984260702, observability=1)
2025-11-03T10:02:42.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:42
2025-11-03T10:02:42.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:42.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02141261100769043s
2025-11-03T10:02:42.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02141261100769043
2025-11-03T10:02:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:42
2025-11-03T10:02:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3612058162689209s
2025-11-03T10:02:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3612058162689209
2025-11-03T10:02:43.051 [DEBUG] [Thread-88798 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:43.051 [DEBUG] [Thread-88798 (handle)] [server.py] [get_status()] Status age = 0.6494579315185547s
2025-11-03T10:02:43.051 [DEBUG] [Thread-88798 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6494579315185547
2025-11-03T10:02:44.365 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:44
2025-11-03T10:02:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9638957977294922s
2025-11-03T10:02:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:44.365 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:44.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2691177;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28888;2460982.83523573;10.04564306;1.3;_
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2691177;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28888;2460982.83523573;10.04564306;1.3;_
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:44.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:44.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2691177, teldec = -24.256599
2025-11-03T10:02:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2691177 -24.256599
2025-11-03T10:02:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2691177 -24.256599
2025-11-03T10:02:44.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2691177 -24.256599
2025-11-03T10:02:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2691177;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28888;2460982.83523575;10.04564306;1.3;_15.2441531264708 -24.1610138033064
2025-11-03T10:02:44.369 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2441531264708     dec_j2k = -24.1610138033064
2025-11-03T10:02:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:44.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968368484030493;171.162351965909;_
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968368484030493;171.162351965909;_
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:44.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:44.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:44.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45421)
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:44.375 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:44.382 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:44.382 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:44.382 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:44.383 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:44.383 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:44.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:44.383 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83523573, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968368484030493, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2691177, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28888, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2441531264708, telescope_dec_j2k=-24.1610138033064, observability=1)
2025-11-03T10:02:44.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:44
2025-11-03T10:02:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222585678100586s
2025-11-03T10:02:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222585678100586
2025-11-03T10:02:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:44
2025-11-03T10:02:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37928247451782227s
2025-11-03T10:02:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37928247451782227
2025-11-03T10:02:45.716 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:45.716 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:45.716 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:45.716 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:45.716 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:45.717 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:02:45.718 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:02:45.719 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:46.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:46
2025-11-03T10:02:46.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9867987632751465s
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:46.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2696494;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28941;2460982.83525891;10.04617333;1.3;_
2025-11-03T10:02:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2696494;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28941;2460982.83525891;10.04617333;1.3;_
2025-11-03T10:02:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:46.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:46.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2696494, teldec = -24.256599
2025-11-03T10:02:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2696494 -24.256599
2025-11-03T10:02:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2696494 -24.256599
2025-11-03T10:02:46.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2696494 -24.256599
2025-11-03T10:02:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2696494;-24.256599;50.108538;89.99305;50.08601;90.12017;12.28941;2460982.83525895;10.04617333;1.3;_15.2446844162132 -24.1610283871485
2025-11-03T10:02:46.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2446844162132     dec_j2k = -24.1610283871485
2025-11-03T10:02:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:46.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968363269477928;171.162357330327;_
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968363269477928;171.162357330327;_
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:46.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:46.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50199)
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:46.377 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:46.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:46.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83525891, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968363269477928, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2696494, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.28941, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2446844162132, telescope_dec_j2k=-24.1610283871485, observability=1)
2025-11-03T10:02:46.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:46
2025-11-03T10:02:46.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:46.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02335214614868164s
2025-11-03T10:02:46.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02335214614868164
2025-11-03T10:02:46.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:46
2025-11-03T10:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37451672554016113s
2025-11-03T10:02:46.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37451672554016113
2025-11-03T10:02:48.648 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:48
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2633907794952393s
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:48.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2702848;-24.256599;50.108538;89.99305;50.08601;90.12017;12.29005;2460982.83528529;10.04680694;1.3;_
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2702848;-24.256599;50.108538;89.99305;50.08601;90.12017;12.29005;2460982.83528529;10.04680694;1.3;_
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:48.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:48.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:48.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:48.650 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2702848, teldec = -24.256599
2025-11-03T10:02:48.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2702848 -24.256599
2025-11-03T10:02:48.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2702848 -24.256599
2025-11-03T10:02:48.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2702848 -24.256599
2025-11-03T10:02:48.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2702848;-24.256599;50.108538;89.99305;50.08601;90.12017;12.29005;2460982.83528531;10.04680694;1.3;_15.2453193260118 -24.161045817815
2025-11-03T10:02:48.651 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2453193260118     dec_j2k = -24.161045817815
2025-11-03T10:02:48.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:48.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:48.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968369286269349;171.162357330327;_
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968369286269349;171.162357330327;_
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:48.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:48.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57237)
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:48.654 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:48.655 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:48.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:48.662 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:48.662 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83528529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968369286269349, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108538, telescope_az=89.99305, telescope_ra=15.2702848, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29005, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2453193260118, telescope_dec_j2k=-24.161045817815, observability=1)
2025-11-03T10:02:48.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:48
2025-11-03T10:02:48.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:48.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02214527130126953s
2025-11-03T10:02:48.685 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02214527130126953
2025-11-03T10:02:48.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:48
2025-11-03T10:02:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10212421417236328s
2025-11-03T10:02:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10212421417236328
2025-11-03T10:02:50.019 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:50.019 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Status age = 1.357058048248291s
2025-11-03T10:02:50.019 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:50.019 [DEBUG] [Thread-88799 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:50.019 [DEBUG] [Thread-88799 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:50.020 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:50.021 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 17;15.2706781;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29044;2460982.83530117;10.04719917;1.3;_
2025-11-03T10:02:50.021 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response 17;15.2706781;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29044;2460982.83530117;10.04719917;1.3;_
2025-11-03T10:02:50.021 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:50.021 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:50.021 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:50.022 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:50.022 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:50.022 [INFO] [Thread-88799 (handle)] [driver.py] [get_status()] Telra = 15.2706781, teldec = -24.256599
2025-11-03T10:02:50.022 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2706781 -24.256599
2025-11-03T10:02:50.022 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2706781 -24.256599
2025-11-03T10:02:50.022 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2706781 -24.256599
2025-11-03T10:02:50.023 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 17;15.2706781;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29044;2460982.83530119;10.04719917;1.3;_15.2457123226255 -24.161056608398
2025-11-03T10:02:50.023 [INFO] [Thread-88799 (handle)] [driver.py] [get_status()] ra_j2k = 15.2457123226255     dec_j2k = -24.161056608398
2025-11-03T10:02:50.023 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:50.023 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:50.023 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 140;0.0968366077313925;171.162362694745;_
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response 140;0.0968366077313925;171.162362694745;_
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:50.024 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:02:50.025 [DEBUG] [Thread-88799 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:02:50.025 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:50.025 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:50.025 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:50.025 [DEBUG] [Thread-88799 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:50.026 [DEBUG] [Thread-88799 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:50.026 [DEBUG] [Thread-88799 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54467)
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:50.029 [DEBUG] [Thread-88799 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:50.036 [DEBUG] [Thread-88799 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:50.036 [DEBUG] [Thread-88799 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:50.036 [DEBUG] [Thread-88799 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:50.036 [DEBUG] [Thread-88799 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:50.037 [DEBUG] [Thread-88799 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:50.037 [DEBUG] [Thread-88799 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:50.037 [DEBUG] [Thread-88799 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:50.037 [DEBUG] [Thread-88799 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:50.037 [DEBUG] [Thread-88799 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:50.037 [INFO] [Thread-88799 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83530117, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968366077313925, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2706781, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29044, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2457123226255, telescope_dec_j2k=-24.161056608398, observability=1)
2025-11-03T10:02:50.368 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:50
2025-11-03T10:02:50.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:50.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3309481143951416s
2025-11-03T10:02:50.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3309481143951416
2025-11-03T10:02:50.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:50
2025-11-03T10:02:50.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:50.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3625376224517822s
2025-11-03T10:02:50.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3625376224517822
2025-11-03T10:02:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:50
2025-11-03T10:02:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7261924743652344s
2025-11-03T10:02:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7261924743652344
2025-11-03T10:02:52.364 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:52
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3271427154541016s
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:52.364 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:52.365 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2713421;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29111;2460982.83532831;10.04786139;1.3;_
2025-11-03T10:02:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2713421;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29111;2460982.83532831;10.04786139;1.3;_
2025-11-03T10:02:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:52.366 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:52.367 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2713421, teldec = -24.256599
2025-11-03T10:02:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2713421 -24.256599
2025-11-03T10:02:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2713421 -24.256599
2025-11-03T10:02:52.367 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2713421 -24.256599
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2713421;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29111;2460982.83532833;10.04786139;1.3;_15.2463758104919 -24.1610748282444
2025-11-03T10:02:52.368 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2463758104919     dec_j2k = -24.1610748282444
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968365275075068;171.162362694745;_
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968365275075068;171.162362694745;_
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:52.368 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:52.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:52.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:52.372 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45387)
2025-11-03T10:02:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:52.372 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:52.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:52.373 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:52.373 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:52.379 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:52.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:52.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83532831, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968365275075068, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2713421, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2463758104919, telescope_dec_j2k=-24.1610748282444, observability=1)
2025-11-03T10:02:52.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:52
2025-11-03T10:02:52.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:52.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.030402421951293945s
2025-11-03T10:02:52.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.030402421951293945
2025-11-03T10:02:52.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:52
2025-11-03T10:02:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.385434627532959s
2025-11-03T10:02:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.385434627532959
2025-11-03T10:02:54.380 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:54
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.000197649002075s
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:54.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:54.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:54.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:54.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:54.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:54.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:54.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:54.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:54.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2719034;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29167;2460982.83535164;10.04842111;1.3;_
2025-11-03T10:02:54.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2719034;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29167;2460982.83535164;10.04842111;1.3;_
2025-11-03T10:02:54.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:54.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:54.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:54.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:54.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:54.384 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2719034, teldec = -24.256599
2025-11-03T10:02:54.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2719034 -24.256599
2025-11-03T10:02:54.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2719034 -24.256599
2025-11-03T10:02:54.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2719034 -24.256599
2025-11-03T10:02:54.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2719034;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29167;2460982.83535168;10.04842111;1.3;_15.246936677635 -24.1610902323388
2025-11-03T10:02:54.385 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.246936677635     dec_j2k = -24.1610902323388
2025-11-03T10:02:54.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:54.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:54.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968370489627633;171.162362694745;_
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968370489627633;171.162362694745;_
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:54.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:54.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:54.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50071)
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:54.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:54.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83535164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968370489627633, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2719034, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.246936677635, telescope_dec_j2k=-24.1610902323388, observability=1)
2025-11-03T10:02:54.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:54
2025-11-03T10:02:54.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:54.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021573543548583984s
2025-11-03T10:02:54.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021573543548583984
2025-11-03T10:02:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:54
2025-11-03T10:02:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3680436611175537s
2025-11-03T10:02:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3680436611175537
2025-11-03T10:02:56.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:56
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3676915168762207s
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2725487;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29231;2460982.83537925;10.04906472;1.3;_
2025-11-03T10:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2725487;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29231;2460982.83537925;10.04906472;1.3;_
2025-11-03T10:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2725487, teldec = -24.256599
2025-11-03T10:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2725487 -24.256599
2025-11-03T10:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2725487 -24.256599
2025-11-03T10:02:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2725487 -24.256599
2025-11-03T10:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2725487;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29231;2460982.83537927;10.04906472;1.3;_15.2475814800743 -24.1611079442851
2025-11-03T10:02:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2475814800743     dec_j2k = -24.1611079442851
2025-11-03T10:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096836086276136;171.162351965909;_
2025-11-03T10:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096836086276136;171.162351965909;_
2025-11-03T10:02:56.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48409)
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:56.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:56.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:56.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83537925, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096836086276136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2725487, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29231, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2475814800743, telescope_dec_j2k=-24.1611079442851, observability=1)
2025-11-03T10:02:57.219 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:57
2025-11-03T10:02:57.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:57.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43575167655944824s
2025-11-03T10:02:57.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43575167655944824
2025-11-03T10:02:57.242 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:57
2025-11-03T10:02:57.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:57.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4583585262298584s
2025-11-03T10:02:57.242 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4583585262298584
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2101101875305176s
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:02:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:02:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:02:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2729042;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29267;2460982.83539347;10.04941917;1.3;_
2025-11-03T10:02:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2729042;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29267;2460982.83539347;10.04941917;1.3;_
2025-11-03T10:02:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:02:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:02:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:02:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:02:57.997 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2729042, teldec = -24.256599
2025-11-03T10:02:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2729042 -24.256599
2025-11-03T10:02:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2729042 -24.256599
2025-11-03T10:02:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2729042 -24.256599
2025-11-03T10:02:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2729042;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29267;2460982.8353935;10.04941917;1.3;_15.2479367059988 -24.1611177030954
2025-11-03T10:02:57.998 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2479367059988     dec_j2k = -24.1611177030954
2025-11-03T10:02:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:02:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:02:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968364472836212;171.162357330327;_
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968364472836212;171.162357330327;_
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:02:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43291)
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:02:58.003 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:02:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:02:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:58.010 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:02:58.010 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:02:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:02:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:02:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:02:58.011 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:02:58.011 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:02:58.011 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83539347, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968364472836212, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2729042, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29267, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2479367059988, telescope_dec_j2k=-24.1611177030954, observability=1)
2025-11-03T10:02:58.366 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:58
2025-11-03T10:02:58.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:58.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.355226993560791s
2025-11-03T10:02:58.366 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.355226993560791
2025-11-03T10:02:58.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:58
2025-11-03T10:02:58.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:58.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37671947479248047s
2025-11-03T10:02:58.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37671947479248047
2025-11-03T10:02:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:02:58
2025-11-03T10:02:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:02:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7541441917419434s
2025-11-03T10:02:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7541441917419434
2025-11-03T10:03:00.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:00
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4121196269989014s
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2735774;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29334;2460982.83542159;10.05009056;1.3;_
2025-11-03T10:03:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2735774;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29334;2460982.83542159;10.05009056;1.3;_
2025-11-03T10:03:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:00.426 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2735774, teldec = -24.256599
2025-11-03T10:03:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2735774 -24.256599
2025-11-03T10:03:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2735774 -24.256599
2025-11-03T10:03:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2735774 -24.256599
2025-11-03T10:03:00.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2735774;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29334;2460982.83542161;10.05009056;1.3;_15.2486093870562 -24.1611361853726
2025-11-03T10:03:00.427 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2486093870562     dec_j2k = -24.1611361853726
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968372094105345;171.162351965909;_
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968372094105345;171.162351965909;_
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:00.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:00.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:00.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:00.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:00.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41635)
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:00.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:00.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:00.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83542159, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968372094105345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2735774, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2486093870562, telescope_dec_j2k=-24.1611361853726, observability=1)
2025-11-03T10:03:00.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:00
2025-11-03T10:03:00.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:00.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022831201553344727s
2025-11-03T10:03:00.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022831201553344727
2025-11-03T10:03:00.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:00
2025-11-03T10:03:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32312846183776855s
2025-11-03T10:03:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32312846183776855
2025-11-03T10:03:01.133 [DEBUG] [Thread-88800 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:01.133 [DEBUG] [Thread-88800 (handle)] [server.py] [get_status()] Status age = 0.688603401184082s
2025-11-03T10:03:01.133 [DEBUG] [Thread-88800 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.688603401184082
2025-11-03T10:03:02.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:02
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.318607807159424s
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2742406;-24.256599;50.108537;89.99305;50.08601;90.12017;12.294;2460982.83544867;10.05075194;1.3;_
2025-11-03T10:03:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2742406;-24.256599;50.108537;89.99305;50.08601;90.12017;12.294;2460982.83544867;10.05075194;1.3;_
2025-11-03T10:03:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2742406, teldec = -24.256599
2025-11-03T10:03:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2742406 -24.256599
2025-11-03T10:03:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2742406 -24.256599
2025-11-03T10:03:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2742406 -24.256599
2025-11-03T10:03:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2742406;-24.256599;50.108537;89.99305;50.08601;90.12017;12.294;2460982.83544869;10.05075194;1.3;_15.2492720759068 -24.1611543960521
2025-11-03T10:03:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2492720759068     dec_j2k = -24.1611543960521
2025-11-03T10:03:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968370088508205;171.162362694745;_
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968370088508205;171.162362694745;_
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47709)
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:02.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:02.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:02.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:02.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83544867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968370088508205, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2742406, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2492720759068, telescope_dec_j2k=-24.1611543960521, observability=1)
2025-11-03T10:03:02.932 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:02
2025-11-03T10:03:02.932 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:02.932 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15387916564941406s
2025-11-03T10:03:02.933 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15387916564941406
2025-11-03T10:03:02.956 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:02
2025-11-03T10:03:02.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:02.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1773381233215332s
2025-11-03T10:03:02.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1773381233215332
2025-11-03T10:03:04.369 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:04
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.590674638748169s
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:04.369 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:04.370 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2746896;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29445;2460982.83546726;10.05119972;1.3;_
2025-11-03T10:03:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2746896;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29445;2460982.83546726;10.05119972;1.3;_
2025-11-03T10:03:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:04.371 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:04.372 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2746896, teldec = -24.256599
2025-11-03T10:03:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2746896 -24.256599
2025-11-03T10:03:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2746896 -24.256599
2025-11-03T10:03:04.372 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2746896 -24.256599
2025-11-03T10:03:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2746896;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29445;2460982.83546728;10.05119972;1.3;_15.2497207298959 -24.1611667267151
2025-11-03T10:03:04.373 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2497207298959     dec_j2k = -24.1611667267151
2025-11-03T10:03:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:04.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968372094105345;171.162362694745;_
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968372094105345;171.162362694745;_
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:04.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:04.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:04.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:04.380 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37421)
2025-11-03T10:03:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:04.381 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:04.381 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:04.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:04.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83546726, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968372094105345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2746896, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29445, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2497207298959, telescope_dec_j2k=-24.1611667267151, observability=1)
2025-11-03T10:03:04.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:04
2025-11-03T10:03:04.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:04.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02196526527404785s
2025-11-03T10:03:04.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02196526527404785
2025-11-03T10:03:04.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:04
2025-11-03T10:03:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3727266788482666s
2025-11-03T10:03:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3727266788482666
2025-11-03T10:03:05.539 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:05.539 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.1512963771820068s
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:05.540 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:05.541 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:05.542 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.2749985;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29476;2460982.83548081;10.05150778;1.3;_
2025-11-03T10:03:05.542 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.2749985;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29476;2460982.83548081;10.05150778;1.3;_
2025-11-03T10:03:05.542 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:05.542 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:05.542 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:05.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:05.543 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:05.543 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.2749985, teldec = -24.256599
2025-11-03T10:03:05.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2749985 -24.256599
2025-11-03T10:03:05.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2749985 -24.256599
2025-11-03T10:03:05.543 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2749985 -24.256599
2025-11-03T10:03:05.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.2749985;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29476;2460982.83548083;10.05150778;1.3;_15.2500293918721 -24.1611752106597
2025-11-03T10:03:05.544 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.2500293918721     dec_j2k = -24.1611752106597
2025-11-03T10:03:05.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:05.544 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968372094105345;171.162362694745;_
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968372094105345;171.162362694745;_
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:05.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:05.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:05.546 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:05.546 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41711)
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:05.552 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:05.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:05.560 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:05.560 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:05.560 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83548081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968372094105345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2749985, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2500293918721, telescope_dec_j2k=-24.1611752106597, observability=1)
2025-11-03T10:03:06.371 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:06
2025-11-03T10:03:06.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:06.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.811420202255249s
2025-11-03T10:03:06.371 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.811420202255249
2025-11-03T10:03:06.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:06
2025-11-03T10:03:06.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:06.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8334429264068604s
2025-11-03T10:03:06.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8334429264068604
2025-11-03T10:03:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:06
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.20145845413208s
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2753341;-24.256599;50.108537;89.99305;50.08601;90.12017;12.2951;2460982.83549494;10.0518425;1.3;_
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2753341;-24.256599;50.108537;89.99305;50.08601;90.12017;12.2951;2460982.83549494;10.0518425;1.3;_
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2753341, teldec = -24.256599
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2753341 -24.256599
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2753341 -24.256599
2025-11-03T10:03:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2753341 -24.256599
2025-11-03T10:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2753341;-24.256599;50.108537;89.99305;50.08601;90.12017;12.2951;2460982.83549495;10.0518425;1.3;_15.2503647332951 -24.1611844286389
2025-11-03T10:03:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2503647332951     dec_j2k = -24.1611844286389
2025-11-03T10:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837530306077;171.162362694745;_
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837530306077;171.162362694745;_
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41415)
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:06.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:06.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:06.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83549494, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837530306077, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2753341, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.2951, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2503647332951, telescope_dec_j2k=-24.1611844286389, observability=1)
2025-11-03T10:03:08.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:08
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.596238613128662s
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:08.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:08.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:08.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.275801;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29557;2460982.8355136;10.05230806;1.3;_
2025-11-03T10:03:08.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.275801;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29557;2460982.8355136;10.05230806;1.3;_
2025-11-03T10:03:08.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:08.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:08.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:08.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:08.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:08.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.275801, teldec = -24.256599
2025-11-03T10:03:08.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.275801 -24.256599
2025-11-03T10:03:08.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.275801 -24.256599
2025-11-03T10:03:08.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.275801 -24.256599
2025-11-03T10:03:08.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.275801;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29557;2460982.83551362;10.05230806;1.3;_15.2508312735884 -24.1611972543012
2025-11-03T10:03:08.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2508312735884     dec_j2k = -24.1611972543012
2025-11-03T10:03:08.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:08.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:08.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968376105299626;171.162357330327;_
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968376105299626;171.162357330327;_
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:08.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:08.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:08.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:08.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:08.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54875)
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:08.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:08.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:08.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8355136, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968376105299626, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.275801, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29557, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2508312735884, telescope_dec_j2k=-24.1611972543012, observability=1)
2025-11-03T10:03:08.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:08
2025-11-03T10:03:08.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:08.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021889925003051758s
2025-11-03T10:03:08.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021889925003051758
2025-11-03T10:03:08.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:08
2025-11-03T10:03:08.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:08.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38384342193603516s
2025-11-03T10:03:08.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38384342193603516
2025-11-03T10:03:10.373 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:10
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785494804382324s
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:10.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:10.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2763617;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29613;2460982.83553675;10.05286722;1.3;_
2025-11-03T10:03:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2763617;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29613;2460982.83553675;10.05286722;1.3;_
2025-11-03T10:03:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:10.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:10.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2763617, teldec = -24.256599
2025-11-03T10:03:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2763617 -24.256599
2025-11-03T10:03:10.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2763617 -24.256599
2025-11-03T10:03:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2763617 -24.256599
2025-11-03T10:03:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2763617;-24.256599;50.108537;89.99305;50.08601;90.12017;12.29613;2460982.83553677;10.05286722;1.3;_15.2513915416719 -24.1612126585471
2025-11-03T10:03:10.377 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2513915416719     dec_j2k = -24.1612126585471
2025-11-03T10:03:10.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968374901941342;171.162351965909;_
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968374901941342;171.162351965909;_
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:10.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:10.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:10.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:10.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:10.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:10.386 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46263)
2025-11-03T10:03:10.386 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:10.387 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:10.387 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:10.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:10.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83553675, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968374901941342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2763617, telescope_dec=-24.256599, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2513915416719, telescope_dec_j2k=-24.1612126585471, observability=1)
2025-11-03T10:03:10.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:10
2025-11-03T10:03:10.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:10.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021944761276245117s
2025-11-03T10:03:10.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021944761276245117
2025-11-03T10:03:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:10
2025-11-03T10:03:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36899709701538086s
2025-11-03T10:03:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36899709701538086
2025-11-03T10:03:12.372 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:12
2025-11-03T10:03:12.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:12.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782652854919434s
2025-11-03T10:03:12.372 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:12.372 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:12.373 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:12.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:12.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:12.373 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2768945;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29666;2460982.83555988;10.05339861;1.3;_
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2768945;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29666;2460982.83555988;10.05339861;1.3;_
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:12.374 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:12.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:12.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:12.375 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2768945, teldec = -24.256598
2025-11-03T10:03:12.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2768945 -24.256598
2025-11-03T10:03:12.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2768945 -24.256598
2025-11-03T10:03:12.375 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2768945 -24.256598
2025-11-03T10:03:12.376 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2768945;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29666;2460982.83555991;10.05339861;1.3;_15.2519239314497 -24.1612262982467
2025-11-03T10:03:12.376 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2519239314497     dec_j2k = -24.1612262982467
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968370890747061;171.162357330327;_
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968370890747061;171.162357330327;_
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:12.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:12.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:12.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:12.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:12.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:12.384 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45839)
2025-11-03T10:03:12.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:12.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:12.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:12.385 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:12.385 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:12.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:12.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83555988, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968370890747061, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2768945, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2519239314497, telescope_dec_j2k=-24.1612262982467, observability=1)
2025-11-03T10:03:12.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:12
2025-11-03T10:03:12.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:12.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02505636215209961s
2025-11-03T10:03:12.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02505636215209961
2025-11-03T10:03:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:12
2025-11-03T10:03:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3703000545501709s
2025-11-03T10:03:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3703000545501709
2025-11-03T10:03:14.100 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:03:14
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.7078478336334229s
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:14.100 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:14.101 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:14.101 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:14.101 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:14.101 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:14.101 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2773903;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29715;2460982.83557987;10.05389306;1.3;_
2025-11-03T10:03:14.102 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.2773903;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29715;2460982.83557987;10.05389306;1.3;_
2025-11-03T10:03:14.102 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:14.102 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:14.102 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:14.103 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:14.103 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:14.103 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.2773903, teldec = -24.256598
2025-11-03T10:03:14.103 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2773903 -24.256598
2025-11-03T10:03:14.103 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2773903 -24.256598
2025-11-03T10:03:14.103 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2773903 -24.256598
2025-11-03T10:03:14.104 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.2773903;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29715;2460982.83557991;10.05389306;1.3;_15.2524193496273 -24.1612399229736
2025-11-03T10:03:14.104 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.2524193496273     dec_j2k = -24.1612399229736
2025-11-03T10:03:14.104 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:14.104 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:14.104 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968373698583058;171.162362694745;_
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968373698583058;171.162362694745;_
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:14.105 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:14.106 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:14.107 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:14.107 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:14.107 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53939)
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:14.110 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:14.117 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:14.117 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:14.117 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:14.117 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:14.117 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:14.118 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:14.118 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:14.118 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:14.118 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:14.118 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83557987, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968373698583058, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2773903, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29715, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2524193496273, telescope_dec_j2k=-24.1612399229736, observability=1)
2025-11-03T10:03:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:14
2025-11-03T10:03:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6440284252166748s
2025-11-03T10:03:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6440284252166748
2025-11-03T10:03:14.931 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:14
2025-11-03T10:03:14.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:14.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8130953311920166s
2025-11-03T10:03:14.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8130953311920166
2025-11-03T10:03:14.953 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:14
2025-11-03T10:03:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8355362415313721s
2025-11-03T10:03:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8355362415313721
2025-11-03T10:03:16.377 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:16
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2594099044799805s
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:16.377 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:16.378 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:16.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2780081;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29777;2460982.83560624;10.05450917;1.3;_
2025-11-03T10:03:16.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2780081;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29777;2460982.83560624;10.05450917;1.3;_
2025-11-03T10:03:16.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:16.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:16.379 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:16.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:16.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:16.380 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2780081, teldec = -24.256598
2025-11-03T10:03:16.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2780081 -24.256598
2025-11-03T10:03:16.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2780081 -24.256598
2025-11-03T10:03:16.380 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2780081 -24.256598
2025-11-03T10:03:16.381 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.278036;-24.256598;50.108537;89.99305;50.08601;90.12017;12.2978;2460982.83560626;10.05453694;1.3;_15.2530366739169 -24.1612569025798
2025-11-03T10:03:16.381 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2530366739169     dec_j2k = -24.1612569025798
2025-11-03T10:03:16.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:16.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:16.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837730865791;171.162362694745;_
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837730865791;171.162362694745;_
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:16.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:16.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:16.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:16.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:16.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:16.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38985)
2025-11-03T10:03:16.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:16.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:16.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:16.391 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:16.391 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:16.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:16.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83560624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837730865791, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2780081, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29777, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2530366739169, telescope_dec_j2k=-24.1612569025798, observability=1)
2025-11-03T10:03:16.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:16
2025-11-03T10:03:16.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:16.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022301673889160156s
2025-11-03T10:03:16.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022301673889160156
2025-11-03T10:03:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:16
2025-11-03T10:03:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3712587356567383s
2025-11-03T10:03:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3712587356567383
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.1627788543701172s
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:17.562 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:17.563 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:17.564 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2783446;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29811;2460982.83561994;10.05484472;1.3;_
2025-11-03T10:03:17.564 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.2783446;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29811;2460982.83561994;10.05484472;1.3;_
2025-11-03T10:03:17.564 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:17.564 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:17.564 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:17.565 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:17.565 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:17.565 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.2783446, teldec = -24.256598
2025-11-03T10:03:17.565 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.2783446 -24.256598
2025-11-03T10:03:17.565 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.2783446 -24.256598
2025-11-03T10:03:17.565 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2783446 -24.256598
2025-11-03T10:03:17.566 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2783446;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29811;2460982.83561998;10.05484472;1.3;_15.2533729148402 -24.161266152007
2025-11-03T10:03:17.566 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.2533729148402     dec_j2k = -24.161266152007
2025-11-03T10:03:17.566 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:17.566 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:17.566 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968373698583058;171.162357330327;_
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968373698583058;171.162357330327;_
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:17.567 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:17.568 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:17.569 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:17.569 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:17.569 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44439)
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:17.570 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:17.577 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:17.577 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:17.577 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:17.577 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:17.578 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:17.578 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:17.578 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:17.578 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:17.578 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:03:17.578 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83561994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968373698583058, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2783446, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29811, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2533729148402, telescope_dec_j2k=-24.161266152007, observability=1)
2025-11-03T10:03:17.578 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.478034019470215 seconds ago
2025-11-03T10:03:18.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:18
2025-11-03T10:03:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8158018589019775s
2025-11-03T10:03:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8158018589019775
2025-11-03T10:03:18.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:18
2025-11-03T10:03:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8385586738586426s
2025-11-03T10:03:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8385586738586426
2025-11-03T10:03:18.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:18
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1921875476837158s
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2786997;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29846;2460982.83563394;10.05519889;1.3;_
2025-11-03T10:03:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2786997;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29846;2460982.83563394;10.05519889;1.3;_
2025-11-03T10:03:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:18.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2786997, teldec = -24.256598
2025-11-03T10:03:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2786997 -24.256598
2025-11-03T10:03:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2786997 -24.256598
2025-11-03T10:03:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2786997 -24.256598
2025-11-03T10:03:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2786997;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29846;2460982.83563396;10.05519889;1.3;_15.2537277414666 -24.1612759135105
2025-11-03T10:03:18.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2537277414666     dec_j2k = -24.1612759135105
2025-11-03T10:03:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968374901941342;171.162351965909;_
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968374901941342;171.162351965909;_
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49491)
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:18.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:18.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83563394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968374901941342, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2786997, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29846, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:02:19.694335', telescope_ra_j2k=15.2537277414666, telescope_dec_j2k=-24.1612759135105, observability=1)
2025-11-03T10:03:19.194 [DEBUG] [Thread-88801 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:19.194 [DEBUG] [Thread-88801 (handle)] [server.py] [get_status()] Status age = 0.40295886993408203s
2025-11-03T10:03:19.194 [DEBUG] [Thread-88801 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40295886993408203
2025-11-03T10:03:19.837 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:19.837 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:19.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:19.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:19.837 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:19.838 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:19.838 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:19.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:19.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:19.839 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:19.839 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:03:19.839 [INFO] [ThreadPoolExecutor-3439_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:03:19.840 [INFO] [ThreadPoolExecutor-3439_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:03:20.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:20
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5954785346984863s
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:20.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.279149;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29891;2460982.83565264;10.05564694;1.3;_
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.279149;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29891;2460982.83565264;10.05564694;1.3;_
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:20.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:20.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:20.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:20.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.279149, teldec = -24.256598
2025-11-03T10:03:20.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.279149 -24.256598
2025-11-03T10:03:20.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.279149 -24.256598
2025-11-03T10:03:20.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.279149 -24.256598
2025-11-03T10:03:20.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.279149;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29891;2460982.83565266;10.05564694;1.3;_15.2541766956076 -24.1612882657196
2025-11-03T10:03:20.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2541766956076     dec_j2k = -24.1612882657196
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968378110896766;171.162362694745;_
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968378110896766;171.162362694745;_
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:20.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:20.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:20.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:20.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:20.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50663)
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:20.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:20.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:20.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:20.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83565264, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968378110896766, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.279149, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29891, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2541766956076, telescope_dec_j2k=-24.1612882657196, observability=1)
2025-11-03T10:03:20.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:20
2025-11-03T10:03:20.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:20.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022055387496948242s
2025-11-03T10:03:20.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022055387496948242
2025-11-03T10:03:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:20
2025-11-03T10:03:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3589136600494385s
2025-11-03T10:03:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3589136600494385
2025-11-03T10:03:22.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:22
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0284299850463867s
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:22.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2797089;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29947;2460982.83567633;10.05620528;1.3;_
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2797089;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29947;2460982.83567633;10.05620528;1.3;_
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:22.435 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:22.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:22.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:22.436 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2797089, teldec = -24.256598
2025-11-03T10:03:22.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2797089 -24.256598
2025-11-03T10:03:22.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2797089 -24.256598
2025-11-03T10:03:22.436 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2797089 -24.256598
2025-11-03T10:03:22.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2797089;-24.256598;50.108537;89.99305;50.08601;90.12017;12.29947;2460982.83567635;10.05620528;1.3;_15.2547361646659 -24.1613036604323
2025-11-03T10:03:22.437 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2547361646659     dec_j2k = -24.1613036604323
2025-11-03T10:03:22.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:22.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:22.437 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968379715374478;171.162362694745;_
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968379715374478;171.162362694745;_
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:22.438 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:22.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:22.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:22.439 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54163)
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:22.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:22.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:22.454 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83567633, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968379715374478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2797089, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.29947, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2547361646659, telescope_dec_j2k=-24.1613036604323, observability=1)
2025-11-03T10:03:22.478 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:22
2025-11-03T10:03:22.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:22.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024617671966552734s
2025-11-03T10:03:22.478 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024617671966552734
2025-11-03T10:03:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:22
2025-11-03T10:03:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30846285820007324s
2025-11-03T10:03:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30846285820007324
2025-11-03T10:03:24.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:24
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9463422298431396s
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2802593;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30002;2460982.8356991;10.05675417;1.3;_
2025-11-03T10:03:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2802593;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30002;2460982.8356991;10.05675417;1.3;_
2025-11-03T10:03:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:24.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2802593, teldec = -24.256598
2025-11-03T10:03:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2802593 -24.256598
2025-11-03T10:03:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2802593 -24.256598
2025-11-03T10:03:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2802593 -24.256598
2025-11-03T10:03:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2802593;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30002;2460982.83569912;10.05675417;1.3;_15.2552861410946 -24.1613187959658
2025-11-03T10:03:24.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2552861410946     dec_j2k = -24.1613187959658
2025-11-03T10:03:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968380517613335;171.162357330327;_
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968380517613335;171.162357330327;_
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59923)
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:24.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:24.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8356991, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968380517613335, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2802593, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30002, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2552861410946, telescope_dec_j2k=-24.1613187959658, observability=1)
2025-11-03T10:03:24.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:24
2025-11-03T10:03:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021941661834716797s
2025-11-03T10:03:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021941661834716797
2025-11-03T10:03:24.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:24
2025-11-03T10:03:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35202765464782715s
2025-11-03T10:03:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35202765464782715
2025-11-03T10:03:26.389 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:26
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9717583656311035s
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:26.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:26.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:26.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2808197;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30058;2460982.83572212;10.05731306;1.3;_
2025-11-03T10:03:26.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2808197;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30058;2460982.83572212;10.05731306;1.3;_
2025-11-03T10:03:26.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:26.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:26.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:26.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:26.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:26.392 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2808197, teldec = -24.256598
2025-11-03T10:03:26.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2808197 -24.256598
2025-11-03T10:03:26.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2808197 -24.256598
2025-11-03T10:03:26.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2808197 -24.256598
2025-11-03T10:03:26.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2808197;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30058;2460982.83572214;10.05731306;1.3;_15.2558461098872 -24.161334208556
2025-11-03T10:03:26.393 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2558461098872     dec_j2k = -24.161334208556
2025-11-03T10:03:26.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:26.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:26.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837931425505;171.162357330327;_
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837931425505;171.162357330327;_
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:26.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52175)
2025-11-03T10:03:26.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:26.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:26.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:26.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:26.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:26.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:26.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83572212, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837931425505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2808197, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30058, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2558461098872, telescope_dec_j2k=-24.161334208556, observability=1)
2025-11-03T10:03:26.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:26
2025-11-03T10:03:26.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:26.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02211737632751465s
2025-11-03T10:03:26.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02211737632751465
2025-11-03T10:03:26.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:26
2025-11-03T10:03:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.357433557510376s
2025-11-03T10:03:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.357433557510376
2025-11-03T10:03:28.381 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:28
2025-11-03T10:03:28.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:28.381 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9701430797576904s
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:28.382 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2813804;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30114;2460982.83574517;10.05787222;1.3;_
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2813804;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30114;2460982.83574517;10.05787222;1.3;_
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:28.383 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:28.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:28.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:28.384 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2813804, teldec = -24.256598
2025-11-03T10:03:28.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2813804 -24.256598
2025-11-03T10:03:28.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2813804 -24.256598
2025-11-03T10:03:28.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2813804 -24.256598
2025-11-03T10:03:28.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2813804;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30114;2460982.8357452;10.05787222;1.3;_15.2564063785091 -24.1613496314822
2025-11-03T10:03:28.385 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2564063785091     dec_j2k = -24.1613496314822
2025-11-03T10:03:28.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:28.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837931425505;171.162368059163;_
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837931425505;171.162368059163;_
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:28.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:28.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:28.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:28.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:28.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:28.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:28.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:28.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:28.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:28.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:28.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34629)
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:28.390 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:28.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83574517, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837931425505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2813804, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30114, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2564063785091, telescope_dec_j2k=-24.1613496314822, observability=1)
2025-11-03T10:03:28.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:28
2025-11-03T10:03:28.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:28.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022825956344604492s
2025-11-03T10:03:28.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022825956344604492
2025-11-03T10:03:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:28
2025-11-03T10:03:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36588358879089355s
2025-11-03T10:03:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36588358879089355
2025-11-03T10:03:30.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:30
2025-11-03T10:03:30.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9873230457305908s
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:30.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:30.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:30.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2819308;-24.256598;50.108537;89.99305;50.08601;90.12017;12.3017;2460982.83576837;10.05842111;1.3;_
2025-11-03T10:03:30.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2819308;-24.256598;50.108537;89.99305;50.08601;90.12017;12.3017;2460982.83576837;10.05842111;1.3;_
2025-11-03T10:03:30.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:30.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:30.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:30.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:30.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:30.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2819308, teldec = -24.256598
2025-11-03T10:03:30.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2819308 -24.256598
2025-11-03T10:03:30.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2819308 -24.256598
2025-11-03T10:03:30.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2819308 -24.256598
2025-11-03T10:03:30.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2819308;-24.256598;50.108537;89.99305;50.08601;90.12017;12.3017;2460982.83576839;10.05842111;1.3;_15.2569563551139 -24.1613647731191
2025-11-03T10:03:30.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2569563551139     dec_j2k = -24.1613647731191
2025-11-03T10:03:30.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:30.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:30.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837931425505;171.162357330327;_
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837931425505;171.162357330327;_
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:30.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:30.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:30.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:30.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:30.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53219)
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:30.393 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:30.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:30.401 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:30.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:30.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83576837, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837931425505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2819308, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3017, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2569563551139, telescope_dec_j2k=-24.1613647731191, observability=1)
2025-11-03T10:03:30.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:30
2025-11-03T10:03:30.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:30.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021358013153076172s
2025-11-03T10:03:30.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021358013153076172
2025-11-03T10:03:30.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:30
2025-11-03T10:03:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36469411849975586s
2025-11-03T10:03:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36469411849975586
2025-11-03T10:03:32.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:32
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0086452960968018s
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2824915;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30226;2460982.83579181;10.05898028;1.3;_
2025-11-03T10:03:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2824915;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30226;2460982.83579181;10.05898028;1.3;_
2025-11-03T10:03:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:32.413 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2824915, teldec = -24.256598
2025-11-03T10:03:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2824915 -24.256598
2025-11-03T10:03:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2824915 -24.256598
2025-11-03T10:03:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2824915 -24.256598
2025-11-03T10:03:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2824915;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30226;2460982.83579183;10.05898028;1.3;_15.2575166238551 -24.1613802001773
2025-11-03T10:03:32.414 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2575166238551     dec_j2k = -24.1613802001773
2025-11-03T10:03:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968382122091047;171.162368059163;_
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968382122091047;171.162368059163;_
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:32.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:32.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:32.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:32.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47717)
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:32.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:32.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:32.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:32.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:32.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83579181, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968382122091047, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2824915, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30226, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2575166238551, telescope_dec_j2k=-24.1613802001773, observability=1)
2025-11-03T10:03:32.454 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:32
2025-11-03T10:03:32.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:32.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028529882431030273s
2025-11-03T10:03:32.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028529882431030273
2025-11-03T10:03:32.803 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:32
2025-11-03T10:03:32.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:32.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37707090377807617s
2025-11-03T10:03:32.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37707090377807617
2025-11-03T10:03:34.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:34
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9589521884918213s
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:34.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:34.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2830235;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30279;2460982.83581465;10.05951083;1.3;_
2025-11-03T10:03:34.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2830235;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30279;2460982.83581465;10.05951083;1.3;_
2025-11-03T10:03:34.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:34.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:34.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:34.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:34.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:34.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2830235, teldec = -24.256598
2025-11-03T10:03:34.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2830235 -24.256598
2025-11-03T10:03:34.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2830235 -24.256598
2025-11-03T10:03:34.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2830235 -24.256598
2025-11-03T10:03:34.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2830235;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30282;2460982.83581469;10.05953889;1.3;_15.2580482147264 -24.1613948395132
2025-11-03T10:03:34.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2580482147264     dec_j2k = -24.1613948395132
2025-11-03T10:03:34.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:34.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:34.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968380918732763;171.162357330327;_
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968380918732763;171.162357330327;_
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:34.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:34.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59381)
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:34.394 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:34.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83581465, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968380918732763, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2830235, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30279, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2580482147264, telescope_dec_j2k=-24.1613948395132, observability=1)
2025-11-03T10:03:34.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:34
2025-11-03T10:03:34.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:34.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02182769775390625s
2025-11-03T10:03:34.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02182769775390625
2025-11-03T10:03:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:34
2025-11-03T10:03:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3620896339416504s
2025-11-03T10:03:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3620896339416504
2025-11-03T10:03:36.385 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:36
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828648567199707s
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:36.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:36.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2835831;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30335;2460982.83583781;10.06006889;1.3;_
2025-11-03T10:03:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2835831;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30335;2460982.83583781;10.06006889;1.3;_
2025-11-03T10:03:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:36.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:36.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2835831, teldec = -24.256598
2025-11-03T10:03:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2835831 -24.256598
2025-11-03T10:03:36.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2835831 -24.256598
2025-11-03T10:03:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2835831 -24.256598
2025-11-03T10:03:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2835831;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30335;2460982.83583784;10.06006889;1.3;_15.2586073844307 -24.1614102403585
2025-11-03T10:03:36.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2586073844307     dec_j2k = -24.1614102403585
2025-11-03T10:03:36.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096837931425505;171.162362694745;_
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096837931425505;171.162362694745;_
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:36.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:36.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:36.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35501)
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:36.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:36.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:36.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83583781, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096837931425505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2835831, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30335, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2586073844307, telescope_dec_j2k=-24.1614102403585, observability=1)
2025-11-03T10:03:36.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:36
2025-11-03T10:03:36.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:36.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021706342697143555s
2025-11-03T10:03:36.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021706342697143555
2025-11-03T10:03:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:36
2025-11-03T10:03:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35683441162109375s
2025-11-03T10:03:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35683441162109375
2025-11-03T10:03:37.325 [DEBUG] [Thread-88802 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:37.325 [DEBUG] [Thread-88802 (handle)] [server.py] [get_status()] Status age = 0.9178595542907715s
2025-11-03T10:03:37.325 [DEBUG] [Thread-88802 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9178595542907715
2025-11-03T10:03:38.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:38
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980095386505127s
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:38.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:38.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:38.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2841622;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30393;2460982.83586098;10.06064639;1.3;_
2025-11-03T10:03:38.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2841622;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30393;2460982.83586098;10.06064639;1.3;_
2025-11-03T10:03:38.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:38.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:38.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:38.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:38.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:38.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2841622, teldec = -24.256598
2025-11-03T10:03:38.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2841622 -24.256598
2025-11-03T10:03:38.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2841622 -24.256598
2025-11-03T10:03:38.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2841622 -24.256598
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2841622;-24.256598;50.108537;89.99305;50.08601;90.12017;12.30393;2460982.83586101;10.06064639;1.3;_15.259186039204 -24.1614261800522
2025-11-03T10:03:38.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.259186039204     dec_j2k = -24.1614261800522
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968383325449331;171.162351965909;_
2025-11-03T10:03:38.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968383325449331;171.162351965909;_
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:38.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:38.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:38.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33575)
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:38.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:38.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:38.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83586098, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968383325449331, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108537, telescope_az=89.99305, telescope_ra=15.2841622, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.259186039204, telescope_dec_j2k=-24.1614261800522, observability=1)
2025-11-03T10:03:38.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:38
2025-11-03T10:03:38.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:38.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021635055541992188s
2025-11-03T10:03:38.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021635055541992188
2025-11-03T10:03:38.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:38
2025-11-03T10:03:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3603193759918213s
2025-11-03T10:03:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3603193759918213
2025-11-03T10:03:40.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:40
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.008669137954712s
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:40.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:40.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2847226;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30449;2460982.83588447;10.06120528;1.3;_
2025-11-03T10:03:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2847226;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30449;2460982.83588447;10.06120528;1.3;_
2025-11-03T10:03:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:40.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:40.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:40.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:40.419 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2847226, teldec = -24.256598
2025-11-03T10:03:40.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2847226 -24.256598
2025-11-03T10:03:40.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2847226 -24.256598
2025-11-03T10:03:40.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2847226 -24.256598
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2847226;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30449;2460982.83588449;10.06120528;1.3;_15.2597460084155 -24.1614416071456
2025-11-03T10:03:40.420 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2597460084155     dec_j2k = -24.1614416071456
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968381720971619;171.162362694745;_
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968381720971619;171.162362694745;_
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:40.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:40.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:40.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:40.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:40.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39673)
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:40.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:40.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:40.435 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:40.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:40.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83588447, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968381720971619, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2847226, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30449, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2597460084155, telescope_dec_j2k=-24.1614416071456, observability=1)
2025-11-03T10:03:40.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:40
2025-11-03T10:03:40.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:40.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03455758094787598s
2025-11-03T10:03:40.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03455758094787598
2025-11-03T10:03:40.719 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.720 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.721 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:03:40.721 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:03:40.721 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:40.722 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:40.723 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:03:40.724 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:40.725 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Park
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:03:40.726 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:03:40.727 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 29;15.2848067;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30457;2460982.83588804;10.06128917;1.3;_Park Command Successful
2025-11-03T10:03:40.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:40
2025-11-03T10:03:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33118224143981934s
2025-11-03T10:03:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33118224143981934
2025-11-03T10:03:41.727 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:03:41.727 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:03:41.727 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:03:41.728 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:03:41.728 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:03:42.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:42
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0091984272003174s
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:42.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:42.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:42.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2852822;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30505;2460982.83590794;10.06176333;1.3;_
2025-11-03T10:03:42.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2852822;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30505;2460982.83590794;10.06176333;1.3;_
2025-11-03T10:03:42.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:42.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:42.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:42.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:42.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:42.447 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2852822, teldec = -24.256598
2025-11-03T10:03:42.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2852822 -24.256598
2025-11-03T10:03:42.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2852822 -24.256598
2025-11-03T10:03:42.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2852822 -24.256598
2025-11-03T10:03:42.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2852822;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30505;2460982.83590796;10.06176333;1.3;_15.260305178302 -24.1614570142928
2025-11-03T10:03:42.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.260305178302     dec_j2k = -24.1614570142928
2025-11-03T10:03:42.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:42.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:42.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968380918732763;171.162357330327;_
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968380918732763;171.162357330327;_
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:42.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:42.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:42.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:42.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:42.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:42.454 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39557)
2025-11-03T10:03:42.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:42.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:42.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:42.455 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:42.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:42.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:42.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83590794, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968380918732763, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2852822, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30505, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.260305178302, telescope_dec_j2k=-24.1614570142928, observability=1)
2025-11-03T10:03:42.484 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:42
2025-11-03T10:03:42.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:42.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022221803665161133s
2025-11-03T10:03:42.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022221803665161133
2025-11-03T10:03:42.728 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:03:42.728 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:03:42.728 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:03:42.729 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:03:42.729 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:03:42.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:42
2025-11-03T10:03:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.297135591506958s
2025-11-03T10:03:42.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.297135591506958
2025-11-03T10:03:43.729 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:03:43.729 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:03:43.729 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:03:43.730 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:03:43.730 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:03:44.384 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:44
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9221916198730469s
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:44.384 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:44.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:44.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:44.385 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:44.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2858331;-24.256598;50.108536;89.99305;50.08601;90.12017;12.3056;2460982.83593039;10.06231278;1.3;_
2025-11-03T10:03:44.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2858331;-24.256598;50.108536;89.99305;50.08601;90.12017;12.3056;2460982.83593039;10.06231278;1.3;_
2025-11-03T10:03:44.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:44.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:44.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:44.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:44.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:44.388 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2858331, teldec = -24.256598
2025-11-03T10:03:44.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2858331 -24.256598
2025-11-03T10:03:44.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2858331 -24.256598
2025-11-03T10:03:44.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2858331 -24.256598
2025-11-03T10:03:44.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2858331;-24.256598;50.108536;89.99305;50.08601;90.12017;12.3056;2460982.83593043;10.06231278;1.3;_15.2608556549341 -24.1614721839345
2025-11-03T10:03:44.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2608556549341     dec_j2k = -24.1614721839345
2025-11-03T10:03:44.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:44.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:44.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968378913135622;171.162362694745;_
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968378913135622;171.162362694745;_
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:44.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:44.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:44.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:44.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50753)
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:44.397 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:44.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:44.405 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:44.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83593039, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968378913135622, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2858331, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2608556549341, telescope_dec_j2k=-24.1614721839345, observability=1)
2025-11-03T10:03:44.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:44
2025-11-03T10:03:44.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:44.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02224421501159668s
2025-11-03T10:03:44.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02224421501159668
2025-11-03T10:03:44.730 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:03:44.730 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:03:44.730 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:03:44.731 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:03:44.732 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:44.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:44
2025-11-03T10:03:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3578202724456787s
2025-11-03T10:03:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3578202724456787
2025-11-03T10:03:45.732 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:45.732 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:45.732 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:45.732 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:45.732 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:03:45.733 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:03:45.734 [DEBUG] [ThreadPoolExecutor-3438_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:45.734 [INFO] [ThreadPoolExecutor-3438_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:03:46.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:46
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9815278053283691s
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:46.386 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:46.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.286366;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30613;2460982.83595356;10.06284417;1.3;_
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.286366;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30613;2460982.83595356;10.06284417;1.3;_
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:46.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:46.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:46.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:46.389 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.286366, teldec = -24.256598
2025-11-03T10:03:46.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.286366 -24.256598
2025-11-03T10:03:46.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.286366 -24.256598
2025-11-03T10:03:46.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.286366 -24.256598
2025-11-03T10:03:46.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2863938;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30616;2460982.83595359;10.06287194;1.3;_15.2613881454545 -24.1614868598394
2025-11-03T10:03:46.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2613881454545     dec_j2k = -24.1614868598394
2025-11-03T10:03:46.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:46.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:46.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:46.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968380116493907;171.162351965909;_
2025-11-03T10:03:46.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968380116493907;171.162351965909;_
2025-11-03T10:03:46.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:46.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:46.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:46.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:46.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:46.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55035)
2025-11-03T10:03:46.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:46.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:46.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:46.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:46.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:46.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:46.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83595356, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968380116493907, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.286366, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2613881454545, telescope_dec_j2k=-24.1614868598394, observability=1)
2025-11-03T10:03:46.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:46
2025-11-03T10:03:46.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:46.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023265838623046875s
2025-11-03T10:03:46.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023265838623046875
2025-11-03T10:03:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:46
2025-11-03T10:03:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36163854598999023s
2025-11-03T10:03:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36163854598999023
2025-11-03T10:03:48.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:48
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9930026531219482s
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2869537;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30672;2460982.83597688;10.06343028;1.3;_
2025-11-03T10:03:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2869537;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30672;2460982.83597688;10.06343028;1.3;_
2025-11-03T10:03:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:48.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2869537, teldec = -24.256598
2025-11-03T10:03:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2869537 -24.256598
2025-11-03T10:03:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2869537 -24.256598
2025-11-03T10:03:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2869537 -24.256598
2025-11-03T10:03:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2869537;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30672;2460982.8359769;10.06343028;1.3;_15.2619753939299 -24.1615030471009
2025-11-03T10:03:48.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2619753939299     dec_j2k = -24.1615030471009
2025-11-03T10:03:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968385732165899;171.162357330327;_
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968385732165899;171.162357330327;_
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:48.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57595)
2025-11-03T10:03:48.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:48.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:48.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:48.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:48.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83597688, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968385732165899, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2869537, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30672, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2619753939299, telescope_dec_j2k=-24.1615030471009, observability=1)
2025-11-03T10:03:48.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:48
2025-11-03T10:03:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022621870040893555s
2025-11-03T10:03:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022621870040893555
2025-11-03T10:03:48.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:48
2025-11-03T10:03:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34760546684265137s
2025-11-03T10:03:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34760546684265137
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Status age = 1.6478807926177979s
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:50.068 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:50.069 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:50.070 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 17;15.2873921;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30716;2460982.83599618;10.0638675;1.3;_
2025-11-03T10:03:50.070 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response 17;15.2873921;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30716;2460982.83599618;10.0638675;1.3;_
2025-11-03T10:03:50.070 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:50.070 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:50.070 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:50.071 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:50.071 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:50.071 [INFO] [Thread-88803 (handle)] [driver.py] [get_status()] Telra = 15.2873921, teldec = -24.256598
2025-11-03T10:03:50.071 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2873921 -24.256598
2025-11-03T10:03:50.071 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2873921 -24.256598
2025-11-03T10:03:50.071 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2873921 -24.256598
2025-11-03T10:03:50.072 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 17;15.2873921;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30716;2460982.8359962;10.0638675;1.3;_15.2624134571542 -24.1615151236209
2025-11-03T10:03:50.072 [INFO] [Thread-88803 (handle)] [driver.py] [get_status()] ra_j2k = 15.2624134571542     dec_j2k = -24.1615151236209
2025-11-03T10:03:50.072 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:50.072 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:50.072 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 140;0.0968391347837892;171.162362694745;_
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response 140;0.0968391347837892;171.162362694745;_
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:50.073 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:50.074 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:50.075 [DEBUG] [Thread-88803 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:50.075 [DEBUG] [Thread-88803 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:03:50.075 [DEBUG] [Thread-88803 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:03:50.078 [DEBUG] [Thread-88803 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34753)
2025-11-03T10:03:50.078 [DEBUG] [Thread-88803 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:50.078 [DEBUG] [Thread-88803 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:50.078 [DEBUG] [Thread-88803 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:50.079 [DEBUG] [Thread-88803 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:50.079 [DEBUG] [Thread-88803 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:50.086 [DEBUG] [Thread-88803 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:50.086 [INFO] [Thread-88803 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83599618, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968391347837892, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2873921, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30716, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2624134571542, telescope_dec_j2k=-24.1615151236209, observability=1)
2025-11-03T10:03:50.386 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:50
2025-11-03T10:03:50.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:50.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29988837242126465s
2025-11-03T10:03:50.386 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29988837242126465
2025-11-03T10:03:50.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:50
2025-11-03T10:03:50.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:50.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32195591926574707s
2025-11-03T10:03:50.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32195591926574707
2025-11-03T10:03:50.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:50
2025-11-03T10:03:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.680567741394043s
2025-11-03T10:03:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.680567741394043
2025-11-03T10:03:52.387 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:52
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3010847568511963s
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:52.387 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:52.388 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2880648;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30783;2460982.83602302;10.06453833;1.3;_
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2880648;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30783;2460982.83602302;10.06453833;1.3;_
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:52.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:52.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:52.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:52.390 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2880648, teldec = -24.256598
2025-11-03T10:03:52.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2880648 -24.256598
2025-11-03T10:03:52.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2880648 -24.256598
2025-11-03T10:03:52.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2880648 -24.256598
2025-11-03T10:03:52.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2880648;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30783;2460982.83602304;10.06453833;1.3;_15.2630856404627 -24.1615336568325
2025-11-03T10:03:52.391 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2630856404627     dec_j2k = -24.1615336568325
2025-11-03T10:03:52.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:52.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:52.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968385331046471;171.162351965909;_
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968385331046471;171.162351965909;_
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:52.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:52.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:52.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:52.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:52.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:52.399 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60627)
2025-11-03T10:03:52.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:52.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:52.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:52.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:52.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:52.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:52.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:52.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83602302, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968385331046471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2880648, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2630856404627, telescope_dec_j2k=-24.1615336568325, observability=1)
2025-11-03T10:03:52.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:52
2025-11-03T10:03:52.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:52.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02238774299621582s
2025-11-03T10:03:52.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02238774299621582
2025-11-03T10:03:52.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:52
2025-11-03T10:03:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.351027250289917s
2025-11-03T10:03:52.758 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.351027250289917
2025-11-03T10:03:54.390 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:54
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9831478595733643s
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:54.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:54.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2885968;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30836;2460982.8360462;10.06506889;1.3;_
2025-11-03T10:03:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2885968;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30836;2460982.8360462;10.06506889;1.3;_
2025-11-03T10:03:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:54.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:54.393 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2885968, teldec = -24.256598
2025-11-03T10:03:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2885968 -24.256598
2025-11-03T10:03:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2885968 -24.256598
2025-11-03T10:03:54.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2885968 -24.256598
2025-11-03T10:03:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2885968;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30839;2460982.83604623;10.06509694;1.3;_15.2636172319024 -24.1615483158123
2025-11-03T10:03:54.394 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2636172319024     dec_j2k = -24.1615483158123
2025-11-03T10:03:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968384929927043;171.162362694745;_
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968384929927043;171.162362694745;_
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:54.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44003)
2025-11-03T10:03:54.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:54.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:54.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:54.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:54.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:54.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:54.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8360462, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968384929927043, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2885968, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2636172319024, telescope_dec_j2k=-24.1615483158123, observability=1)
2025-11-03T10:03:54.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:54
2025-11-03T10:03:54.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:54.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021525144577026367s
2025-11-03T10:03:54.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021525144577026367
2025-11-03T10:03:54.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:54
2025-11-03T10:03:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36345624923706055s
2025-11-03T10:03:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36345624923706055
2025-11-03T10:03:55.394 [DEBUG] [Thread-88804 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:55.394 [DEBUG] [Thread-88804 (handle)] [server.py] [get_status()] Status age = 0.983698844909668s
2025-11-03T10:03:55.394 [DEBUG] [Thread-88804 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.983698844909668
2025-11-03T10:03:56.388 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:56
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785089492797852s
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:56.389 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:56.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:56.390 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:56.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2891753;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30894;2460982.83606934;10.06564583;1.3;_
2025-11-03T10:03:56.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2891753;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30894;2460982.83606934;10.06564583;1.3;_
2025-11-03T10:03:56.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:56.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:56.391 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:56.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:56.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:56.392 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2891753, teldec = -24.256598
2025-11-03T10:03:56.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2891753 -24.256598
2025-11-03T10:03:56.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2891753 -24.256598
2025-11-03T10:03:56.392 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2891753 -24.256598
2025-11-03T10:03:56.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2891753;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30894;2460982.83606936;10.06564583;1.3;_15.2641952876931 -24.1615642582013
2025-11-03T10:03:56.393 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2641952876931     dec_j2k = -24.1615642582013
2025-11-03T10:03:56.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:56.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:56.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968392150076748;171.162346601491;_
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968392150076748;171.162346601491;_
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:56.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49671)
2025-11-03T10:03:56.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:56.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:56.398 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:56.398 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:56.399 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:56.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:56.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:56.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:56.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83606934, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968392150076748, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2891753, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30894, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2641952876931, telescope_dec_j2k=-24.1615642582013, observability=1)
2025-11-03T10:03:56.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:56
2025-11-03T10:03:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021962881088256836s
2025-11-03T10:03:56.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021962881088256836
2025-11-03T10:03:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:56
2025-11-03T10:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3569796085357666s
2025-11-03T10:03:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3569796085357666
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5849878787994385s
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:03:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:03:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:03:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2896238;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30939;2460982.83608788;10.06609306;1.3;_
2025-11-03T10:03:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.2896238;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30939;2460982.83608788;10.06609306;1.3;_
2025-11-03T10:03:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:03:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:03:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:03:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:03:57.994 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.2896238, teldec = -24.256598
2025-11-03T10:03:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2896238 -24.256598
2025-11-03T10:03:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2896238 -24.256598
2025-11-03T10:03:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2896238 -24.256598
2025-11-03T10:03:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.2896238;-24.256598;50.108536;89.99305;50.08601;90.12017;12.30939;2460982.8360879;10.06609306;1.3;_15.2646434433503 -24.1615766195553
2025-11-03T10:03:57.995 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2646434433503     dec_j2k = -24.1615766195553
2025-11-03T10:03:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:03:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:03:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968387336643611;171.162357330327;_
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968387336643611;171.162357330327;_
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:03:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47157)
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:03:57.999 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:03:58.007 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:03:58.007 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83608788, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968387336643611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2896238, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.30939, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2646434433503, telescope_dec_j2k=-24.1615766195553, observability=1)
2025-11-03T10:03:58.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:58
2025-11-03T10:03:58.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:58.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3956024646759033s
2025-11-03T10:03:58.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3956024646759033
2025-11-03T10:03:58.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:58
2025-11-03T10:03:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4174916744232178s
2025-11-03T10:03:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4174916744232178
2025-11-03T10:03:58.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:03:58
2025-11-03T10:03:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:03:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7571108341217041s
2025-11-03T10:03:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7571108341217041
2025-11-03T10:04:00.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:00
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3866922855377197s
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.290268;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31003;2460982.83611569;10.06673556;1.3;_
2025-11-03T10:04:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.290268;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31003;2460982.83611569;10.06673556;1.3;_
2025-11-03T10:04:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:00.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.290268, teldec = -24.256598
2025-11-03T10:04:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.290268 -24.256598
2025-11-03T10:04:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.290268 -24.256598
2025-11-03T10:04:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.290268 -24.256598
2025-11-03T10:04:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.290268;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31003;2460982.83611572;10.06673556;1.3;_15.2652871488233 -24.1615943770332
2025-11-03T10:04:00.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2652871488233     dec_j2k = -24.1615943770332
2025-11-03T10:04:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968388138882468;171.162362694745;_
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968388138882468;171.162362694745;_
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48385)
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:00.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:00.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:00.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:00.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:00.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:00.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:00.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:00.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83611569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968388138882468, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.290268, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31003, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2652871488233, telescope_dec_j2k=-24.1615943770332, observability=1)
2025-11-03T10:04:00.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:00
2025-11-03T10:04:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021902799606323242s
2025-11-03T10:04:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021902799606323242
2025-11-03T10:04:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:00
2025-11-03T10:04:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3530254364013672s
2025-11-03T10:04:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3530254364013672
2025-11-03T10:04:02.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:02
2025-11-03T10:04:02.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:02.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0546631813049316s
2025-11-03T10:04:02.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:02.465 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:02.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:02.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2908558;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31062;2460982.83613966;10.06732167;1.3;_
2025-11-03T10:04:02.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2908558;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31062;2460982.83613966;10.06732167;1.3;_
2025-11-03T10:04:02.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:02.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:02.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:02.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:02.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:02.468 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2908558, teldec = -24.256598
2025-11-03T10:04:02.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2908558 -24.256598
2025-11-03T10:04:02.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2908558 -24.256598
2025-11-03T10:04:02.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2908558 -24.256598
2025-11-03T10:04:02.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2908558;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31062;2460982.83613969;10.06732167;1.3;_15.2658744976619 -24.1616105822316
2025-11-03T10:04:02.469 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2658744976619     dec_j2k = -24.1616105822316
2025-11-03T10:04:02.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:02.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096839174895732;171.162368059163;_
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096839174895732;171.162368059163;_
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34579)
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:02.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:02.481 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:02.481 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83613966, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096839174895732, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2908558, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31062, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2658744976619, telescope_dec_j2k=-24.1616105822316, observability=1)
2025-11-03T10:04:02.504 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:02
2025-11-03T10:04:02.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:02.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02257847785949707s
2025-11-03T10:04:02.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02257847785949707
2025-11-03T10:04:02.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:02
2025-11-03T10:04:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27848362922668457s
2025-11-03T10:04:02.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27848362922668457
2025-11-03T10:04:04.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:04
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9208145141601562s
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2914067;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31117;2460982.8361621;10.06787111;1.3;_
2025-11-03T10:04:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2914067;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31117;2460982.8361621;10.06787111;1.3;_
2025-11-03T10:04:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:04.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2914067, teldec = -24.256598
2025-11-03T10:04:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2914067 -24.256598
2025-11-03T10:04:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2914067 -24.256598
2025-11-03T10:04:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2914067 -24.256598
2025-11-03T10:04:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2914067;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31117;2460982.83616212;10.06787111;1.3;_15.266424974883 -24.1616257722
2025-11-03T10:04:04.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.266424974883     dec_j2k = -24.1616257722
2025-11-03T10:04:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968385732165899;171.162357330327;_
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968385732165899;171.162357330327;_
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:04.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40223)
2025-11-03T10:04:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:04.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:04.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:04.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8361621, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968385732165899, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2914067, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31117, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.266424974883, telescope_dec_j2k=-24.1616257722, observability=1)
2025-11-03T10:04:04.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:04
2025-11-03T10:04:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023340702056884766s
2025-11-03T10:04:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023340702056884766
2025-11-03T10:04:04.654 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:04.654 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.23419904708862305s
2025-11-03T10:04:04.654 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23419904708862305
2025-11-03T10:04:04.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:04
2025-11-03T10:04:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3410313129425049s
2025-11-03T10:04:04.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3410313129425049
2025-11-03T10:04:06.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:06
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974717617034912s
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2919674;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31173;2460982.83618515;10.06843028;1.3;_
2025-11-03T10:04:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2919674;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31173;2460982.83618515;10.06843028;1.3;_
2025-11-03T10:04:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:06.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2919674, teldec = -24.256598
2025-11-03T10:04:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2919674 -24.256598
2025-11-03T10:04:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2919674 -24.256598
2025-11-03T10:04:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2919674 -24.256598
2025-11-03T10:04:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2919674;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31173;2460982.83618517;10.06843028;1.3;_15.2669852446431 -24.1616412344451
2025-11-03T10:04:06.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2669852446431     dec_j2k = -24.1616412344451
2025-11-03T10:04:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968390946718464;171.162357330327;_
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968390946718464;171.162357330327;_
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52773)
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:06.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:06.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:06.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:06.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:06.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:06.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:06.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:06.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:06.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83618515, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968390946718464, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2919674, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31173, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2669852446431, telescope_dec_j2k=-24.1616412344451, observability=1)
2025-11-03T10:04:06.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:06
2025-11-03T10:04:06.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:06.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021923303604125977s
2025-11-03T10:04:06.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021923303604125977
2025-11-03T10:04:06.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:06
2025-11-03T10:04:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35178089141845703s
2025-11-03T10:04:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35178089141845703
2025-11-03T10:04:08.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:08
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985619068145752s
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:08.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2924991;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31226;2460982.83620831;10.06896056;1.3;_
2025-11-03T10:04:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2924991;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31226;2460982.83620831;10.06896056;1.3;_
2025-11-03T10:04:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:08.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2924991, teldec = -24.256598
2025-11-03T10:04:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2924991 -24.256598
2025-11-03T10:04:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2924991 -24.256598
2025-11-03T10:04:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2924991 -24.256598
2025-11-03T10:04:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2924991;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31226;2460982.83620834;10.06896056;1.3;_15.2675165367115 -24.161655898887
2025-11-03T10:04:08.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2675165367115     dec_j2k = -24.161655898887
2025-11-03T10:04:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968393353435032;171.162357330327;_
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968393353435032;171.162357330327;_
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:08.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56193)
2025-11-03T10:04:08.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:08.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:08.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:08.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83620831, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968393353435032, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2924991, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31226, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2675165367115, telescope_dec_j2k=-24.161655898887, observability=1)
2025-11-03T10:04:08.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:08
2025-11-03T10:04:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02361893653869629s
2025-11-03T10:04:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02361893653869629
2025-11-03T10:04:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:08
2025-11-03T10:04:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3490290641784668s
2025-11-03T10:04:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3490290641784668
2025-11-03T10:04:10.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:10
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804677963256836s
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:10.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2930782;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31284;2460982.83623145;10.06953806;1.3;_
2025-11-03T10:04:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2930782;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31284;2460982.83623145;10.06953806;1.3;_
2025-11-03T10:04:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:10.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2930782, teldec = -24.256598
2025-11-03T10:04:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2930782 -24.256598
2025-11-03T10:04:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2930782 -24.256598
2025-11-03T10:04:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2930782 -24.256598
2025-11-03T10:04:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2930782;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31284;2460982.83623147;10.06953806;1.3;_15.2680951924753 -24.1616718727615
2025-11-03T10:04:10.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2680951924753     dec_j2k = -24.1616718727615
2025-11-03T10:04:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096839174895732;171.162362694745;_
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096839174895732;171.162362694745;_
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:10.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50733)
2025-11-03T10:04:10.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:10.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:10.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83623145, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096839174895732, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2930782, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31284, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2680951924753, telescope_dec_j2k=-24.1616718727615, observability=1)
2025-11-03T10:04:10.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:10
2025-11-03T10:04:10.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:10.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025321006774902344s
2025-11-03T10:04:10.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025321006774902344
2025-11-03T10:04:10.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:10
2025-11-03T10:04:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35056424140930176s
2025-11-03T10:04:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35056424140930176
2025-11-03T10:04:12.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:12
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822454452514648s
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:12.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2936108;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31337;2460982.83625458;10.07006917;1.3;_
2025-11-03T10:04:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2936108;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31337;2460982.83625458;10.07006917;1.3;_
2025-11-03T10:04:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:12.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2936108, teldec = -24.256598
2025-11-03T10:04:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2936108 -24.256598
2025-11-03T10:04:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2936108 -24.256598
2025-11-03T10:04:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2936108 -24.256598
2025-11-03T10:04:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2936108;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31337;2460982.83625462;10.07006917;1.3;_15.2686273839668 -24.1616865659387
2025-11-03T10:04:12.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2686273839668     dec_j2k = -24.1616865659387
2025-11-03T10:04:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096840217806245;171.162362694745;_
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096840217806245;171.162362694745;_
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48607)
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:12.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:12.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:12.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83625458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096840217806245, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2936108, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31337, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2686273839668, telescope_dec_j2k=-24.1616865659387, observability=1)
2025-11-03T10:04:12.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:12
2025-11-03T10:04:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025098323822021484s
2025-11-03T10:04:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025098323822021484
2025-11-03T10:04:12.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:12
2025-11-03T10:04:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35028910636901855s
2025-11-03T10:04:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35028910636901855
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Status age = 1.0443685054779053s
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:13.457 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 17;15.2939183;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31368;2460982.83626687;10.07037583;1.3;_
2025-11-03T10:04:13.458 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response 17;15.2939183;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31368;2460982.83626687;10.07037583;1.3;_
2025-11-03T10:04:13.459 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:13.459 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:13.459 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:13.460 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:13.460 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:13.460 [INFO] [Thread-88805 (handle)] [driver.py] [get_status()] Telra = 15.2939183, teldec = -24.256598
2025-11-03T10:04:13.460 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2939183 -24.256598
2025-11-03T10:04:13.460 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2939183 -24.256598
2025-11-03T10:04:13.460 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2939183 -24.256598
2025-11-03T10:04:13.461 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 17;15.2939183;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31368;2460982.83626691;10.07037583;1.3;_15.2689346481367 -24.161695049992
2025-11-03T10:04:13.461 [INFO] [Thread-88805 (handle)] [driver.py] [get_status()] ra_j2k = 15.2689346481367     dec_j2k = -24.161695049992
2025-11-03T10:04:13.461 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:13.461 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:13.461 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 140;0.0968396161271029;171.162351965909;_
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response 140;0.0968396161271029;171.162351965909;_
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:13.462 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:13.463 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:13.464 [DEBUG] [Thread-88805 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:13.464 [DEBUG] [Thread-88805 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:13.464 [DEBUG] [Thread-88805 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49997)
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:13.467 [DEBUG] [Thread-88805 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:13.474 [DEBUG] [Thread-88805 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:13.475 [INFO] [Thread-88805 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83626687, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968396161271029, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2939183, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31368, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2689346481367, telescope_dec_j2k=-24.161695049992, observability=1)
2025-11-03T10:04:14.178 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:04:14
2025-11-03T10:04:14.178 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:14.178 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.7035658359527588s
2025-11-03T10:04:14.178 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7035658359527588
2025-11-03T10:04:14.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:14
2025-11-03T10:04:14.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:14.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9473803043365479s
2025-11-03T10:04:14.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9473803043365479
2025-11-03T10:04:14.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:14
2025-11-03T10:04:14.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:14.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9716904163360596s
2025-11-03T10:04:14.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9716904163360596
2025-11-03T10:04:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:14
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.287665843963623s
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2942821;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31405;2460982.83628199;10.07073861;1.3;_
2025-11-03T10:04:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2942821;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31405;2460982.83628199;10.07073861;1.3;_
2025-11-03T10:04:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2942821, teldec = -24.256598
2025-11-03T10:04:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2942821 -24.256598
2025-11-03T10:04:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2942821 -24.256598
2025-11-03T10:04:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2942821 -24.256598
2025-11-03T10:04:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2942821;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31405;2460982.83628203;10.07073861;1.3;_15.269298169152 -24.1617050881927
2025-11-03T10:04:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.269298169152     dec_j2k = -24.1617050881927
2025-11-03T10:04:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968385732165899;171.162362694745;_
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968385732165899;171.162362694745;_
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47165)
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:14.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83628199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968385732165899, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2942821, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.269298169152, telescope_dec_j2k=-24.1617050881927, observability=1)
2025-11-03T10:04:16.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:16
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6146175861358643s
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:16.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2947492;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31451;2460982.83630088;10.07120444;1.3;_
2025-11-03T10:04:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2947492;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31451;2460982.83630088;10.07120444;1.3;_
2025-11-03T10:04:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:16.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2947492, teldec = -24.256598
2025-11-03T10:04:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2947492 -24.256598
2025-11-03T10:04:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2947492 -24.256598
2025-11-03T10:04:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2947492 -24.256598
2025-11-03T10:04:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2947492;-24.256598;50.108536;89.99305;50.08601;90.12017;12.31451;2460982.8363009;10.07120444;1.3;_15.2697649109876 -24.1617179779952
2025-11-03T10:04:16.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2697649109876     dec_j2k = -24.1617179779952
2025-11-03T10:04:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968397364629313;171.162362694745;_
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968397364629313;171.162362694745;_
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57013)
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:16.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:16.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83630088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968397364629313, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.99305, telescope_ra=15.2947492, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31451, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2697649109876, telescope_dec_j2k=-24.1617179779952, observability=1)
2025-11-03T10:04:16.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:16
2025-11-03T10:04:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022536277770996094s
2025-11-03T10:04:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022536277770996094
2025-11-03T10:04:16.811 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:16
2025-11-03T10:04:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3990647792816162s
2025-11-03T10:04:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3990647792816162
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.2256157398223877s
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:17.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:17.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:17.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2950857;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31485;2460982.83631528;10.07154;1.3;_
2025-11-03T10:04:17.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.2950857;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31485;2460982.83631528;10.07154;1.3;_
2025-11-03T10:04:17.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:17.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:17.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:17.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:17.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:17.641 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.2950857, teldec = -24.256598
2025-11-03T10:04:17.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.2950857 -24.256598
2025-11-03T10:04:17.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.2950857 -24.256598
2025-11-03T10:04:17.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2950857 -24.256598
2025-11-03T10:04:17.643 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.2950857;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31485;2460982.8363153;10.07154;1.3;_15.2701011529912 -24.1617272647344
2025-11-03T10:04:17.643 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.2701011529912     dec_j2k = -24.1617272647344
2025-11-03T10:04:17.643 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:17.643 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:17.643 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968401375823593;171.162346601491;_
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968401375823593;171.162346601491;_
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:17.644 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:17.645 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:17.646 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:17.646 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:17.646 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41971)
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:17.651 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:17.658 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:17.658 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:17.658 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:17.658 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:17.658 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:17.659 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:17.659 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:17.659 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:17.659 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:04:17.659 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83631528, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968401375823593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.2950857, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31485, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2701011529912, telescope_dec_j2k=-24.1617272647344, observability=1)
2025-11-03T10:04:17.659 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.4809184074401855 seconds ago
2025-11-03T10:04:18.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:18
2025-11-03T10:04:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7355751991271973s
2025-11-03T10:04:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7355751991271973
2025-11-03T10:04:18.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:18
2025-11-03T10:04:18.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:18.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7579085826873779s
2025-11-03T10:04:18.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7579085826873779
2025-11-03T10:04:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:18
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.104022741317749s
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:18.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:18.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:18.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.295394;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31516;2460982.8363283;10.0718475;1.3;_
2025-11-03T10:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.295394;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31516;2460982.8363283;10.0718475;1.3;_
2025-11-03T10:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:18.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.295394, teldec = -24.256598
2025-11-03T10:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.295394 -24.256598
2025-11-03T10:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.295394 -24.256598
2025-11-03T10:04:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.295394 -24.256598
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.295394;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31516;2460982.83632833;10.0718475;1.3;_15.2704092166349 -24.1617357738657
2025-11-03T10:04:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2704092166349     dec_j2k = -24.1617357738657
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096839174895732;171.162357330327;_
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096839174895732;171.162357330327;_
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52495)
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:18.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:18.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8363283, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096839174895732, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.295394, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31516, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:03:19.837072', telescope_ra_j2k=15.2704092166349, telescope_dec_j2k=-24.1617357738657, observability=1)
2025-11-03T10:04:19.978 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:19.978 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:19.978 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:19.978 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:19.978 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:19.979 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:19.979 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:19.980 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:19.980 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:19.980 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:19.980 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:04:19.980 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:19.980 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:19.980 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:19.980 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:19.980 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:04:19.981 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:04:19.982 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:20.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:20
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6159577369689941s
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2958427;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31561;2460982.83634722;10.072295;1.3;_
2025-11-03T10:04:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2958427;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31561;2460982.83634722;10.072295;1.3;_
2025-11-03T10:04:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:20.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2958427, teldec = -24.256598
2025-11-03T10:04:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2958427 -24.256598
2025-11-03T10:04:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2958427 -24.256598
2025-11-03T10:04:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2958427 -24.256598
2025-11-03T10:04:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2958427;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31561;2460982.83634724;10.072295;1.3;_15.2708575726744 -24.1617481591823
2025-11-03T10:04:20.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2708575726744     dec_j2k = -24.1617481591823
2025-11-03T10:04:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968394957912745;171.162368059163;_
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968394957912745;171.162368059163;_
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:20.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:20.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:20.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40455)
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:20.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83634722, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968394957912745, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.2958427, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31561, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2708575726744, telescope_dec_j2k=-24.1617481591823, observability=1)
2025-11-03T10:04:20.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:20
2025-11-03T10:04:20.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:20.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026755809783935547s
2025-11-03T10:04:20.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026755809783935547
2025-11-03T10:04:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:20
2025-11-03T10:04:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.347822904586792s
2025-11-03T10:04:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.347822904586792
2025-11-03T10:04:20.982 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:20.982 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:20.982 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:20.982 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:20.982 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:20.983 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:20.984 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:20.985 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:20.985 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:20.985 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:20.985 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:20.986 [DEBUG] [ThreadPoolExecutor-3440_0] [payload.py] [to_registers()] [0]
2025-11-03T10:04:20.990 [DEBUG] [ThreadPoolExecutor-3440_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50861)
2025-11-03T10:04:20.990 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:20.990 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:20.991 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:04:20.991 [DEBUG] [ThreadPoolExecutor-3440_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:20.991 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:20.998 [DEBUG] [ThreadPoolExecutor-3440_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:22.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:22
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776921272277832s
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:22.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2964229;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31619;2460982.8363703;10.07287361;1.3;_
2025-11-03T10:04:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2964229;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31619;2460982.8363703;10.07287361;1.3;_
2025-11-03T10:04:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:22.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2964229, teldec = -24.256598
2025-11-03T10:04:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2964229 -24.256598
2025-11-03T10:04:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2964229 -24.256598
2025-11-03T10:04:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2964229 -24.256598
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2964229;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31619;2460982.83637034;10.07287361;1.3;_15.2714373279673 -24.1617641762214
2025-11-03T10:04:22.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2714373279673     dec_j2k = -24.1617641762214
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968395760151601;171.162362694745;_
2025-11-03T10:04:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968395760151601;171.162362694745;_
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59161)
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:22.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:22.409 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:22.409 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:22.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:22.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:22.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:22.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:22.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:22.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8363703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968395760151601, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.2964229, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31619, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2714373279673, telescope_dec_j2k=-24.1617641762214, observability=1)
2025-11-03T10:04:22.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:22
2025-11-03T10:04:22.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:22.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021936893463134766s
2025-11-03T10:04:22.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021936893463134766
2025-11-03T10:04:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:22
2025-11-03T10:04:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35448765754699707s
2025-11-03T10:04:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35448765754699707
2025-11-03T10:04:24.392 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:24
2025-11-03T10:04:24.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:24.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827044010162354s
2025-11-03T10:04:24.392 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:24.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.296956;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31672;2460982.83639345;10.07340528;1.3;_
2025-11-03T10:04:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.296956;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31672;2460982.83639345;10.07340528;1.3;_
2025-11-03T10:04:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:24.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.296956, teldec = -24.256598
2025-11-03T10:04:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.296956 -24.256598
2025-11-03T10:04:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.296956 -24.256598
2025-11-03T10:04:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.296956 -24.256598
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.296956;-24.256598;50.108536;89.993049;50.08601;90.12017;12.31672;2460982.83639348;10.07340528;1.3;_15.2719700194181 -24.1617788949747
2025-11-03T10:04:24.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2719700194181     dec_j2k = -24.1617788949747
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968400172465309;171.162351965909;_
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968400172465309;171.162351965909;_
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48567)
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:24.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:24.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83639345, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968400172465309, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.296956, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31672, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2719700194181, telescope_dec_j2k=-24.1617788949747, observability=1)
2025-11-03T10:04:24.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:24
2025-11-03T10:04:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021584749221801758s
2025-11-03T10:04:24.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021584749221801758
2025-11-03T10:04:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:24
2025-11-03T10:04:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35057711601257324s
2025-11-03T10:04:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35057711601257324
2025-11-03T10:04:26.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:26
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9925389289855957s
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2975357;-24.256598;50.108536;89.993049;50.08601;90.12017;12.3173;2460982.83641674;10.07398333;1.3;_
2025-11-03T10:04:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2975357;-24.256598;50.108536;89.993049;50.08601;90.12017;12.3173;2460982.83641674;10.07398333;1.3;_
2025-11-03T10:04:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:26.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2975357, teldec = -24.256598
2025-11-03T10:04:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2975357 -24.256598
2025-11-03T10:04:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2975357 -24.256598
2025-11-03T10:04:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2975357 -24.256598
2025-11-03T10:04:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2975357;-24.256598;50.108536;89.993049;50.08601;90.12017;12.3173;2460982.83641676;10.07398333;1.3;_15.2725492752182 -24.1617949024721
2025-11-03T10:04:26.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2725492752182     dec_j2k = -24.1617949024721
2025-11-03T10:04:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968400974704165;171.162362694745;_
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968400974704165;171.162362694745;_
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:26.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52117)
2025-11-03T10:04:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:26.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:26.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:26.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83641674, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968400974704165, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108536, telescope_az=89.993049, telescope_ra=15.2975357, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3173, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2725492752182, telescope_dec_j2k=-24.1617949024721, observability=1)
2025-11-03T10:04:26.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:26
2025-11-03T10:04:26.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:26.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024915456771850586s
2025-11-03T10:04:26.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024915456771850586
2025-11-03T10:04:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:26
2025-11-03T10:04:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34513235092163086s
2025-11-03T10:04:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34513235092163086
2025-11-03T10:04:28.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:28
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0242249965667725s
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:28.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2980972;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31786;2460982.83644038;10.07454333;1.3;_
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2980972;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31786;2460982.83644038;10.07454333;1.3;_
2025-11-03T10:04:28.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:28.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:28.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:28.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:28.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:28.451 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2980972, teldec = -24.256598
2025-11-03T10:04:28.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2980972 -24.256598
2025-11-03T10:04:28.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2980972 -24.256598
2025-11-03T10:04:28.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2980972 -24.256598
2025-11-03T10:04:28.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2980972;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31786;2460982.83644042;10.07454333;1.3;_15.2731103450259 -24.1618104095207
2025-11-03T10:04:28.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2731103450259     dec_j2k = -24.1618104095207
2025-11-03T10:04:28.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:28.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:28.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968396562390457;171.162357330327;_
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968396562390457;171.162357330327;_
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42451)
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:28.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:28.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:28.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83644038, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968396562390457, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.2980972, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31786, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2731103450259, telescope_dec_j2k=-24.1618104095207, observability=1)
2025-11-03T10:04:28.485 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:28
2025-11-03T10:04:28.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:28.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021750688552856445s
2025-11-03T10:04:28.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021750688552856445
2025-11-03T10:04:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:28
2025-11-03T10:04:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2996814250946045s
2025-11-03T10:04:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2996814250946045
2025-11-03T10:04:30.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:30
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9385979175567627s
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.298629;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31839;2460982.83646301;10.07507361;1.3;_
2025-11-03T10:04:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.298629;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31839;2460982.83646301;10.07507361;1.3;_
2025-11-03T10:04:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:30.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.298629, teldec = -24.256598
2025-11-03T10:04:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.298629 -24.256598
2025-11-03T10:04:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.298629 -24.256598
2025-11-03T10:04:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.298629 -24.256598
2025-11-03T10:04:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.298629;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31839;2460982.83646303;10.07507361;1.3;_15.2736417376441 -24.161825098258
2025-11-03T10:04:30.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2736417376441     dec_j2k = -24.161825098258
2025-11-03T10:04:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968406590376158;171.162357330327;_
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968406590376158;171.162357330327;_
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38327)
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:30.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:30.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83646301, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968406590376158, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.298629, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31839, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2736417376441, telescope_dec_j2k=-24.161825098258, observability=1)
2025-11-03T10:04:30.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:30
2025-11-03T10:04:30.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:30.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023713350296020508s
2025-11-03T10:04:30.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023713350296020508
2025-11-03T10:04:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:30
2025-11-03T10:04:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3462347984313965s
2025-11-03T10:04:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3462347984313965
2025-11-03T10:04:31.577 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:31.577 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Status age = 1.160416603088379s
2025-11-03T10:04:31.577 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:31.578 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:31.579 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 17;15.2989557;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31872;2460982.83647661;10.07539944;1.3;_
2025-11-03T10:04:31.579 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response 17;15.2989557;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31872;2460982.83647661;10.07539944;1.3;_
2025-11-03T10:04:31.579 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:31.579 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:31.579 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:31.580 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:31.580 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:31.580 [INFO] [Thread-88806 (handle)] [driver.py] [get_status()] Telra = 15.2989557, teldec = -24.256598
2025-11-03T10:04:31.580 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2989557 -24.256598
2025-11-03T10:04:31.581 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2989557 -24.256598
2025-11-03T10:04:31.581 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2989557 -24.256598
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 17;15.2989557;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31872;2460982.83647663;10.07539944;1.3;_15.2739681874048 -24.1618341228966
2025-11-03T10:04:31.582 [INFO] [Thread-88806 (handle)] [driver.py] [get_status()] ra_j2k = 15.2739681874048     dec_j2k = -24.1618341228966
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 140;0.0968394556793317;171.162357330327;_
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response 140;0.0968394556793317;171.162357330327;_
2025-11-03T10:04:31.582 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:31.583 [DEBUG] [Thread-88806 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:31.584 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:31.584 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:31.584 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:31.585 [DEBUG] [Thread-88806 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:31.585 [DEBUG] [Thread-88806 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:31.585 [DEBUG] [Thread-88806 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41427)
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:31.588 [DEBUG] [Thread-88806 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:31.595 [DEBUG] [Thread-88806 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:31.595 [INFO] [Thread-88806 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83647661, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968394556793317, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.2989557, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31872, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2739681874048, telescope_dec_j2k=-24.1618341228966, observability=1)
2025-11-03T10:04:32.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:32
2025-11-03T10:04:32.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:32.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8054931163787842s
2025-11-03T10:04:32.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8054931163787842
2025-11-03T10:04:32.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:32
2025-11-03T10:04:32.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:32.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8268213272094727s
2025-11-03T10:04:32.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8268213272094727
2025-11-03T10:04:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:32
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1704299449920654s
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2992919;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31906;2460982.83649036;10.07573472;1.3;_
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.2992919;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31906;2460982.83649036;10.07573472;1.3;_
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.2992919, teldec = -24.256598
2025-11-03T10:04:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.2992919 -24.256598
2025-11-03T10:04:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.2992919 -24.256598
2025-11-03T10:04:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.2992919 -24.256598
2025-11-03T10:04:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.2992919;-24.256598;50.108535;89.993049;50.08601;90.12017;12.31906;2460982.83649038;10.07573472;1.3;_15.2743041299102 -24.161843410695
2025-11-03T10:04:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2743041299102     dec_j2k = -24.161843410695
2025-11-03T10:04:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096840217806245;171.162351965909;_
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096840217806245;171.162351965909;_
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42381)
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:32.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:32.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:32.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:32.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83649036, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096840217806245, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.2992919, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.31906, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2743041299102, telescope_dec_j2k=-24.161843410695, observability=1)
2025-11-03T10:04:34.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:34
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6071250438690186s
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.29974;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3195;2460982.8365092;10.07618167;1.3;_
2025-11-03T10:04:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.29974;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3195;2460982.8365092;10.07618167;1.3;_
2025-11-03T10:04:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:34.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.29974, teldec = -24.256598
2025-11-03T10:04:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.29974 -24.256598
2025-11-03T10:04:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.29974 -24.256598
2025-11-03T10:04:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.29974 -24.256598
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.29974;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3195;2460982.83650924;10.07618167;1.3;_15.2747518867457 -24.1618557909816
2025-11-03T10:04:34.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2747518867457     dec_j2k = -24.1618557909816
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968407392615014;171.162351965909;_
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968407392615014;171.162351965909;_
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44241)
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:34.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:34.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8365092, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968407392615014, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.29974, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3195, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2747518867457, telescope_dec_j2k=-24.1618557909816, observability=1)
2025-11-03T10:04:34.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:34
2025-11-03T10:04:34.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:34.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02141571044921875s
2025-11-03T10:04:34.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02141571044921875
2025-11-03T10:04:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:34
2025-11-03T10:04:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3505585193634033s
2025-11-03T10:04:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3505585193634033
2025-11-03T10:04:36.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:36
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9890062808990479s
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3003002;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32006;2460982.83653244;10.07674028;1.3;_
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3003002;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32006;2460982.83653244;10.07674028;1.3;_
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:36.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3003002, teldec = -24.256598
2025-11-03T10:04:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3003002 -24.256598
2025-11-03T10:04:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3003002 -24.256598
2025-11-03T10:04:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3003002 -24.256598
2025-11-03T10:04:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3003002;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32006;2460982.83653247;10.07674028;1.3;_15.2753116577869 -24.1618712702755
2025-11-03T10:04:36.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2753116577869     dec_j2k = -24.1618712702755
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968404985898446;171.162362694745;_
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968404985898446;171.162362694745;_
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58089)
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:36.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:36.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83653244, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968404985898446, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3003002, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32006, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2753116577869, telescope_dec_j2k=-24.1618712702755, observability=1)
2025-11-03T10:04:36.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:36
2025-11-03T10:04:36.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:36.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022389650344848633s
2025-11-03T10:04:36.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022389650344848633
2025-11-03T10:04:36.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:36
2025-11-03T10:04:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34398961067199707s
2025-11-03T10:04:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34398961067199707
2025-11-03T10:04:38.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:38
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9751248359680176s
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3008598;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32062;2460982.8365555;10.07729833;1.3;_
2025-11-03T10:04:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3008598;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32062;2460982.8365555;10.07729833;1.3;_
2025-11-03T10:04:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:38.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3008598, teldec = -24.256598
2025-11-03T10:04:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3008598 -24.256598
2025-11-03T10:04:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3008598 -24.256598
2025-11-03T10:04:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3008598 -24.256598
2025-11-03T10:04:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3008598;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32062;2460982.83655552;10.07729833;1.3;_15.2758708293478 -24.1618867350574
2025-11-03T10:04:38.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2758708293478     dec_j2k = -24.1618867350574
2025-11-03T10:04:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968411002689867;171.162362694745;_
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968411002689867;171.162362694745;_
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60465)
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:38.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:38.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:38.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8365555, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968411002689867, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3008598, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32062, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2758708293478, telescope_dec_j2k=-24.1618867350574, observability=1)
2025-11-03T10:04:38.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:38
2025-11-03T10:04:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022221803665161133s
2025-11-03T10:04:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022221803665161133
2025-11-03T10:04:38.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:38
2025-11-03T10:04:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3681178092956543s
2025-11-03T10:04:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3681178092956543
2025-11-03T10:04:40.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:40
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843111038208008s
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3014113;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32118;2460982.83657869;10.07784833;1.3;_
2025-11-03T10:04:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3014113;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32118;2460982.83657869;10.07784833;1.3;_
2025-11-03T10:04:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:40.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3014113, teldec = -24.256598
2025-11-03T10:04:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3014113 -24.256598
2025-11-03T10:04:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3014113 -24.256598
2025-11-03T10:04:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3014113 -24.256598
2025-11-03T10:04:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3014113;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32118;2460982.83657873;10.07784833;1.3;_15.2764219071692 -24.1619019780135
2025-11-03T10:04:40.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2764219071692     dec_j2k = -24.1619019780135
2025-11-03T10:04:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968414612764719;171.162357330327;_
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968414612764719;171.162357330327;_
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37509)
2025-11-03T10:04:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:40.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:40.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83657869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968414612764719, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3014113, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32118, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2764219071692, telescope_dec_j2k=-24.1619019780135, observability=1)
2025-11-03T10:04:40.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:40
2025-11-03T10:04:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02230238914489746s
2025-11-03T10:04:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02230238914489746
2025-11-03T10:04:40.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:40
2025-11-03T10:04:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3527491092681885s
2025-11-03T10:04:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3527491092681885
2025-11-03T10:04:42.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:42
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839601516723633s
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3019717;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32174;2460982.83660187;10.07840722;1.3;_
2025-11-03T10:04:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3019717;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32174;2460982.83660187;10.07840722;1.3;_
2025-11-03T10:04:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:42.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3019717, teldec = -24.256598
2025-11-03T10:04:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3019717 -24.256598
2025-11-03T10:04:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3019717 -24.256598
2025-11-03T10:04:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3019717 -24.256598
2025-11-03T10:04:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3019717;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32174;2460982.8366019;10.07840722;1.3;_15.2769818782376 -24.1619174690123
2025-11-03T10:04:42.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2769818782376     dec_j2k = -24.1619174690123
2025-11-03T10:04:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968411002689867;171.162346601491;_
2025-11-03T10:04:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968411002689867;171.162346601491;_
2025-11-03T10:04:42.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:42.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46001)
2025-11-03T10:04:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:42.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:42.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:42.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83660187, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968411002689867, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3019717, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32174, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2769818782376, telescope_dec_j2k=-24.1619174690123, observability=1)
2025-11-03T10:04:42.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:42
2025-11-03T10:04:42.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:42.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02208113670349121s
2025-11-03T10:04:42.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02208113670349121
2025-11-03T10:04:42.921 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:42
2025-11-03T10:04:42.921 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:42.921 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.49976468086242676s
2025-11-03T10:04:42.921 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.49976468086242676
2025-11-03T10:04:44.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:44
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979261875152588s
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3025313;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3223;2460982.83662502;10.07896528;1.3;_
2025-11-03T10:04:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3025313;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3223;2460982.83662502;10.07896528;1.3;_
2025-11-03T10:04:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:44.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3025313, teldec = -24.256598
2025-11-03T10:04:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3025313 -24.256598
2025-11-03T10:04:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3025313 -24.256598
2025-11-03T10:04:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3025313 -24.256598
2025-11-03T10:04:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3025313;-24.256598;50.108535;89.993049;50.08601;90.12017;12.3223;2460982.83662506;10.07896528;1.3;_15.2775410499786 -24.1619329399634
2025-11-03T10:04:44.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2775410499786     dec_j2k = -24.1619329399634
2025-11-03T10:04:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968415415003575;171.162346601491;_
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968415415003575;171.162346601491;_
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54505)
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:44.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:44.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:44.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:44.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:44.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:44.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:44.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:44.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83662502, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968415415003575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3025313, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2775410499786, telescope_dec_j2k=-24.1619329399634, observability=1)
2025-11-03T10:04:44.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:44
2025-11-03T10:04:44.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:44.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024367094039916992s
2025-11-03T10:04:44.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024367094039916992
2025-11-03T10:04:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:44
2025-11-03T10:04:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34895849227905273s
2025-11-03T10:04:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34895849227905273
2025-11-03T10:04:45.998 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:45.998 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:45.998 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:45.998 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:45.999 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:45.999 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:46.000 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:04:46.001 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:04:46.002 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:46.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:46
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9983294010162354s
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:46.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:46.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:46.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:46.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:46.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3031104;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32287;2460982.83664838;10.07954278;1.3;_
2025-11-03T10:04:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3031104;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32287;2460982.83664838;10.07954278;1.3;_
2025-11-03T10:04:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:46.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:46.421 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3031104, teldec = -24.256598
2025-11-03T10:04:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3031104 -24.256598
2025-11-03T10:04:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3031104 -24.256598
2025-11-03T10:04:46.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3031104 -24.256598
2025-11-03T10:04:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3031104;-24.256598;50.108535;89.993049;50.08601;90.12017;12.32287;2460982.8366484;10.07954278;1.3;_15.2781197068599 -24.1619489521939
2025-11-03T10:04:46.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2781197068599     dec_j2k = -24.1619489521939
2025-11-03T10:04:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:46.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968417019481288;171.162362694745;_
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968417019481288;171.162362694745;_
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:46.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:46.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:46.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:46.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43461)
2025-11-03T10:04:46.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:46.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:46.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:46.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:46.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:46.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:46.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83664838, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968417019481288, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3031104, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32287, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2781197068599, telescope_dec_j2k=-24.1619489521939, observability=1)
2025-11-03T10:04:46.457 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:46
2025-11-03T10:04:46.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:46.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022931575775146484s
2025-11-03T10:04:46.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022931575775146484
2025-11-03T10:04:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:46
2025-11-03T10:04:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33834362030029297s
2025-11-03T10:04:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33834362030029297
2025-11-03T10:04:48.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:48
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9649229049682617s
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3036429;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32341;2460982.83667131;10.08007389;1.3;_
2025-11-03T10:04:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3036429;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32341;2460982.83667131;10.08007389;1.3;_
2025-11-03T10:04:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:48.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3036429, teldec = -24.256597
2025-11-03T10:04:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3036429 -24.256597
2025-11-03T10:04:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3036429 -24.256597
2025-11-03T10:04:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3036429 -24.256597
2025-11-03T10:04:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3036429;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32341;2460982.83667133;10.08007389;1.3;_15.2786517996036 -24.1619626778989
2025-11-03T10:04:48.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2786517996036     dec_j2k = -24.1619626778989
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968413409406435;171.162357330327;_
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968413409406435;171.162357330327;_
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:48.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45325)
2025-11-03T10:04:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:48.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:48.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:48.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83667131, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968413409406435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3036429, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32341, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2786517996036, telescope_dec_j2k=-24.1619626778989, observability=1)
2025-11-03T10:04:48.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:48
2025-11-03T10:04:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021611690521240234s
2025-11-03T10:04:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021611690521240234
2025-11-03T10:04:48.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:48
2025-11-03T10:04:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34903812408447266s
2025-11-03T10:04:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34903812408447266
2025-11-03T10:04:49.648 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Status age = 1.2303550243377686s
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:49.649 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 17;15.3040067;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32377;2460982.83668576;10.08043667;1.3;_
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response 17;15.3040067;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32377;2460982.83668576;10.08043667;1.3;_
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:49.650 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:49.651 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:49.651 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:49.651 [INFO] [Thread-88807 (handle)] [driver.py] [get_status()] Telra = 15.3040067, teldec = -24.256597
2025-11-03T10:04:49.652 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3040067 -24.256597
2025-11-03T10:04:49.652 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3040067 -24.256597
2025-11-03T10:04:49.652 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3040067 -24.256597
2025-11-03T10:04:49.653 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 17;15.3040067;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32377;2460982.83668579;10.08043667;1.3;_15.2790153212996 -24.1619727394491
2025-11-03T10:04:49.653 [INFO] [Thread-88807 (handle)] [driver.py] [get_status()] ra_j2k = 15.2790153212996     dec_j2k = -24.1619727394491
2025-11-03T10:04:49.653 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:49.653 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:49.653 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 140;0.0968418623959;171.162368059163;_
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response 140;0.0968418623959;171.162368059163;_
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:49.654 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:49.655 [DEBUG] [Thread-88807 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:49.655 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:49.655 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:49.655 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:49.656 [DEBUG] [Thread-88807 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:49.656 [DEBUG] [Thread-88807 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:49.656 [DEBUG] [Thread-88807 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59087)
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:49.660 [DEBUG] [Thread-88807 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:49.667 [DEBUG] [Thread-88807 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:49.667 [DEBUG] [Thread-88807 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:49.667 [DEBUG] [Thread-88807 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:49.667 [DEBUG] [Thread-88807 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:49.668 [DEBUG] [Thread-88807 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:49.668 [DEBUG] [Thread-88807 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:49.668 [DEBUG] [Thread-88807 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:49.668 [DEBUG] [Thread-88807 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:49.668 [DEBUG] [Thread-88807 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:49.668 [INFO] [Thread-88807 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83668576, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968418623959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3040067, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32377, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2790153212996, telescope_dec_j2k=-24.1619727394491, observability=1)
2025-11-03T10:04:50.135 [DEBUG] [Thread-88808 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:50.135 [DEBUG] [Thread-88808 (handle)] [server.py] [get_status()] Status age = 0.4671354293823242s
2025-11-03T10:04:50.135 [DEBUG] [Thread-88808 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4671354293823242
2025-11-03T10:04:50.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:50
2025-11-03T10:04:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7352962493896484s
2025-11-03T10:04:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7352962493896484
2025-11-03T10:04:50.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:50
2025-11-03T10:04:50.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:50.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7582361698150635s
2025-11-03T10:04:50.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7582361698150635
2025-11-03T10:04:50.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:50
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0990879535675049s
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3043145;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32408;2460982.8366987;10.08074361;1.3;_
2025-11-03T10:04:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3043145;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32408;2460982.8366987;10.08074361;1.3;_
2025-11-03T10:04:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3043145, teldec = -24.256597
2025-11-03T10:04:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3043145 -24.256597
2025-11-03T10:04:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3043145 -24.256597
2025-11-03T10:04:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3043145 -24.256597
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3043145;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32408;2460982.83669874;10.08074361;1.3;_15.279322885855 -24.1619812528986
2025-11-03T10:04:50.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.279322885855     dec_j2k = -24.1619812528986
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968413409406435;171.162357330327;_
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968413409406435;171.162357330327;_
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:04:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37623)
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:50.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:50.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8366987, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968413409406435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3043145, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.279322885855, telescope_dec_j2k=-24.1619812528986, observability=1)
2025-11-03T10:04:52.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:52
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6101610660552979s
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:52.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3047538;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32452;2460982.83671756;10.08118167;1.3;_
2025-11-03T10:04:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3047538;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32452;2460982.83671756;10.08118167;1.3;_
2025-11-03T10:04:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:52.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3047538, teldec = -24.256597
2025-11-03T10:04:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3047538 -24.256597
2025-11-03T10:04:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3047538 -24.256597
2025-11-03T10:04:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3047538 -24.256597
2025-11-03T10:04:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3047538;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32452;2460982.83671758;10.08118167;1.3;_15.2797618498542 -24.1619934045921
2025-11-03T10:04:52.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2797618498542     dec_j2k = -24.1619934045921
2025-11-03T10:04:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968413409406435;171.162362694745;_
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968413409406435;171.162362694745;_
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50011)
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:52.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:52.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:52.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:52.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83671756, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968413409406435, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3047538, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32452, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2797618498542, telescope_dec_j2k=-24.1619934045921, observability=1)
2025-11-03T10:04:52.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:52
2025-11-03T10:04:52.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:52.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021819353103637695s
2025-11-03T10:04:52.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021819353103637695
2025-11-03T10:04:52.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:52
2025-11-03T10:04:52.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34985947608947754s
2025-11-03T10:04:52.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34985947608947754
2025-11-03T10:04:54.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:54
2025-11-03T10:04:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848833084106445s
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3053142;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32508;2460982.83674071;10.08174056;1.3;_
2025-11-03T10:04:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3053142;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32508;2460982.83674071;10.08174056;1.3;_
2025-11-03T10:04:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:54.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3053142, teldec = -24.256597
2025-11-03T10:04:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3053142 -24.256597
2025-11-03T10:04:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3053142 -24.256597
2025-11-03T10:04:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3053142 -24.256597
2025-11-03T10:04:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3053142;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32508;2460982.83674073;10.08174056;1.3;_15.2803218212834 -24.1620089079379
2025-11-03T10:04:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2803218212834     dec_j2k = -24.1620089079379
2025-11-03T10:04:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968418623959;171.162362694745;_
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968418623959;171.162362694745;_
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52291)
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:54.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:54.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:54.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83674071, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968418623959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3053142, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32508, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2803218212834, telescope_dec_j2k=-24.1620089079379, observability=1)
2025-11-03T10:04:54.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:54
2025-11-03T10:04:54.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:54.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02182912826538086s
2025-11-03T10:04:54.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02182912826538086
2025-11-03T10:04:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:54
2025-11-03T10:04:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3539004325866699s
2025-11-03T10:04:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3539004325866699
2025-11-03T10:04:56.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:56
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9842267036437988s
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3058738;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32564;2460982.83676384;10.08229861;1.3;_
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3058738;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32564;2460982.83676384;10.08229861;1.3;_
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:56.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3058738, teldec = -24.256597
2025-11-03T10:04:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3058738 -24.256597
2025-11-03T10:04:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3058738 -24.256597
2025-11-03T10:04:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3058738 -24.256597
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3058738;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32564;2460982.83676388;10.08229861;1.3;_15.2808809933849 -24.1620243912164
2025-11-03T10:04:56.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2808809933849     dec_j2k = -24.1620243912164
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968423437392136;171.162351965909;_
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968423437392136;171.162351965909;_
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56455)
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:56.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:56.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83676384, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968423437392136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3058738, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2808809933849, telescope_dec_j2k=-24.1620243912164, observability=1)
2025-11-03T10:04:56.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:56
2025-11-03T10:04:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023094654083251953s
2025-11-03T10:04:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023094654083251953
2025-11-03T10:04:56.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:56
2025-11-03T10:04:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.360825777053833s
2025-11-03T10:04:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.360825777053833
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5625107288360596s
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:04:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:04:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:04:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3063122;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32608;2460982.83678212;10.08273583;1.3;_
2025-11-03T10:04:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.3063122;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32608;2460982.83678212;10.08273583;1.3;_
2025-11-03T10:04:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:04:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:04:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:04:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:04:57.976 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.3063122, teldec = -24.256597
2025-11-03T10:04:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3063122 -24.256597
2025-11-03T10:04:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3063122 -24.256597
2025-11-03T10:04:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3063122 -24.256597
2025-11-03T10:04:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3063122;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32608;2460982.83678214;10.08273583;1.3;_15.2813190582041 -24.1620365225168
2025-11-03T10:04:57.977 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2813190582041     dec_j2k = -24.1620365225168
2025-11-03T10:04:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:04:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968424640750421;171.162351965909;_
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968424640750421;171.162351965909;_
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:04:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:04:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:04:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:04:57.984 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33161)
2025-11-03T10:04:57.984 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:04:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:04:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:04:57.985 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:04:57.985 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:04:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:04:57.992 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83678212, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968424640750421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3063122, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32608, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2813190582041, telescope_dec_j2k=-24.1620365225168, observability=1)
2025-11-03T10:04:58.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:58
2025-11-03T10:04:58.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:58.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4093630313873291s
2025-11-03T10:04:58.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4093630313873291
2025-11-03T10:04:58.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:58
2025-11-03T10:04:58.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:58.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43119072914123535s
2025-11-03T10:04:58.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43119072914123535
2025-11-03T10:04:58.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:04:58
2025-11-03T10:04:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:04:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7736518383026123s
2025-11-03T10:04:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7736518383026123
2025-11-03T10:05:00.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:00
2025-11-03T10:05:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4024033546447754s
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3069849;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32675;2460982.83681015;10.08340667;1.3;_
2025-11-03T10:05:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3069849;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32675;2460982.83681015;10.08340667;1.3;_
2025-11-03T10:05:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:00.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3069849, teldec = -24.256597
2025-11-03T10:05:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3069849 -24.256597
2025-11-03T10:05:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3069849 -24.256597
2025-11-03T10:05:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3069849 -24.256597
2025-11-03T10:05:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3069849;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32675;2460982.83681017;10.08340667;1.3;_15.2819912439603 -24.1620551397721
2025-11-03T10:05:00.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2819912439603     dec_j2k = -24.1620551397721
2025-11-03T10:05:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968420228436712;171.162362694745;_
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968420228436712;171.162362694745;_
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:00.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41801)
2025-11-03T10:05:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:00.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:00.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:00.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:00.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83681015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968420228436712, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3069849, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32675, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2819912439603, telescope_dec_j2k=-24.1620551397721, observability=1)
2025-11-03T10:05:00.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:00
2025-11-03T10:05:00.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:00.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022082805633544922s
2025-11-03T10:05:00.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022082805633544922
2025-11-03T10:05:00.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:00
2025-11-03T10:05:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35158681869506836s
2025-11-03T10:05:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35158681869506836
2025-11-03T10:05:02.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:02
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.054818630218506s
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:02.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:02.471 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3075734;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32734;2460982.83683417;10.08399361;1.3;_
2025-11-03T10:05:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3075734;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32734;2460982.83683417;10.08399361;1.3;_
2025-11-03T10:05:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:02.472 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:02.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:02.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:02.473 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3075734, teldec = -24.256597
2025-11-03T10:05:02.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3075734 -24.256597
2025-11-03T10:05:02.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3075734 -24.256597
2025-11-03T10:05:02.473 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3075734 -24.256597
2025-11-03T10:05:02.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3075734;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32734;2460982.83683419;10.08399361;1.3;_15.2825792941545 -24.1620714292008
2025-11-03T10:05:02.474 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2825792941545     dec_j2k = -24.1620714292008
2025-11-03T10:05:02.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:02.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:02.474 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968421030675568;171.162357330327;_
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968421030675568;171.162357330327;_
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:02.475 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:02.476 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:02.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:02.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:02.477 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44973)
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:02.483 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:02.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:02.491 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83683417, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968421030675568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3075734, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2825792941545, telescope_dec_j2k=-24.1620714292008, observability=1)
2025-11-03T10:05:02.512 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:02
2025-11-03T10:05:02.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:02.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02179121971130371s
2025-11-03T10:05:02.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02179121971130371
2025-11-03T10:05:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:02
2025-11-03T10:05:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27395033836364746s
2025-11-03T10:05:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27395033836364746
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.2551615238189697s
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:03.746 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:03.747 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3079369;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3277;2460982.83684892;10.08435611;1.3;_
2025-11-03T10:05:03.747 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.3079369;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3277;2460982.83684892;10.08435611;1.3;_
2025-11-03T10:05:03.747 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:03.747 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:03.748 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:03.749 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:03.749 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:03.749 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.3079369, teldec = -24.256597
2025-11-03T10:05:03.749 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3079369 -24.256597
2025-11-03T10:05:03.749 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3079369 -24.256597
2025-11-03T10:05:03.749 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3079369 -24.256597
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3079369;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3277;2460982.83684896;10.08435611;1.3;_15.2829425163555 -24.1620814918647
2025-11-03T10:05:03.750 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.2829425163555     dec_j2k = -24.1620814918647
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968421030675568;171.162362694745;_
2025-11-03T10:05:03.750 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968421030675568;171.162362694745;_
2025-11-03T10:05:03.751 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:03.751 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:03.751 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:03.751 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:03.751 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:03.752 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:03.752 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:03.752 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:03.752 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:03.752 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:03.753 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:03.753 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:03.753 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:03.755 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56617)
2025-11-03T10:05:03.756 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:03.756 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:03.756 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:03.756 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:03.756 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:03.763 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:03.763 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83684892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968421030675568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3079369, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3277, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2829425163555, telescope_dec_j2k=-24.1620814918647, observability=1)
2025-11-03T10:05:04.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:04
2025-11-03T10:05:04.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:04.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6534841060638428s
2025-11-03T10:05:04.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6534841060638428
2025-11-03T10:05:04.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:04
2025-11-03T10:05:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6799829006195068s
2025-11-03T10:05:04.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6799829006195068
2025-11-03T10:05:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:04
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0006258487701416s
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:04.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3082077;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32797;2460982.83686072;10.08462611;1.3;_
2025-11-03T10:05:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3082077;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32797;2460982.83686072;10.08462611;1.3;_
2025-11-03T10:05:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:04.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3082077, teldec = -24.256597
2025-11-03T10:05:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3082077 -24.256597
2025-11-03T10:05:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3082077 -24.256597
2025-11-03T10:05:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3082077 -24.256597
2025-11-03T10:05:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3082077;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32797;2460982.83686074;10.08462611;1.3;_15.2832131094174 -24.1620889889071
2025-11-03T10:05:04.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2832131094174     dec_j2k = -24.1620889889071
2025-11-03T10:05:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968421030675568;171.162357330327;_
2025-11-03T10:05:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968421030675568;171.162357330327;_
2025-11-03T10:05:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60801)
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:04.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:04.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:04.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83686072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968421030675568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3082077, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2832131094174, telescope_dec_j2k=-24.1620889889071, observability=1)
2025-11-03T10:05:06.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:06
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.613511562347412s
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3086567;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32842;2460982.83687963;10.08507389;1.3;_
2025-11-03T10:05:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3086567;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32842;2460982.83687963;10.08507389;1.3;_
2025-11-03T10:05:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:06.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3086567, teldec = -24.256597
2025-11-03T10:05:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3086567 -24.256597
2025-11-03T10:05:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3086567 -24.256597
2025-11-03T10:05:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3086567 -24.256597
2025-11-03T10:05:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3086567;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32842;2460982.83687965;10.08507389;1.3;_15.283661766335 -24.1621014204435
2025-11-03T10:05:06.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.283661766335     dec_j2k = -24.1621014204435
2025-11-03T10:05:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968420228436712;171.162357330327;_
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968420228436712;171.162357330327;_
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:06.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52771)
2025-11-03T10:05:06.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:06.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:06.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:06.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:06.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83687963, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968420228436712, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3086567, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.283661766335, telescope_dec_j2k=-24.1621014204435, observability=1)
2025-11-03T10:05:06.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:06
2025-11-03T10:05:06.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:06.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02260732650756836s
2025-11-03T10:05:06.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02260732650756836
2025-11-03T10:05:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:06
2025-11-03T10:05:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3529372215270996s
2025-11-03T10:05:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3529372215270996
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Status age = 1.2914040088653564s
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:07.707 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:07.708 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:07.709 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 17;15.3090215;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32879;2460982.83689478;10.08543778;1.3;_
2025-11-03T10:05:07.709 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response 17;15.3090215;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32879;2460982.83689478;10.08543778;1.3;_
2025-11-03T10:05:07.709 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:07.709 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:07.710 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:07.710 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:07.710 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:07.711 [INFO] [Thread-88809 (handle)] [driver.py] [get_status()] Telra = 15.3090215, teldec = -24.256597
2025-11-03T10:05:07.711 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3090215 -24.256597
2025-11-03T10:05:07.711 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3090215 -24.256597
2025-11-03T10:05:07.711 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3090215 -24.256597
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 17;15.3090215;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32879;2460982.83689482;10.08543778;1.3;_15.2840262876186 -24.1621115216978
2025-11-03T10:05:07.712 [INFO] [Thread-88809 (handle)] [driver.py] [get_status()] ra_j2k = 15.2840262876186     dec_j2k = -24.1621115216978
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 140;0.0968421431794996;171.162357330327;_
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response 140;0.0968421431794996;171.162357330327;_
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:07.712 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:07.713 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:07.714 [DEBUG] [Thread-88809 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:07.714 [DEBUG] [Thread-88809 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:07.714 [DEBUG] [Thread-88809 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48435)
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:07.717 [DEBUG] [Thread-88809 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:07.724 [DEBUG] [Thread-88809 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:07.725 [INFO] [Thread-88809 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83689478, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968421431794996, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3090215, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32879, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2840262876186, telescope_dec_j2k=-24.1621115216978, observability=1)
2025-11-03T10:05:08.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:08
2025-11-03T10:05:08.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:08.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6686127185821533s
2025-11-03T10:05:08.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6686127185821533
2025-11-03T10:05:08.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:08
2025-11-03T10:05:08.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:08.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6901426315307617s
2025-11-03T10:05:08.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6901426315307617
2025-11-03T10:05:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:08
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0413649082183838s
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3093296;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32909;2460982.83690704;10.085745;1.3;_
2025-11-03T10:05:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3093296;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32909;2460982.83690704;10.085745;1.3;_
2025-11-03T10:05:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3093296, teldec = -24.256597
2025-11-03T10:05:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3093296 -24.256597
2025-11-03T10:05:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3093296 -24.256597
2025-11-03T10:05:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3093296 -24.256597
2025-11-03T10:05:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3093296;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32909;2460982.83690706;10.085745;1.3;_15.2843341522425 -24.1621200536202
2025-11-03T10:05:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2843341522425     dec_j2k = -24.1621200536202
2025-11-03T10:05:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968423838511565;171.162346601491;_
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968423838511565;171.162346601491;_
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33353)
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:08.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:08.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83690704, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968423838511565, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3093296, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32909, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2843341522425, telescope_dec_j2k=-24.1621200536202, observability=1)
2025-11-03T10:05:10.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:10
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6158342361450195s
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3097962;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32956;2460982.83692596;10.08621028;1.3;_
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3097962;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32956;2460982.83692596;10.08621028;1.3;_
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:10.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3097962, teldec = -24.256597
2025-11-03T10:05:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3097962 -24.256597
2025-11-03T10:05:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3097962 -24.256597
2025-11-03T10:05:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3097962 -24.256597
2025-11-03T10:05:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3097962;-24.256597;50.108535;89.993049;50.08601;90.12017;12.32956;2460982.83692598;10.08621028;1.3;_15.2848003958136 -24.1621329759227
2025-11-03T10:05:10.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2848003958136     dec_j2k = -24.1621329759227
2025-11-03T10:05:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968422234033852;171.162346601491;_
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968422234033852;171.162346601491;_
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43683)
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:10.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:10.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83692596, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968422234033852, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3097962, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.32956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2848003958136, telescope_dec_j2k=-24.1621329759227, observability=1)
2025-11-03T10:05:10.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:10
2025-11-03T10:05:10.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:10.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02231311798095703s
2025-11-03T10:05:10.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02231311798095703
2025-11-03T10:05:10.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:10
2025-11-03T10:05:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3459584712982178s
2025-11-03T10:05:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3459584712982178
2025-11-03T10:05:12.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:12
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781908988952637s
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3103287;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33009;2460982.83694909;10.08674139;1.3;_
2025-11-03T10:05:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3103287;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33009;2460982.83694909;10.08674139;1.3;_
2025-11-03T10:05:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:12.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3103287, teldec = -24.256597
2025-11-03T10:05:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3103287 -24.256597
2025-11-03T10:05:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3103287 -24.256597
2025-11-03T10:05:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3103287 -24.256597
2025-11-03T10:05:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3103287;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33009;2460982.83694911;10.08674139;1.3;_15.285332489096 -24.1621477250499
2025-11-03T10:05:12.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.285332489096     dec_j2k = -24.1621477250499
2025-11-03T10:05:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968424239630993;171.162346601491;_
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968424239630993;171.162346601491;_
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:12.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48025)
2025-11-03T10:05:12.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:12.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:12.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:12.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:12.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:12.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:12.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83694909, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968424239630993, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3103287, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33009, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.285332489096, telescope_dec_j2k=-24.1621477250499, observability=1)
2025-11-03T10:05:12.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:12
2025-11-03T10:05:12.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:12.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021736621856689453s
2025-11-03T10:05:12.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021736621856689453
2025-11-03T10:05:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:12
2025-11-03T10:05:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34728336334228516s
2025-11-03T10:05:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34728336334228516
2025-11-03T10:05:14.239 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:05:14
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8220901489257812s
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:14.239 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.310861;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33063;2460982.83697037;10.08727222;1.3;_
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.310861;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33063;2460982.83697037;10.08727222;1.3;_
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:14.240 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:14.241 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:14.241 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:14.241 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.310861, teldec = -24.256597
2025-11-03T10:05:14.241 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.310861 -24.256597
2025-11-03T10:05:14.241 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.310861 -24.256597
2025-11-03T10:05:14.242 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.310861 -24.256597
2025-11-03T10:05:14.243 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.310861;-24.256597;50.108535;89.993049;50.08601;90.12017;12.33063;2460982.83697039;10.08727222;1.3;_15.2858643825859 -24.1621624705019
2025-11-03T10:05:14.243 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.2858643825859     dec_j2k = -24.1621624705019
2025-11-03T10:05:14.243 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:14.243 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:14.243 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968423437392136;171.162351965909;_
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968423437392136;171.162351965909;_
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:14.244 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:14.245 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:14.245 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:14.245 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:14.245 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:14.245 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:14.247 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41261)
2025-11-03T10:05:14.248 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:14.248 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:14.248 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:14.248 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:14.248 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:14.255 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:14.256 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83697037, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968423437392136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.310861, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2858643825859, telescope_dec_j2k=-24.1621624705019, observability=1)
2025-11-03T10:05:14.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:14
2025-11-03T10:05:14.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:14.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13732576370239258s
2025-11-03T10:05:14.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13732576370239258
2025-11-03T10:05:14.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:14
2025-11-03T10:05:14.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:14.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1587543487548828s
2025-11-03T10:05:14.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1587543487548828
2025-11-03T10:05:14.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:14
2025-11-03T10:05:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5087888240814209s
2025-11-03T10:05:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5087888240814209
2025-11-03T10:05:16.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:16
2025-11-03T10:05:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.143958568572998s
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3114395;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3312;2460982.83699539;10.08784917;1.3;_
2025-11-03T10:05:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3114395;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3312;2460982.83699539;10.08784917;1.3;_
2025-11-03T10:05:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:16.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3114395, teldec = -24.256597
2025-11-03T10:05:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3114395 -24.256597
2025-11-03T10:05:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3114395 -24.256597
2025-11-03T10:05:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3114395 -24.256597
2025-11-03T10:05:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3114395;-24.256597;50.108535;89.993049;50.08601;90.12017;12.3312;2460982.83699542;10.08784917;1.3;_15.2864424408555 -24.1621784978715
2025-11-03T10:05:16.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2864424408555     dec_j2k = -24.1621784978715
2025-11-03T10:05:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968426646347561;171.162357330327;_
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968426646347561;171.162357330327;_
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:16.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35269)
2025-11-03T10:05:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:16.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:16.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:16.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83699539, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968426646347561, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108535, telescope_az=89.993049, telescope_ra=15.3114395, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3312, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2864424408555, telescope_dec_j2k=-24.1621784978715, observability=1)
2025-11-03T10:05:16.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:16
2025-11-03T10:05:16.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:16.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02306056022644043s
2025-11-03T10:05:16.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02306056022644043
2025-11-03T10:05:16.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:16
2025-11-03T10:05:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35120129585266113s
2025-11-03T10:05:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35120129585266113
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.296617031097412s
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:17.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:17.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.311832;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3316;2460982.83701066;10.08824056;1.3;_
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.311832;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3316;2460982.83701066;10.08824056;1.3;_
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:17.722 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:17.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:17.723 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.311832, teldec = -24.256597
2025-11-03T10:05:17.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.311832 -24.256597
2025-11-03T10:05:17.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.311832 -24.256597
2025-11-03T10:05:17.723 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.311832 -24.256597
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.311832;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3316;2460982.83701069;10.08824056;1.3;_15.2868346411875 -24.1621893733556
2025-11-03T10:05:17.724 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.2868346411875     dec_j2k = -24.1621893733556
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968427849705845;171.162351965909;_
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968427849705845;171.162351965909;_
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:17.724 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:17.725 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:17.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:17.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:17.726 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:17.727 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41605)
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:17.733 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:17.741 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:05:17.741 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83701066, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968427849705845, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.311832, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2868346411875, telescope_dec_j2k=-24.1621893733556, observability=1)
2025-11-03T10:05:17.741 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5022170543670654 seconds ago
2025-11-03T10:05:18.660 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:18
2025-11-03T10:05:18.660 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:18.660 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9193832874298096s
2025-11-03T10:05:18.660 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9193832874298096
2025-11-03T10:05:18.690 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:18
2025-11-03T10:05:18.690 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:18.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9494950771331787s
2025-11-03T10:05:18.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9494950771331787
2025-11-03T10:05:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:18
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0265538692474365s
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3121122;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33188;2460982.83702279;10.08852;1.3;_
2025-11-03T10:05:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3121122;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33188;2460982.83702279;10.08852;1.3;_
2025-11-03T10:05:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3121122, teldec = -24.256597
2025-11-03T10:05:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3121122 -24.256597
2025-11-03T10:05:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3121122 -24.256597
2025-11-03T10:05:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3121122 -24.256597
2025-11-03T10:05:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3121122;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33188;2460982.83702281;10.08852;1.3;_15.2871146272771 -24.1621971378242
2025-11-03T10:05:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2871146272771     dec_j2k = -24.1621971378242
2025-11-03T10:05:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968427448586417;171.162351965909;_
2025-11-03T10:05:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968427448586417;171.162351965909;_
2025-11-03T10:05:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53255)
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83702279, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968427448586417, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3121122, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33188, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:04:19.977873', telescope_ra_j2k=15.2871146272771, telescope_dec_j2k=-24.1621971378242, observability=1)
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:20.121 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:20.121 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:20.122 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:20.122 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:20.122 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:20.122 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:05:20.123 [INFO] [ThreadPoolExecutor-3441_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:05:20.123 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T10:05:20.599 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:20
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8140811920166016s
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:20.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:20.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:20.601 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3126167;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33238;2460982.83704399;10.08902306;1.3;_
2025-11-03T10:05:20.601 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3126167;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33238;2460982.83704399;10.08902306;1.3;_
2025-11-03T10:05:20.601 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:20.601 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:20.601 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:20.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:20.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:20.602 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3126167, teldec = -24.256597
2025-11-03T10:05:20.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3126167 -24.256597
2025-11-03T10:05:20.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3126167 -24.256597
2025-11-03T10:05:20.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3126167 -24.256597
2025-11-03T10:05:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3126167;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33238;2460982.83704403;10.08902306;1.3;_15.2876187421698 -24.1622111190484
2025-11-03T10:05:20.604 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2876187421698     dec_j2k = -24.1622111190484
2025-11-03T10:05:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:20.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968421832914424;171.162357330327;_
2025-11-03T10:05:20.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968421832914424;171.162357330327;_
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:20.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:20.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:20.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35433)
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:20.612 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:20.620 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:20.620 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83704399, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968421832914424, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3126167, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2876187421698, telescope_dec_j2k=-24.1622111190484, observability=1)
2025-11-03T10:05:20.643 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:20
2025-11-03T10:05:20.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:20.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022884130477905273s
2025-11-03T10:05:20.643 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022884130477905273
2025-11-03T10:05:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:20
2025-11-03T10:05:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.14036107063293457s
2025-11-03T10:05:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14036107063293457
2025-11-03T10:05:22.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:22
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8303675651550293s
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3131392;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3329;2460982.83706542;10.08954417;1.3;_
2025-11-03T10:05:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3131392;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3329;2460982.83706542;10.08954417;1.3;_
2025-11-03T10:05:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:22.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3131392, teldec = -24.256597
2025-11-03T10:05:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3131392 -24.256597
2025-11-03T10:05:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3131392 -24.256597
2025-11-03T10:05:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3131392 -24.256597
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3131392;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3329;2460982.83706545;10.08954417;1.3;_15.2881408433741 -24.1622256008711
2025-11-03T10:05:22.455 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2881408433741     dec_j2k = -24.1622256008711
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968425844108705;171.162357330327;_
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968425844108705;171.162357330327;_
2025-11-03T10:05:22.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51183)
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:22.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:22.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:22.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:22.466 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:22.466 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:22.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:22.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:22.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:22.467 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:22.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:22.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83706542, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968425844108705, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3131392, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3329, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2881408433741, telescope_dec_j2k=-24.1622256008711, observability=1)
2025-11-03T10:05:22.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:22
2025-11-03T10:05:22.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:22.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022830963134765625s
2025-11-03T10:05:22.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022830963134765625
2025-11-03T10:05:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:22
2025-11-03T10:05:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2950882911682129s
2025-11-03T10:05:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2950882911682129
2025-11-03T10:05:24.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:24
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9279110431671143s
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.313672;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33344;2460982.83708792;10.09007556;1.3;_
2025-11-03T10:05:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.313672;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33344;2460982.83708792;10.09007556;1.3;_
2025-11-03T10:05:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:24.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.313672, teldec = -24.256597
2025-11-03T10:05:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.313672 -24.256597
2025-11-03T10:05:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.313672 -24.256597
2025-11-03T10:05:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.313672 -24.256597
2025-11-03T10:05:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.313672;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33344;2460982.83708794;10.09007556;1.3;_15.2886732367713 -24.1622403700206
2025-11-03T10:05:24.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2886732367713     dec_j2k = -24.1622403700206
2025-11-03T10:05:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968423437392136;171.162357330327;_
2025-11-03T10:05:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968423437392136;171.162357330327;_
2025-11-03T10:05:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50409)
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:24.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:24.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:24.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:24.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83708792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968423437392136, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.313672, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33344, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2886732367713, telescope_dec_j2k=-24.1622403700206, observability=1)
2025-11-03T10:05:24.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:24
2025-11-03T10:05:24.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:24.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022142887115478516s
2025-11-03T10:05:24.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022142887115478516
2025-11-03T10:05:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:24
2025-11-03T10:05:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34700775146484375s
2025-11-03T10:05:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34700775146484375
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Status age = 1.4392650127410889s
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:25.854 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 17;15.3140924;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33386;2460982.83710481;10.09049472;1.3;_
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response 17;15.3140924;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33386;2460982.83710481;10.09049472;1.3;_
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:25.856 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:25.857 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:25.857 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:25.857 [INFO] [Thread-88810 (handle)] [driver.py] [get_status()] Telra = 15.3140924, teldec = -24.256597
2025-11-03T10:05:25.857 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3140924 -24.256597
2025-11-03T10:05:25.857 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3140924 -24.256597
2025-11-03T10:05:25.857 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3140924 -24.256597
2025-11-03T10:05:25.858 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 17;15.3140924;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33386;2460982.83710484;10.09049472;1.3;_15.2890933159845 -24.162252024773
2025-11-03T10:05:25.858 [INFO] [Thread-88810 (handle)] [driver.py] [get_status()] ra_j2k = 15.2890933159845     dec_j2k = -24.162252024773
2025-11-03T10:05:25.858 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 140;0.0968433465377838;171.162351965909;_
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response 140;0.0968433465377838;171.162351965909;_
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:25.859 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:25.860 [DEBUG] [Thread-88810 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:25.861 [DEBUG] [Thread-88810 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:25.861 [DEBUG] [Thread-88810 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35625)
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:25.864 [DEBUG] [Thread-88810 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:25.872 [DEBUG] [Thread-88810 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:25.872 [INFO] [Thread-88810 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83710481, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968433465377838, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3140924, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33386, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2890933159845, telescope_dec_j2k=-24.162252024773, observability=1)
2025-11-03T10:05:26.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:26
2025-11-03T10:05:26.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:26.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5240054130554199s
2025-11-03T10:05:26.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5240054130554199
2025-11-03T10:05:26.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:26
2025-11-03T10:05:26.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:26.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.546539306640625s
2025-11-03T10:05:26.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.546539306640625
2025-11-03T10:05:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:26
2025-11-03T10:05:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8952405452728271s
2025-11-03T10:05:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8952405452728271
2025-11-03T10:05:28.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:28
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.531963586807251s
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.314784;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33455;2460982.83713432;10.09118444;1.3;_
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.314784;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33455;2460982.83713432;10.09118444;1.3;_
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:28.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.314784, teldec = -24.256597
2025-11-03T10:05:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.314784 -24.256597
2025-11-03T10:05:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.314784 -24.256597
2025-11-03T10:05:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.314784 -24.256597
2025-11-03T10:05:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.314784;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33455;2460982.83713434;10.09118444;1.3;_15.2897843883324 -24.1622712005319
2025-11-03T10:05:28.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2897843883324     dec_j2k = -24.1622712005319
2025-11-03T10:05:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968431459780698;171.162362694745;_
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968431459780698;171.162362694745;_
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:28.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:28.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:28.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:28.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:28.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:28.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:28.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:28.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:28.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49177)
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:28.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:28.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83713432, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968431459780698, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.314784, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33455, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2897843883324, telescope_dec_j2k=-24.1622712005319, observability=1)
2025-11-03T10:05:28.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:28
2025-11-03T10:05:28.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:28.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022136688232421875s
2025-11-03T10:05:28.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022136688232421875
2025-11-03T10:05:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:28
2025-11-03T10:05:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3395390510559082s
2025-11-03T10:05:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3395390510559082
2025-11-03T10:05:30.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:30
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.970268726348877s
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.315348;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33511;2460982.83715736;10.09174694;1.3;_
2025-11-03T10:05:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.315348;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33511;2460982.83715736;10.09174694;1.3;_
2025-11-03T10:05:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:30.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.315348, teldec = -24.256597
2025-11-03T10:05:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.315348 -24.256597
2025-11-03T10:05:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.315348 -24.256597
2025-11-03T10:05:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.315348 -24.256597
2025-11-03T10:05:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.315348;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33511;2460982.83715738;10.09174694;1.3;_15.2903479581005 -24.1622868406952
2025-11-03T10:05:30.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2903479581005     dec_j2k = -24.1622868406952
2025-11-03T10:05:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968424640750421;171.162368059163;_
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968424640750421;171.162368059163;_
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:30.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47975)
2025-11-03T10:05:30.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:30.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:30.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:30.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:30.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83715736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968424640750421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.315348, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33511, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2903479581005, telescope_dec_j2k=-24.1622868406952, observability=1)
2025-11-03T10:05:30.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:30
2025-11-03T10:05:30.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:30.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021818876266479492s
2025-11-03T10:05:30.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021818876266479492
2025-11-03T10:05:30.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:30
2025-11-03T10:05:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3507356643676758s
2025-11-03T10:05:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3507356643676758
2025-11-03T10:05:32.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:32
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9927113056182861s
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3159001;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33566;2460982.83718067;10.0922975;1.3;_
2025-11-03T10:05:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3159001;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33566;2460982.83718067;10.0922975;1.3;_
2025-11-03T10:05:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:32.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3159001, teldec = -24.256597
2025-11-03T10:05:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3159001 -24.256597
2025-11-03T10:05:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3159001 -24.256597
2025-11-03T10:05:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3159001 -24.256597
2025-11-03T10:05:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3159001;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33566;2460982.83718069;10.0922975;1.3;_15.2908996370056 -24.1623021528859
2025-11-03T10:05:32.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2908996370056     dec_j2k = -24.1623021528859
2025-11-03T10:05:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968437476572118;171.162357330327;_
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968437476572118;171.162357330327;_
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:32.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:32.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59597)
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:32.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:32.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:32.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83718067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968437476572118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3159001, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33566, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2908996370056, telescope_dec_j2k=-24.1623021528859, observability=1)
2025-11-03T10:05:32.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:32
2025-11-03T10:05:32.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:32.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021797657012939453s
2025-11-03T10:05:32.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021797657012939453
2025-11-03T10:05:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:32
2025-11-03T10:05:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3398125171661377s
2025-11-03T10:05:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3398125171661377
2025-11-03T10:05:34.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:34
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0003488063812256s
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:34.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:34.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:34.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3164613;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33623;2460982.83720402;10.09285722;1.3;_
2025-11-03T10:05:34.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3164613;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33623;2460982.83720402;10.09285722;1.3;_
2025-11-03T10:05:34.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:34.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:34.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:34.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:34.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:34.428 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3164613, teldec = -24.256597
2025-11-03T10:05:34.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3164613 -24.256597
2025-11-03T10:05:34.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3164613 -24.256597
2025-11-03T10:05:34.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3164613 -24.256597
2025-11-03T10:05:34.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3164613;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33623;2460982.83720404;10.09285722;1.3;_15.2914604090305 -24.162317719512
2025-11-03T10:05:34.429 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2914604090305     dec_j2k = -24.162317719512
2025-11-03T10:05:34.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096843707545269;171.162362694745;_
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096843707545269;171.162362694745;_
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:34.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:34.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:34.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:34.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:34.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:34.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:34.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:34.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:34.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:34.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:34.437 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37879)
2025-11-03T10:05:34.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:34.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:34.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:34.438 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:34.438 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:34.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:34.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83720402, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096843707545269, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3164613, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33623, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2914604090305, telescope_dec_j2k=-24.162317719512, observability=1)
2025-11-03T10:05:34.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:34
2025-11-03T10:05:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021769046783447266s
2025-11-03T10:05:34.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021769046783447266
2025-11-03T10:05:34.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:34
2025-11-03T10:05:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3200678825378418s
2025-11-03T10:05:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3200678825378418
2025-11-03T10:05:36.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:36
2025-11-03T10:05:36.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0083086490631104s
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:36.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:36.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3170407;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3368;2460982.83722749;10.093435;1.3;_
2025-11-03T10:05:36.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3170407;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3368;2460982.83722749;10.093435;1.3;_
2025-11-03T10:05:36.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:36.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:36.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:36.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:36.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:36.456 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3170407, teldec = -24.256597
2025-11-03T10:05:36.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3170407 -24.256597
2025-11-03T10:05:36.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3170407 -24.256597
2025-11-03T10:05:36.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3170407 -24.256597
2025-11-03T10:05:36.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3170407;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3368;2460982.83722751;10.093435;1.3;_15.2920393672397 -24.1623337931415
2025-11-03T10:05:36.457 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2920393672397     dec_j2k = -24.1623337931415
2025-11-03T10:05:36.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:36.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:36.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968436273213834;171.162351965909;_
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968436273213834;171.162351965909;_
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34107)
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:36.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:36.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:36.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83722749, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968436273213834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3170407, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3368, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2920393672397, telescope_dec_j2k=-24.1623337931415, observability=1)
2025-11-03T10:05:36.578 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:36
2025-11-03T10:05:36.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:36.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10802483558654785s
2025-11-03T10:05:36.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10802483558654785
2025-11-03T10:05:36.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:36
2025-11-03T10:05:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30441927909851074s
2025-11-03T10:05:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30441927909851074
2025-11-03T10:05:38.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:38
2025-11-03T10:05:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9239997863769531s
2025-11-03T10:05:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3175744;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33734;2460982.83724995;10.09396722;1.3;_
2025-11-03T10:05:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3175744;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33734;2460982.83724995;10.09396722;1.3;_
2025-11-03T10:05:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:38.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3175744, teldec = -24.256597
2025-11-03T10:05:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3175744 -24.256597
2025-11-03T10:05:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3175744 -24.256597
2025-11-03T10:05:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3175744 -24.256597
2025-11-03T10:05:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3175744;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33734;2460982.83724999;10.09396722;1.3;_15.2925726603525 -24.1623486009185
2025-11-03T10:05:38.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2925726603525     dec_j2k = -24.1623486009185
2025-11-03T10:05:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968432663138982;171.162346601491;_
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968432663138982;171.162346601491;_
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:38.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43231)
2025-11-03T10:05:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:38.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:38.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:38.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83724995, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968432663138982, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3175744, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2925726603525, telescope_dec_j2k=-24.1623486009185, observability=1)
2025-11-03T10:05:38.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:38
2025-11-03T10:05:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021933555603027344s
2025-11-03T10:05:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021933555603027344
2025-11-03T10:05:38.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:38
2025-11-03T10:05:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.363877534866333s
2025-11-03T10:05:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.363877534866333
2025-11-03T10:05:40.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:40
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981999397277832s
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3181354;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3379;2460982.83727312;10.09452667;1.3;_
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3181354;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3379;2460982.83727312;10.09452667;1.3;_
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:40.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3181354, teldec = -24.256597
2025-11-03T10:05:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3181354 -24.256597
2025-11-03T10:05:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3181354 -24.256597
2025-11-03T10:05:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3181354 -24.256597
2025-11-03T10:05:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3181354;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3379;2460982.83727315;10.09452667;1.3;_15.2931332327115 -24.1623641681637
2025-11-03T10:05:40.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2931332327115     dec_j2k = -24.1623641681637
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968440284408115;171.162362694745;_
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968440284408115;171.162362694745;_
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59149)
2025-11-03T10:05:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:40.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:40.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83727312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968440284408115, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3181354, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3379, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2931332327115, telescope_dec_j2k=-24.1623641681637, observability=1)
2025-11-03T10:05:40.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:40
2025-11-03T10:05:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021655797958374023s
2025-11-03T10:05:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021655797958374023
2025-11-03T10:05:40.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:40
2025-11-03T10:05:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3447530269622803s
2025-11-03T10:05:40.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3447530269622803
2025-11-03T10:05:41.002 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.002 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.002 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:41.002 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:41.002 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:05:41.003 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:41.004 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:41.005 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:05:41.006 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:41.007 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Park
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:05:41.008 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:05:41.009 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 29;15.3182941;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33806;2460982.8372802;10.094685;1.3;_Park Command Successful
2025-11-03T10:05:42.009 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:05:42.009 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:05:42.010 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:05:42.010 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:05:42.010 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:05:42.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:42
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980867862701416s
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3186871;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33845;2460982.83729627;10.09507694;1.3;_
2025-11-03T10:05:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3186871;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33845;2460982.83729627;10.09507694;1.3;_
2025-11-03T10:05:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:42.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3186871, teldec = -24.256597
2025-11-03T10:05:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3186871 -24.256597
2025-11-03T10:05:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3186871 -24.256597
2025-11-03T10:05:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3186871 -24.256597
2025-11-03T10:05:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3186871;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33845;2460982.8372963;10.09507694;1.3;_15.2936845122191 -24.1623794793569
2025-11-03T10:05:42.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2936845122191     dec_j2k = -24.1623794793569
2025-11-03T10:05:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968436273213834;171.162357330327;_
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968436273213834;171.162357330327;_
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:42.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44417)
2025-11-03T10:05:42.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:42.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:42.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:42.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:42.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:42.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:42.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83729627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968436273213834, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3186871, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33845, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2936845122191, telescope_dec_j2k=-24.1623794793569, observability=1)
2025-11-03T10:05:42.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:42
2025-11-03T10:05:42.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:42.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022300243377685547s
2025-11-03T10:05:42.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022300243377685547
2025-11-03T10:05:42.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:42
2025-11-03T10:05:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3576676845550537s
2025-11-03T10:05:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3576676845550537
2025-11-03T10:05:43.010 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:05:43.010 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:05:43.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:05:43.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:05:43.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:05:43.910 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:43.910 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Status age = 1.4981906414031982s
2025-11-03T10:05:43.910 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:43.911 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:43.912 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 17;15.3191083;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33887;2460982.8373138;10.09549694;1.3;_
2025-11-03T10:05:43.912 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response 17;15.3191083;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33887;2460982.8373138;10.09549694;1.3;_
2025-11-03T10:05:43.912 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:43.912 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:43.912 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:43.913 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:43.913 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:43.913 [INFO] [Thread-88811 (handle)] [driver.py] [get_status()] Telra = 15.3191083, teldec = -24.256597
2025-11-03T10:05:43.913 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3191083 -24.256597
2025-11-03T10:05:43.913 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3191083 -24.256597
2025-11-03T10:05:43.913 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3191083 -24.256597
2025-11-03T10:05:43.914 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 17;15.3191083;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33887;2460982.83731382;10.09549694;1.3;_15.2941053912302 -24.1623911701606
2025-11-03T10:05:43.914 [INFO] [Thread-88811 (handle)] [driver.py] [get_status()] ra_j2k = 15.2941053912302     dec_j2k = -24.1623911701606
2025-11-03T10:05:43.914 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:43.914 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:43.914 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 140;0.0968445498960679;171.162362694745;_
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response 140;0.0968445498960679;171.162362694745;_
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:43.915 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:43.916 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:43.916 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:43.916 [DEBUG] [Thread-88811 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:43.916 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:43.916 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:43.917 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:43.917 [DEBUG] [Thread-88811 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:43.917 [DEBUG] [Thread-88811 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:43.917 [DEBUG] [Thread-88811 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39777)
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:43.923 [DEBUG] [Thread-88811 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:43.931 [DEBUG] [Thread-88811 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:43.931 [INFO] [Thread-88811 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8373138, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968445498960679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3191083, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33887, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2941053912302, telescope_dec_j2k=-24.1623911701606, observability=1)
2025-11-03T10:05:44.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:05:44.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:05:44.011 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:05:44.012 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:05:44.012 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:05:44.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:44
2025-11-03T10:05:44.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:44.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.47745728492736816s
2025-11-03T10:05:44.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.47745728492736816
2025-11-03T10:05:44.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:44
2025-11-03T10:05:44.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:44.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5002105236053467s
2025-11-03T10:05:44.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5002105236053467
2025-11-03T10:05:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:44
2025-11-03T10:05:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.835822343826294s
2025-11-03T10:05:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.835822343826294
2025-11-03T10:05:45.012 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:05:45.012 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:05:45.013 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:05:45.013 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:05:45.013 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:05:45.013 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:05:45.014 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:05:45.015 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:46.015 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:46.015 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:46.015 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:46.015 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:46.015 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:05:46.016 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:05:46.017 [DEBUG] [ThreadPoolExecutor-3440_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:46.017 [INFO] [ThreadPoolExecutor-3440_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:05:46.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:46
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4631690979003906s
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3197991;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33956;2460982.83734253;10.09618583;1.3;_
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3197991;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33956;2460982.83734253;10.09618583;1.3;_
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:46.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3197991, teldec = -24.256597
2025-11-03T10:05:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3197991 -24.256597
2025-11-03T10:05:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3197991 -24.256597
2025-11-03T10:05:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3197991 -24.256597
2025-11-03T10:05:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3197991;-24.256597;50.108534;89.993049;50.08601;90.12017;12.33956;2460982.83734256;10.09618583;1.3;_15.2947956648584 -24.1624103464871
2025-11-03T10:05:46.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2947956648584     dec_j2k = -24.1624103464871
2025-11-03T10:05:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968440284408115;171.162351965909;_
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968440284408115;171.162351965909;_
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49851)
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:46.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:46.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:46.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:46.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:46.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83734253, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968440284408115, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3197991, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.33956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2947956648584, telescope_dec_j2k=-24.1624103464871, observability=1)
2025-11-03T10:05:46.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:46
2025-11-03T10:05:46.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:46.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021425247192382812s
2025-11-03T10:05:46.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021425247192382812
2025-11-03T10:05:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:46
2025-11-03T10:05:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35686612129211426s
2025-11-03T10:05:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35686612129211426
2025-11-03T10:05:48.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:48
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.031069278717041s
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:48.443 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:48.444 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:48.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3203879;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34015;2460982.83736626;10.09677306;1.3;_
2025-11-03T10:05:48.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3203879;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34015;2460982.83736626;10.09677306;1.3;_
2025-11-03T10:05:48.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:48.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:48.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:48.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:48.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:48.446 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3203879, teldec = -24.256597
2025-11-03T10:05:48.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3203879 -24.256597
2025-11-03T10:05:48.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3203879 -24.256597
2025-11-03T10:05:48.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3203879 -24.256597
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3203879;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34015;2460982.83736628;10.09677306;1.3;_15.2953840162809 -24.1624266938067
2025-11-03T10:05:48.447 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2953840162809     dec_j2k = -24.1624266938067
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968443493363539;171.162357330327;_
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968443493363539;171.162357330327;_
2025-11-03T10:05:48.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:48.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:48.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:48.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:48.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:48.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:48.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:48.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:48.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:48.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:48.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:48.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:48.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42279)
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:48.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:48.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:48.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:48.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83736626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968443493363539, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3203879, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34015, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2953840162809, telescope_dec_j2k=-24.1624266938067, observability=1)
2025-11-03T10:05:48.484 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:48
2025-11-03T10:05:48.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:48.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021692991256713867s
2025-11-03T10:05:48.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021692991256713867
2025-11-03T10:05:48.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:48
2025-11-03T10:05:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3030970096588135s
2025-11-03T10:05:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3030970096588135
2025-11-03T10:05:50.202 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:50.202 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Status age = 1.7394435405731201s
2025-11-03T10:05:50.202 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:50.202 [DEBUG] [Thread-88812 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:50.202 [DEBUG] [Thread-88812 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:50.203 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:50.203 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:50.203 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:50.203 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:50.203 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:50.204 [DEBUG] [Thread-88812 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:50.204 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:50.204 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:50.204 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:50.204 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:50.205 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 17;15.3208642;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34063;2460982.83738663;10.09724806;1.3;_
2025-11-03T10:05:50.205 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response 17;15.3208642;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34063;2460982.83738663;10.09724806;1.3;_
2025-11-03T10:05:50.205 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:50.205 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:50.205 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:50.206 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:50.206 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:50.206 [INFO] [Thread-88812 (handle)] [driver.py] [get_status()] Telra = 15.3208642, teldec = -24.256597
2025-11-03T10:05:50.206 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3208642 -24.256597
2025-11-03T10:05:50.206 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3208642 -24.256597
2025-11-03T10:05:50.206 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3208642 -24.256597
2025-11-03T10:05:50.207 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 17;15.3208642;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34063;2460982.83738666;10.09724806;1.3;_15.2958599534607 -24.1624399193636
2025-11-03T10:05:50.207 [INFO] [Thread-88812 (handle)] [driver.py] [get_status()] ra_j2k = 15.2958599534607     dec_j2k = -24.1624399193636
2025-11-03T10:05:50.207 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:50.207 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:50.207 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 140;0.0968443894482967;171.162357330327;_
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response 140;0.0968443894482967;171.162357330327;_
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:50.208 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:50.209 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:50.210 [DEBUG] [Thread-88812 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:50.210 [DEBUG] [Thread-88812 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:50.210 [DEBUG] [Thread-88812 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42327)
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:50.211 [DEBUG] [Thread-88812 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:50.218 [DEBUG] [Thread-88812 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:50.219 [DEBUG] [Thread-88812 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:50.219 [INFO] [Thread-88812 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83738663, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968443894482967, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3208642, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34063, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2958599534607, telescope_dec_j2k=-24.1624399193636, observability=1)
2025-11-03T10:05:50.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:50
2025-11-03T10:05:50.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:50.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17592692375183105s
2025-11-03T10:05:50.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17592692375183105
2025-11-03T10:05:50.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:50
2025-11-03T10:05:50.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:50.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19815874099731445s
2025-11-03T10:05:50.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19815874099731445
2025-11-03T10:05:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:50
2025-11-03T10:05:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5446932315826416s
2025-11-03T10:05:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5446932315826416
2025-11-03T10:05:52.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:52
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.189246654510498s
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:52.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3214798;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34124;2460982.83741215;10.09786194;1.3;_
2025-11-03T10:05:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3214798;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34124;2460982.83741215;10.09786194;1.3;_
2025-11-03T10:05:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:52.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3214798, teldec = -24.256597
2025-11-03T10:05:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3214798 -24.256597
2025-11-03T10:05:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3214798 -24.256597
2025-11-03T10:05:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3214798 -24.256597
2025-11-03T10:05:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3214798;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34124;2460982.83741218;10.09786194;1.3;_15.296475084594 -24.1624570151074
2025-11-03T10:05:52.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.296475084594     dec_j2k = -24.1624570151074
2025-11-03T10:05:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968450713513244;171.162351965909;_
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968450713513244;171.162351965909;_
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58111)
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:52.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:52.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:52.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:52.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:52.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83741215, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968450713513244, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3214798, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34124, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.296475084594, telescope_dec_j2k=-24.1624570151074, observability=1)
2025-11-03T10:05:52.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:52
2025-11-03T10:05:52.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:52.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022568941116333008s
2025-11-03T10:05:52.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022568941116333008
2025-11-03T10:05:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:52
2025-11-03T10:05:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3332483768463135s
2025-11-03T10:05:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3332483768463135
2025-11-03T10:05:54.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:54
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9647750854492188s
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3220313;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3418;2460982.83743514;10.09841194;1.3;_
2025-11-03T10:05:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3220313;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3418;2460982.83743514;10.09841194;1.3;_
2025-11-03T10:05:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:54.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3220313, teldec = -24.256597
2025-11-03T10:05:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3220313 -24.256597
2025-11-03T10:05:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3220313 -24.256597
2025-11-03T10:05:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3220313 -24.256597
2025-11-03T10:05:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3220313;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3418;2460982.83743516;10.09841194;1.3;_15.297026164611 -24.1624723328491
2025-11-03T10:05:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.297026164611     dec_j2k = -24.1624723328491
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968452719110384;171.162351965909;_
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968452719110384;171.162351965909;_
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:54.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51115)
2025-11-03T10:05:54.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:54.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:54.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:54.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83743514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968452719110384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3220313, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3418, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.297026164611, telescope_dec_j2k=-24.1624723328491, observability=1)
2025-11-03T10:05:54.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:54
2025-11-03T10:05:54.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:54.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022376060485839844s
2025-11-03T10:05:54.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022376060485839844
2025-11-03T10:05:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:54
2025-11-03T10:05:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3495016098022461s
2025-11-03T10:05:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3495016098022461
2025-11-03T10:05:56.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:56
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813268184661865s
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:56.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:56.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3225928;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34236;2460982.8374583;10.09897194;1.3;_
2025-11-03T10:05:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3225928;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34236;2460982.8374583;10.09897194;1.3;_
2025-11-03T10:05:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:56.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3225928, teldec = -24.256597
2025-11-03T10:05:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3225928 -24.256597
2025-11-03T10:05:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3225928 -24.256597
2025-11-03T10:05:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3225928 -24.256597
2025-11-03T10:05:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3225928;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34236;2460982.83745832;10.09897194;1.3;_15.2975872370731 -24.1624879303863
2025-11-03T10:05:56.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2975872370731     dec_j2k = -24.1624879303863
2025-11-03T10:05:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096845993926009;171.162351965909;_
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096845993926009;171.162351965909;_
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:05:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:05:56.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33679)
2025-11-03T10:05:56.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:56.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:56.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:56.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:56.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:56.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:56.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8374583, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096845993926009, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3225928, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34236, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2975872370731, telescope_dec_j2k=-24.1624879303863, observability=1)
2025-11-03T10:05:56.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:56
2025-11-03T10:05:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02278423309326172s
2025-11-03T10:05:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02278423309326172
2025-11-03T10:05:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:56
2025-11-03T10:05:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34890079498291016s
2025-11-03T10:05:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34890079498291016
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5717222690582275s
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:05:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:05:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:05:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:05:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:05:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:05:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3230326;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3428;2460982.83747671;10.09941056;1.3;_
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.3230326;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3428;2460982.83747671;10.09941056;1.3;_
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:05:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:05:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:05:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:05:57.990 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.3230326, teldec = -24.256597
2025-11-03T10:05:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3230326 -24.256597
2025-11-03T10:05:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3230326 -24.256597
2025-11-03T10:05:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3230326 -24.256597
2025-11-03T10:05:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3230326;-24.256597;50.108534;89.993049;50.08601;90.12017;12.3428;2460982.83747675;10.09941056;1.3;_15.2980267022428 -24.1625001487431
2025-11-03T10:05:57.991 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.2980267022428     dec_j2k = -24.1625001487431
2025-11-03T10:05:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:05:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:05:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:05:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968459137021233;171.162362694745;_
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968459137021233;171.162362694745;_
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:05:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:05:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:05:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40561)
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:05:57.996 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:05:58.004 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:05:58.005 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:05:58.005 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83747671, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968459137021233, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3230326, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3428, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2980267022428, telescope_dec_j2k=-24.1625001487431, observability=1)
2025-11-03T10:05:58.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:58
2025-11-03T10:05:58.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:58.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3899424076080322s
2025-11-03T10:05:58.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3899424076080322
2025-11-03T10:05:58.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:58
2025-11-03T10:05:58.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:58.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4120762348175049s
2025-11-03T10:05:58.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4120762348175049
2025-11-03T10:05:58.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:05:58
2025-11-03T10:05:58.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:05:58.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7646129131317139s
2025-11-03T10:05:58.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7646129131317139
2025-11-03T10:06:00.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:00
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.389979839324951s
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3237064;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34347;2460982.83750458;10.1000825;1.3;_
2025-11-03T10:06:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3237064;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34347;2460982.83750458;10.1000825;1.3;_
2025-11-03T10:06:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:00.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3237064, teldec = -24.256597
2025-11-03T10:06:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3237064 -24.256597
2025-11-03T10:06:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3237064 -24.256597
2025-11-03T10:06:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3237064 -24.256597
2025-11-03T10:06:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3237064;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34347;2460982.83750462;10.1000825;1.3;_15.2986999893353 -24.1625188704581
2025-11-03T10:06:00.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2986999893353     dec_j2k = -24.1625188704581
2025-11-03T10:06:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968452719110384;171.162362694745;_
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968452719110384;171.162362694745;_
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:00.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56087)
2025-11-03T10:06:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:00.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:00.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83750458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968452719110384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3237064, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2986999893353, telescope_dec_j2k=-24.1625188704581, observability=1)
2025-11-03T10:06:00.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:00
2025-11-03T10:06:00.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:00.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02219700813293457s
2025-11-03T10:06:00.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02219700813293457
2025-11-03T10:06:00.758 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:00
2025-11-03T10:06:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3455960750579834s
2025-11-03T10:06:00.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3455960750579834
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Status age = 1.5676474571228027s
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:01.981 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:01.982 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 17;15.3241457;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34391;2460982.83752294;10.10052056;1.3;_
2025-11-03T10:06:01.983 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response 17;15.3241457;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34391;2460982.83752294;10.10052056;1.3;_
2025-11-03T10:06:01.983 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:01.983 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:01.983 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:01.984 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:01.984 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:01.984 [INFO] [Thread-88813 (handle)] [driver.py] [get_status()] Telra = 15.3241457, teldec = -24.256597
2025-11-03T10:06:01.984 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3241457 -24.256597
2025-11-03T10:06:01.984 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3241457 -24.256597
2025-11-03T10:06:01.984 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3241457 -24.256597
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 17;15.3241457;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34391;2460982.83752297;10.10052056;1.3;_15.2991389549804 -24.1625310781295
2025-11-03T10:06:01.985 [INFO] [Thread-88813 (handle)] [driver.py] [get_status()] ra_j2k = 15.2991389549804     dec_j2k = -24.1625310781295
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 140;0.0968458735901805;171.162362694745;_
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response 140;0.0968458735901805;171.162362694745;_
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:01.985 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:01.986 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:01.986 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:01.986 [DEBUG] [Thread-88813 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:01.986 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:01.986 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:01.987 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:01.987 [DEBUG] [Thread-88813 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:01.987 [DEBUG] [Thread-88813 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:01.987 [DEBUG] [Thread-88813 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:01.989 [DEBUG] [Thread-88813 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52569)
2025-11-03T10:06:01.990 [DEBUG] [Thread-88813 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:01.990 [DEBUG] [Thread-88813 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:01.990 [DEBUG] [Thread-88813 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:01.990 [DEBUG] [Thread-88813 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:01.990 [DEBUG] [Thread-88813 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:01.997 [DEBUG] [Thread-88813 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:01.997 [INFO] [Thread-88813 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83752294, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968458735901805, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3241457, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34391, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2991389549804, telescope_dec_j2k=-24.1625310781295, observability=1)
2025-11-03T10:06:02.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:02
2025-11-03T10:06:02.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:02.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.399493932723999s
2025-11-03T10:06:02.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.399493932723999
2025-11-03T10:06:02.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:02
2025-11-03T10:06:02.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:02.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4211888313293457s
2025-11-03T10:06:02.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4211888313293457
2025-11-03T10:06:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:02
2025-11-03T10:06:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7719988822937012s
2025-11-03T10:06:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7719988822937012
2025-11-03T10:06:02.857 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:02.857 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.859724760055542s
2025-11-03T10:06:02.857 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.859724760055542
2025-11-03T10:06:04.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:04
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3968710899353027s
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3248195;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34458;2460982.83755088;10.1011925;1.3;_
2025-11-03T10:06:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3248195;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34458;2460982.83755088;10.1011925;1.3;_
2025-11-03T10:06:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:04.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3248195, teldec = -24.256597
2025-11-03T10:06:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3248195 -24.256597
2025-11-03T10:06:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3248195 -24.256597
2025-11-03T10:06:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3248195 -24.256597
2025-11-03T10:06:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3248195;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34458;2460982.8375509;10.1011925;1.3;_15.2998122422183 -24.1625498047591
2025-11-03T10:06:04.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.2998122422183     dec_j2k = -24.1625498047591
2025-11-03T10:06:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968455928065809;171.162357330327;_
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968455928065809;171.162357330327;_
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47657)
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:04.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:04.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:04.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83755088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968455928065809, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3248195, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34458, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.2998122422183, telescope_dec_j2k=-24.1625498047591, observability=1)
2025-11-03T10:06:04.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:04
2025-11-03T10:06:04.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:04.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023992061614990234s
2025-11-03T10:06:04.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023992061614990234
2025-11-03T10:06:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:04
2025-11-03T10:06:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35585451126098633s
2025-11-03T10:06:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35585451126098633
2025-11-03T10:06:06.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:06
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841530323028564s
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:06.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3253799;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34514;2460982.83757404;10.10175139;1.3;_
2025-11-03T10:06:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3253799;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34514;2460982.83757404;10.10175139;1.3;_
2025-11-03T10:06:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:06.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3253799, teldec = -24.256597
2025-11-03T10:06:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3253799 -24.256597
2025-11-03T10:06:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3253799 -24.256597
2025-11-03T10:06:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3253799 -24.256597
2025-11-03T10:06:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3253799;-24.256597;50.108534;89.993049;50.08601;90.12017;12.34514;2460982.83757406;10.10175139;1.3;_15.3003722158206 -24.1625653819774
2025-11-03T10:06:06.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3003722158206     dec_j2k = -24.1625653819774
2025-11-03T10:06:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968462345976658;171.162351965909;_
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968462345976658;171.162351965909;_
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:06.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46025)
2025-11-03T10:06:06.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:06.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:06.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:06.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:06.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:06.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83757404, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968462345976658, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108534, telescope_az=89.993049, telescope_ra=15.3253799, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3003722158206, telescope_dec_j2k=-24.1625653819774, observability=1)
2025-11-03T10:06:06.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:06
2025-11-03T10:06:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022681236267089844s
2025-11-03T10:06:06.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022681236267089844
2025-11-03T10:06:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:06
2025-11-03T10:06:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3516230583190918s
2025-11-03T10:06:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3516230583190918
2025-11-03T10:06:08.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:08
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9869024753570557s
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3259317;-24.256597;50.108533;89.993049;50.08601;90.12017;12.3457;2460982.83759723;10.10230167;1.3;_
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3259317;-24.256597;50.108533;89.993049;50.08601;90.12017;12.3457;2460982.83759723;10.10230167;1.3;_
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:08.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3259317, teldec = -24.256597
2025-11-03T10:06:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3259317 -24.256597
2025-11-03T10:06:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3259317 -24.256597
2025-11-03T10:06:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3259317 -24.256597
2025-11-03T10:06:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3259317;-24.256597;50.108533;89.993049;50.08601;90.12017;12.3457;2460982.83759726;10.10230167;1.3;_15.3009235960259 -24.1625807221547
2025-11-03T10:06:08.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3009235960259     dec_j2k = -24.1625807221547
2025-11-03T10:06:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968461142618374;171.162362694745;_
2025-11-03T10:06:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968461142618374;171.162362694745;_
2025-11-03T10:06:08.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:08.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:08.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:08.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:08.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39951)
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:08.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:08.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83759723, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968461142618374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3259317, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3457, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3009235960259, telescope_dec_j2k=-24.1625807221547, observability=1)
2025-11-03T10:06:08.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:08
2025-11-03T10:06:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021973133087158203s
2025-11-03T10:06:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021973133087158203
2025-11-03T10:06:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:08
2025-11-03T10:06:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34732580184936523s
2025-11-03T10:06:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34732580184936523
2025-11-03T10:06:10.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:10
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977520227432251s
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3264921;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34626;2460982.83762035;10.10286056;1.3;_
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3264921;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34626;2460982.83762035;10.10286056;1.3;_
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:10.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3264921, teldec = -24.256597
2025-11-03T10:06:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3264921 -24.256597
2025-11-03T10:06:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3264921 -24.256597
2025-11-03T10:06:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3264921 -24.256597
2025-11-03T10:06:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3264921;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34626;2460982.83762038;10.10286056;1.3;_15.301483569749 -24.1625963034551
2025-11-03T10:06:10.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.301483569749     dec_j2k = -24.1625963034551
2025-11-03T10:06:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968457532543521;171.162362694745;_
2025-11-03T10:06:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968457532543521;171.162362694745;_
2025-11-03T10:06:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:10.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58177)
2025-11-03T10:06:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:10.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:10.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:10.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:10.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:10.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83762035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968457532543521, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3264921, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34626, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.301483569749, telescope_dec_j2k=-24.1625963034551, observability=1)
2025-11-03T10:06:10.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:10
2025-11-03T10:06:10.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:10.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022630929946899414s
2025-11-03T10:06:10.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022630929946899414
2025-11-03T10:06:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:10
2025-11-03T10:06:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35126638412475586s
2025-11-03T10:06:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35126638412475586
2025-11-03T10:06:12.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:12
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9906740188598633s
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3270436;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34681;2460982.83764358;10.10341056;1.3;_
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3270436;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34681;2460982.83764358;10.10341056;1.3;_
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:12.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3270436, teldec = -24.256597
2025-11-03T10:06:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3270436 -24.256597
2025-11-03T10:06:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3270436 -24.256597
2025-11-03T10:06:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3270436 -24.256597
2025-11-03T10:06:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3270436;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34681;2460982.83764359;10.10341056;1.3;_15.3020346503014 -24.1626116393084
2025-11-03T10:06:12.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3020346503014     dec_j2k = -24.1626116393084
2025-11-03T10:06:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968465153812654;171.162357330327;_
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968465153812654;171.162357330327;_
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:12.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58215)
2025-11-03T10:06:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:12.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:12.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:12.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:12.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83764358, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968465153812654, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3270436, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34681, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3020346503014, telescope_dec_j2k=-24.1626116393084, observability=1)
2025-11-03T10:06:12.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:12
2025-11-03T10:06:12.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:12.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024582386016845703s
2025-11-03T10:06:12.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024582386016845703
2025-11-03T10:06:12.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:12
2025-11-03T10:06:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33748912811279297s
2025-11-03T10:06:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33748912811279297
2025-11-03T10:06:14.316 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:06:14
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8928546905517578s
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:14.316 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.327577;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34734;2460982.83766571;10.1039425;1.3;_
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.327577;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34734;2460982.83766571;10.1039425;1.3;_
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:14.317 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:14.318 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:14.318 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:14.318 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.327577, teldec = -24.256597
2025-11-03T10:06:14.318 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.327577 -24.256597
2025-11-03T10:06:14.318 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.327577 -24.256597
2025-11-03T10:06:14.318 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.327577 -24.256597
2025-11-03T10:06:14.319 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.327577;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34734;2460982.83766573;10.1039425;1.3;_15.3025676446761 -24.1626264737397
2025-11-03T10:06:14.319 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.3025676446761     dec_j2k = -24.1626264737397
2025-11-03T10:06:14.319 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:14.319 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968461543737802;171.162357330327;_
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968461543737802;171.162357330327;_
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:14.320 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:14.321 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:14.322 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:14.322 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:14.322 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:14.325 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40189)
2025-11-03T10:06:14.326 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:14.326 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:14.326 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:14.326 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:14.326 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:14.333 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:14.333 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83766571, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968461543737802, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.327577, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3025676446761, telescope_dec_j2k=-24.1626264737397, observability=1)
2025-11-03T10:06:14.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:14
2025-11-03T10:06:14.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:14.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0621182918548584s
2025-11-03T10:06:14.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0621182918548584
2025-11-03T10:06:14.493 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:14
2025-11-03T10:06:14.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:14.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1599292755126953s
2025-11-03T10:06:14.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1599292755126953
2025-11-03T10:06:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:14
2025-11-03T10:06:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4333205223083496s
2025-11-03T10:06:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4333205223083496
2025-11-03T10:06:16.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:16
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.066230058670044s
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3281659;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34793;2460982.83768983;10.10452972;1.3;_
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3281659;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34793;2460982.83768983;10.10452972;1.3;_
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:16.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3281659, teldec = -24.256597
2025-11-03T10:06:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3281659 -24.256597
2025-11-03T10:06:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3281659 -24.256597
2025-11-03T10:06:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3281659 -24.256597
2025-11-03T10:06:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3281659;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34793;2460982.83768985;10.10452972;1.3;_15.3031560969097 -24.1626428538491
2025-11-03T10:06:16.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3031560969097     dec_j2k = -24.1626428538491
2025-11-03T10:06:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096846395045437;171.162357330327;_
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096846395045437;171.162357330327;_
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:16.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53105)
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:16.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:16.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:16.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83768983, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096846395045437, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3281659, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3031560969097, telescope_dec_j2k=-24.1626428538491, observability=1)
2025-11-03T10:06:16.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:16
2025-11-03T10:06:16.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:16.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022998809814453125s
2025-11-03T10:06:16.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022998809814453125
2025-11-03T10:06:16.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:16
2025-11-03T10:06:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3574044704437256s
2025-11-03T10:06:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3574044704437256
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.3853614330291748s
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:17.801 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3285491;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34831;2460982.83770604;10.10491194;1.3;_
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.3285491;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34831;2460982.83770604;10.10491194;1.3;_
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:17.802 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:17.803 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:17.803 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:17.803 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:17.804 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.3285491, teldec = -24.256597
2025-11-03T10:06:17.804 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.3285491 -24.256597
2025-11-03T10:06:17.804 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.3285491 -24.256597
2025-11-03T10:06:17.804 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3285491 -24.256597
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3285491;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34831;2460982.83770608;10.10491194;1.3;_15.3035390055821 -24.1626535136824
2025-11-03T10:06:17.805 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3035390055821     dec_j2k = -24.1626535136824
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968464351573798;171.162351965909;_
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968464351573798;171.162351965909;_
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:17.805 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:17.806 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36891)
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:17.812 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:17.819 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:17.819 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:17.819 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:17.819 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:17.820 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:17.820 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:17.820 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:17.820 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:17.820 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:06:17.820 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83770604, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968464351573798, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3285491, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34831, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3035390055821, telescope_dec_j2k=-24.1626535136824, observability=1)
2025-11-03T10:06:17.820 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.504019021987915 seconds ago
2025-11-03T10:06:18.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:18
2025-11-03T10:06:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5806686878204346s
2025-11-03T10:06:18.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5806686878204346
2025-11-03T10:06:18.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:18
2025-11-03T10:06:18.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:18.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6035544872283936s
2025-11-03T10:06:18.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6035544872283936
2025-11-03T10:06:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:18
2025-11-03T10:06:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9453036785125732s
2025-11-03T10:06:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9453036785125732
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Status age = 2.2790279388427734s
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:20.099 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:20.100 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:20.101 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 17;15.3291951;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34896;2460982.83773265;10.10555611;1.3;_
2025-11-03T10:06:20.101 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response 17;15.3291951;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34896;2460982.83773265;10.10555611;1.3;_
2025-11-03T10:06:20.101 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:20.101 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:20.101 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:20.102 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:20.102 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:20.102 [INFO] [Thread-88814 (handle)] [driver.py] [get_status()] Telra = 15.3291951, teldec = -24.256597
2025-11-03T10:06:20.102 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3291951 -24.256597
2025-11-03T10:06:20.102 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3291951 -24.256597
2025-11-03T10:06:20.102 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3291951 -24.256597
2025-11-03T10:06:20.103 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 17;15.3291951;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34896;2460982.83773267;10.10555611;1.3;_15.3041845145255 -24.1626714862447
2025-11-03T10:06:20.103 [INFO] [Thread-88814 (handle)] [driver.py] [get_status()] ra_j2k = 15.3041845145255     dec_j2k = -24.1626714862447
2025-11-03T10:06:20.103 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:20.103 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:20.103 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 140;0.0968460340379518;171.162362694745;_
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response 140;0.0968460340379518;171.162362694745;_
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:20.104 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:20.105 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:20.106 [DEBUG] [Thread-88814 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:20.106 [DEBUG] [Thread-88814 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:20.106 [DEBUG] [Thread-88814 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:20.107 [DEBUG] [Thread-88814 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49323)
2025-11-03T10:06:20.107 [DEBUG] [Thread-88814 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:20.107 [DEBUG] [Thread-88814 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:20.108 [DEBUG] [Thread-88814 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:20.108 [DEBUG] [Thread-88814 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:20.108 [DEBUG] [Thread-88814 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:20.115 [DEBUG] [Thread-88814 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:20.115 [INFO] [Thread-88814 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83773265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968460340379518, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3291951, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34896, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:05:20.120686', telescope_ra_j2k=15.3041845145255, telescope_dec_j2k=-24.1626714862447, observability=1)
2025-11-03T10:06:20.262 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:20.262 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:20.262 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:20.262 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:20.262 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:20.263 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:20.263 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:20.264 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:20.264 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:20.264 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:20.264 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:20.264 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:20.265 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:20.266 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:20.266 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:06:20.266 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:06:20.266 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:06:20.266 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:20.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:20
2025-11-03T10:06:20.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:20.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27836108207702637s
2025-11-03T10:06:20.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27836108207702637
2025-11-03T10:06:20.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:20
2025-11-03T10:06:20.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:20.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.301501989364624s
2025-11-03T10:06:20.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.301501989364624
2025-11-03T10:06:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:20
2025-11-03T10:06:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6478049755096436s
2025-11-03T10:06:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6478049755096436
2025-11-03T10:06:21.267 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:21.267 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:21.267 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:21.267 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:21.267 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:06:21.268 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:21.269 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:21.270 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:21.270 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:21.270 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:21.270 [DEBUG] [ThreadPoolExecutor-3442_0] [payload.py] [to_registers()] [0]
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40693)
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:21.273 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:21.281 [DEBUG] [ThreadPoolExecutor-3442_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:22.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:22
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.287085771560669s
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3298304;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34959;2460982.83775931;10.10618972;1.3;_
2025-11-03T10:06:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3298304;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34959;2460982.83775931;10.10618972;1.3;_
2025-11-03T10:06:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:22.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:22.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:22.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3298304, teldec = -24.256597
2025-11-03T10:06:22.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3298304 -24.256597
2025-11-03T10:06:22.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3298304 -24.256597
2025-11-03T10:06:22.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3298304 -24.256597
2025-11-03T10:06:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3298304;-24.256597;50.108533;89.993049;50.08601;90.12017;12.34959;2460982.83775933;10.10618972;1.3;_15.3048193316814 -24.1626891637819
2025-11-03T10:06:22.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3048193316814     dec_j2k = -24.1626891637819
2025-11-03T10:06:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968463549334942;171.162346601491;_
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968463549334942;171.162346601491;_
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:22.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39305)
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:22.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:22.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:22.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83775931, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968463549334942, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3298304, telescope_dec=-24.256597, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.34959, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3048193316814, telescope_dec_j2k=-24.1626891637819, observability=1)
2025-11-03T10:06:22.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:22
2025-11-03T10:06:22.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:22.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02262568473815918s
2025-11-03T10:06:22.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02262568473815918
2025-11-03T10:06:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:22
2025-11-03T10:06:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3395354747772217s
2025-11-03T10:06:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3395354747772217
2025-11-03T10:06:24.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:24
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793014526367188s
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3303919;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35016;2460982.83778244;10.10674972;1.3;_
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3303919;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35016;2460982.83778244;10.10674972;1.3;_
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:24.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3303919, teldec = -24.256596
2025-11-03T10:06:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3303919 -24.256596
2025-11-03T10:06:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3303919 -24.256596
2025-11-03T10:06:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3303919 -24.256596
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3303919;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35016;2460982.83778248;10.10674972;1.3;_15.3053804051411 -24.1627037900187
2025-11-03T10:06:24.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3053804051411     dec_j2k = -24.1627037900187
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968470769484647;171.162351965909;_
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968470769484647;171.162351965909;_
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36677)
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:24.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:24.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:24.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:24.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:24.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:24.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:24.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:24.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83778244, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968470769484647, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3303919, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35016, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3053804051411, telescope_dec_j2k=-24.1627037900187, observability=1)
2025-11-03T10:06:24.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:24
2025-11-03T10:06:24.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:24.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021948575973510742s
2025-11-03T10:06:24.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021948575973510742
2025-11-03T10:06:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:24
2025-11-03T10:06:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34311699867248535s
2025-11-03T10:06:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34311699867248535
2025-11-03T10:06:26.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:26
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975013017654419s
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:26.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:26.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3309526;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35072;2460982.83780551;10.10730889;1.3;_
2025-11-03T10:06:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3309526;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35072;2460982.83780551;10.10730889;1.3;_
2025-11-03T10:06:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:26.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:26.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3309526, teldec = -24.256596
2025-11-03T10:06:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3309526 -24.256596
2025-11-03T10:06:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3309526 -24.256596
2025-11-03T10:06:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3309526 -24.256596
2025-11-03T10:06:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3309526;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35072;2460982.83780553;10.10730889;1.3;_15.305940679121 -24.1627193960265
2025-11-03T10:06:26.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.305940679121     dec_j2k = -24.1627193960265
2025-11-03T10:06:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968461142618374;171.162357330327;_
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968461142618374;171.162357330327;_
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35427)
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:26.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:26.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:26.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:26.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:26.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:26.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83780551, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968461142618374, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3309526, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.305940679121, telescope_dec_j2k=-24.1627193960265, observability=1)
2025-11-03T10:06:26.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:26
2025-11-03T10:06:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02321338653564453s
2025-11-03T10:06:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02321338653564453
2025-11-03T10:06:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:26
2025-11-03T10:06:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3503153324127197s
2025-11-03T10:06:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3503153324127197
2025-11-03T10:06:28.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:28
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811885356903076s
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3315044;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35127;2460982.83782867;10.10785917;1.3;_
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3315044;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35127;2460982.83782867;10.10785917;1.3;_
2025-11-03T10:06:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:28.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3315044, teldec = -24.256596
2025-11-03T10:06:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3315044 -24.256596
2025-11-03T10:06:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3315044 -24.256596
2025-11-03T10:06:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3315044 -24.256596
2025-11-03T10:06:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3315044;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35127;2460982.83782873;10.10785917;1.3;_15.3064920599228 -24.162734756327
2025-11-03T10:06:28.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3064920599228     dec_j2k = -24.162734756327
2025-11-03T10:06:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096846595605151;171.162368059163;_
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096846595605151;171.162368059163;_
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:28.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60147)
2025-11-03T10:06:28.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:28.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:28.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:28.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:28.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:28.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:28.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83782867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096846595605151, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3315044, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35127, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3064920599228, telescope_dec_j2k=-24.162734756327, observability=1)
2025-11-03T10:06:28.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:28
2025-11-03T10:06:28.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:28.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021430492401123047s
2025-11-03T10:06:28.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021430492401123047
2025-11-03T10:06:28.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:28
2025-11-03T10:06:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34821462631225586s
2025-11-03T10:06:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34821462631225586
2025-11-03T10:06:30.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:30
2025-11-03T10:06:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977902889251709s
2025-11-03T10:06:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3320646;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35183;2460982.83785183;10.10841778;1.3;_
2025-11-03T10:06:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3320646;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35183;2460982.83785183;10.10841778;1.3;_
2025-11-03T10:06:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:30.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3320646, teldec = -24.256596
2025-11-03T10:06:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3320646 -24.256596
2025-11-03T10:06:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3320646 -24.256596
2025-11-03T10:06:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3320646 -24.256596
2025-11-03T10:06:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3320646;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35183;2460982.83785185;10.10841778;1.3;_15.3070518344036 -24.1627503524924
2025-11-03T10:06:30.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3070518344036     dec_j2k = -24.1627503524924
2025-11-03T10:06:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968460741498946;171.162346601491;_
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968460741498946;171.162346601491;_
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:30.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49517)
2025-11-03T10:06:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:30.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:30.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83785183, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968460741498946, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3320646, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3070518344036, telescope_dec_j2k=-24.1627503524924, observability=1)
2025-11-03T10:06:30.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:30
2025-11-03T10:06:30.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:30.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027132034301757812s
2025-11-03T10:06:30.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027132034301757812
2025-11-03T10:06:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:30
2025-11-03T10:06:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3463096618652344s
2025-11-03T10:06:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3463096618652344
2025-11-03T10:06:32.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:32
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978548288345337s
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:32.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3326244;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35239;2460982.83787497;10.10897611;1.3;_
2025-11-03T10:06:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3326244;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35239;2460982.83787497;10.10897611;1.3;_
2025-11-03T10:06:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:32.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3326244, teldec = -24.256596
2025-11-03T10:06:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3326244 -24.256596
2025-11-03T10:06:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3326244 -24.256596
2025-11-03T10:06:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3326244 -24.256596
2025-11-03T10:06:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3326244;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35239;2460982.83787499;10.10897611;1.3;_15.3076112092491 -24.162765939571
2025-11-03T10:06:32.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3076112092491     dec_j2k = -24.162765939571
2025-11-03T10:06:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968463148215514;171.162357330327;_
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968463148215514;171.162357330327;_
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46807)
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:32.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:32.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:32.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:32.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:32.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:32.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:32.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:32.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:32.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:32.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:32.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83787497, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968463148215514, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3326244, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35239, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3076112092491, telescope_dec_j2k=-24.162765939571, observability=1)
2025-11-03T10:06:32.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:32
2025-11-03T10:06:32.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:32.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0218660831451416s
2025-11-03T10:06:32.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0218660831451416
2025-11-03T10:06:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:32
2025-11-03T10:06:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.348752498626709s
2025-11-03T10:06:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.348752498626709
2025-11-03T10:06:34.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:34
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.989335298538208s
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3331754;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35294;2460982.83789821;10.10952556;1.3;_
2025-11-03T10:06:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3331754;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35294;2460982.83789821;10.10952556;1.3;_
2025-11-03T10:06:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:34.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3331754, teldec = -24.256596
2025-11-03T10:06:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3331754 -24.256596
2025-11-03T10:06:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3331754 -24.256596
2025-11-03T10:06:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3331754 -24.256596
2025-11-03T10:06:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3331754;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35294;2460982.83789823;10.10952556;1.3;_15.3081617908374 -24.1627812836224
2025-11-03T10:06:34.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3081617908374     dec_j2k = -24.1627812836224
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968467560529223;171.162351965909;_
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968467560529223;171.162351965909;_
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:34.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43369)
2025-11-03T10:06:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:34.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:34.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:34.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83789821, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968467560529223, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3331754, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3081617908374, telescope_dec_j2k=-24.1627812836224, observability=1)
2025-11-03T10:06:34.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:34
2025-11-03T10:06:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02772808074951172s
2025-11-03T10:06:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02772808074951172
2025-11-03T10:06:34.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:34
2025-11-03T10:06:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34436750411987305s
2025-11-03T10:06:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34436750411987305
2025-11-03T10:06:36.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:36
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978539228439331s
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3337361;-24.256596;50.108533;89.993049;50.08601;90.12017;12.3535;2460982.83792128;10.11008472;1.3;_
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3337361;-24.256596;50.108533;89.993049;50.08601;90.12017;12.3535;2460982.83792128;10.11008472;1.3;_
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:36.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3337361, teldec = -24.256596
2025-11-03T10:06:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3337361 -24.256596
2025-11-03T10:06:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3337361 -24.256596
2025-11-03T10:06:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3337361 -24.256596
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3337361;-24.256596;50.108533;89.993049;50.08601;90.12017;12.3535;2460982.83792131;10.11008472;1.3;_15.3087220651204 -24.1627968998328
2025-11-03T10:06:36.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3087220651204     dec_j2k = -24.1627968998328
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968467961648651;171.162357330327;_
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968467961648651;171.162357330327;_
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54687)
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:36.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:36.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83792128, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968467961648651, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3337361, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3535, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3087220651204, telescope_dec_j2k=-24.1627968998328, observability=1)
2025-11-03T10:06:36.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:36
2025-11-03T10:06:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023168563842773438s
2025-11-03T10:06:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023168563842773438
2025-11-03T10:06:36.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:36
2025-11-03T10:06:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3550095558166504s
2025-11-03T10:06:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3550095558166504
2025-11-03T10:06:38.161 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Status age = 1.7455072402954102s
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:38.162 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 17;15.3342121;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35398;2460982.8379417;10.11055944;1.3;_
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response 17;15.3342121;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35398;2460982.8379417;10.11055944;1.3;_
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:38.163 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:38.164 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:38.164 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:38.164 [INFO] [Thread-88815 (handle)] [driver.py] [get_status()] Telra = 15.3342121, teldec = -24.256596
2025-11-03T10:06:38.164 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3342121 -24.256596
2025-11-03T10:06:38.164 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3342121 -24.256596
2025-11-03T10:06:38.164 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3342121 -24.256596
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 17;15.3342121;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35398;2460982.83794172;10.11055944;1.3;_15.3091977037606 -24.1628101586523
2025-11-03T10:06:38.165 [INFO] [Thread-88815 (handle)] [driver.py] [get_status()] ra_j2k = 15.3091977037606     dec_j2k = -24.1628101586523
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 140;0.0968465554932082;171.162357330327;_
2025-11-03T10:06:38.165 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response 140;0.0968465554932082;171.162357330327;_
2025-11-03T10:06:38.166 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:38.166 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:38.166 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:38.166 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:38.167 [DEBUG] [Thread-88815 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:38.168 [DEBUG] [Thread-88815 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:38.168 [DEBUG] [Thread-88815 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53931)
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:38.174 [DEBUG] [Thread-88815 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:38.181 [DEBUG] [Thread-88815 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:38.182 [DEBUG] [Thread-88815 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:38.182 [DEBUG] [Thread-88815 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:38.182 [INFO] [Thread-88815 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8379417, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968465554932082, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3342121, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35398, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3091977037606, telescope_dec_j2k=-24.1628101586523, observability=1)
2025-11-03T10:06:38.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:38
2025-11-03T10:06:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21973228454589844s
2025-11-03T10:06:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21973228454589844
2025-11-03T10:06:38.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:38
2025-11-03T10:06:38.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:38.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24683451652526855s
2025-11-03T10:06:38.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24683451652526855
2025-11-03T10:06:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:38
2025-11-03T10:06:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5829739570617676s
2025-11-03T10:06:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5829739570617676
2025-11-03T10:06:40.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:40
2025-11-03T10:06:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2178640365600586s
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3348489;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35461;2460982.8379676;10.11119444;1.3;_
2025-11-03T10:06:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3348489;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35461;2460982.8379676;10.11119444;1.3;_
2025-11-03T10:06:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:40.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3348489, teldec = -24.256596
2025-11-03T10:06:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3348489 -24.256596
2025-11-03T10:06:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3348489 -24.256596
2025-11-03T10:06:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3348489 -24.256596
2025-11-03T10:06:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3348489;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35461;2460982.83796763;10.11119444;1.3;_15.3098340203968 -24.1628278988163
2025-11-03T10:06:40.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3098340203968     dec_j2k = -24.1628278988163
2025-11-03T10:06:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968472373962359;171.162357330327;_
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968472373962359;171.162357330327;_
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45867)
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:40.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:40.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:40.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:40.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8379676, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968472373962359, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3348489, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3098340203968, telescope_dec_j2k=-24.1628278988163, observability=1)
2025-11-03T10:06:40.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:40
2025-11-03T10:06:40.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:40.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02181410789489746s
2025-11-03T10:06:40.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02181410789489746
2025-11-03T10:06:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:40
2025-11-03T10:06:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34352636337280273s
2025-11-03T10:06:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34352636337280273
2025-11-03T10:06:42.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:42
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9732551574707031s
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:42.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3354101;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35517;2460982.83799068;10.11175417;1.3;_
2025-11-03T10:06:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3354101;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35517;2460982.83799068;10.11175417;1.3;_
2025-11-03T10:06:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:42.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3354101, teldec = -24.256596
2025-11-03T10:06:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3354101 -24.256596
2025-11-03T10:06:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3354101 -24.256596
2025-11-03T10:06:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3354101 -24.256596
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3354101;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35517;2460982.83799072;10.11175417;1.3;_15.3103947944826 -24.1628435350887
2025-11-03T10:06:42.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3103947944826     dec_j2k = -24.1628435350887
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968468362768079;171.162357330327;_
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968468362768079;171.162357330327;_
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:42.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54209)
2025-11-03T10:06:42.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:42.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:42.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:42.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:42.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:42.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:42.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:42.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83799068, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968468362768079, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3354101, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3103947944826, telescope_dec_j2k=-24.1628435350887, observability=1)
2025-11-03T10:06:42.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:42
2025-11-03T10:06:42.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:42.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023602724075317383s
2025-11-03T10:06:42.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023602724075317383
2025-11-03T10:06:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:42
2025-11-03T10:06:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3549673557281494s
2025-11-03T10:06:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3549673557281494
2025-11-03T10:06:44.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:44
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.993253469467163s
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3359619;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35573;2460982.83801396;10.11230444;1.3;_
2025-11-03T10:06:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3359619;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35573;2460982.83801396;10.11230444;1.3;_
2025-11-03T10:06:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:44.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3359619, teldec = -24.256596
2025-11-03T10:06:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3359619 -24.256596
2025-11-03T10:06:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3359619 -24.256596
2025-11-03T10:06:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3359619 -24.256596
2025-11-03T10:06:44.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3359619;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35573;2460982.83801398;10.11230444;1.3;_15.3109461757621 -24.1628589114619
2025-11-03T10:06:44.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3109461757621     dec_j2k = -24.1628589114619
2025-11-03T10:06:44.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:44.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:44.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968469165006935;171.162357330327;_
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968469165006935;171.162357330327;_
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:44.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48513)
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:44.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:44.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:44.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83801396, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968469165006935, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3359619, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35573, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3109461757621, telescope_dec_j2k=-24.1628589114619, observability=1)
2025-11-03T10:06:44.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:44
2025-11-03T10:06:44.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:44.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02191781997680664s
2025-11-03T10:06:44.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02191781997680664
2025-11-03T10:06:44.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:44
2025-11-03T10:06:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34540367126464844s
2025-11-03T10:06:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34540367126464844
2025-11-03T10:06:46.281 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:46.281 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:46.281 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:46.281 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:46.282 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:46.283 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:06:46.284 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:06:46.284 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:06:46.284 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:46.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:46
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974670648574829s
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3365226;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35629;2460982.83803704;10.11286361;1.3;_
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3365226;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35629;2460982.83803704;10.11286361;1.3;_
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:46.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3365226, teldec = -24.256596
2025-11-03T10:06:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3365226 -24.256596
2025-11-03T10:06:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3365226 -24.256596
2025-11-03T10:06:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3365226 -24.256596
2025-11-03T10:06:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3365226;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35629;2460982.83803706;10.11286361;1.3;_15.3115064503486 -24.1628745378776
2025-11-03T10:06:46.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3115064503486     dec_j2k = -24.1628745378776
2025-11-03T10:06:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09684743795595;171.162351965909;_
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09684743795595;171.162351965909;_
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35837)
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:46.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:46.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:46.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:46.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:46.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:46.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:46.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:46.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83803704, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09684743795595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3365226, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35629, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3115064503486, telescope_dec_j2k=-24.1628745378776, observability=1)
2025-11-03T10:06:46.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:46
2025-11-03T10:06:46.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:46.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023283720016479492s
2025-11-03T10:06:46.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023283720016479492
2025-11-03T10:06:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:46
2025-11-03T10:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3541595935821533s
2025-11-03T10:06:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3541595935821533
2025-11-03T10:06:48.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:48
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829127788543701s
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3370741;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35684;2460982.83806021;10.11341361;1.3;_
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3370741;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35684;2460982.83806021;10.11341361;1.3;_
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:48.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3370741, teldec = -24.256596
2025-11-03T10:06:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3370741 -24.256596
2025-11-03T10:06:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3370741 -24.256596
2025-11-03T10:06:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3370741 -24.256596
2025-11-03T10:06:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3370741;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35684;2460982.83806023;10.11341361;1.3;_15.312057531975 -24.1628899098964
2025-11-03T10:06:48.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.312057531975     dec_j2k = -24.1628899098964
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968472373962359;171.162357330327;_
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968472373962359;171.162357330327;_
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38871)
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:48.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:48.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83806021, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968472373962359, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3370741, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35684, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.312057531975, telescope_dec_j2k=-24.1628899098964, observability=1)
2025-11-03T10:06:48.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:48
2025-11-03T10:06:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02183675765991211s
2025-11-03T10:06:48.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02183675765991211
2025-11-03T10:06:48.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:48
2025-11-03T10:06:48.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:48.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36105942726135254s
2025-11-03T10:06:48.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36105942726135254
2025-11-03T10:06:50.259 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:50.259 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Status age = 1.8409795761108398s
2025-11-03T10:06:50.259 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:50.259 [DEBUG] [Thread-88816 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:50.260 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:50.261 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:50.261 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 17;15.3376075;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35737;2460982.83808172;10.11394556;1.3;_
2025-11-03T10:06:50.261 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response 17;15.3376075;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35737;2460982.83808172;10.11394556;1.3;_
2025-11-03T10:06:50.262 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:50.262 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:50.262 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:50.263 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:50.263 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:50.263 [INFO] [Thread-88816 (handle)] [driver.py] [get_status()] Telra = 15.3376075, teldec = -24.256596
2025-11-03T10:06:50.263 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3376075 -24.256596
2025-11-03T10:06:50.263 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3376075 -24.256596
2025-11-03T10:06:50.263 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3376075 -24.256596
2025-11-03T10:06:50.264 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 17;15.3376075;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35737;2460982.83808176;10.11394556;1.3;_15.3125905273884 -24.1629047793006
2025-11-03T10:06:50.264 [INFO] [Thread-88816 (handle)] [driver.py] [get_status()] ra_j2k = 15.3125905273884     dec_j2k = -24.1629047793006
2025-11-03T10:06:50.264 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:50.264 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:50.264 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 140;0.0968472775081787;171.162362694745;_
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response 140;0.0968472775081787;171.162362694745;_
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:50.265 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:50.266 [DEBUG] [Thread-88816 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:50.266 [DEBUG] [Thread-88816 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:50.266 [DEBUG] [Thread-88816 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45529)
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:50.272 [DEBUG] [Thread-88816 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:50.280 [DEBUG] [Thread-88816 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:50.281 [INFO] [Thread-88816 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83808172, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968472775081787, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3376075, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35737, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3125905273884, telescope_dec_j2k=-24.1629047793006, observability=1)
2025-11-03T10:06:50.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:50
2025-11-03T10:06:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1164238452911377s
2025-11-03T10:06:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1164238452911377
2025-11-03T10:06:50.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:50
2025-11-03T10:06:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13765668869018555s
2025-11-03T10:06:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13765668869018555
2025-11-03T10:06:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:50
2025-11-03T10:06:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.482494592666626s
2025-11-03T10:06:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.482494592666626
2025-11-03T10:06:52.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:52
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.117175579071045s
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3381963;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35796;2460982.83810648;10.11453278;1.3;_
2025-11-03T10:06:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3381963;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35796;2460982.83810648;10.11453278;1.3;_
2025-11-03T10:06:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:52.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3381963, teldec = -24.256596
2025-11-03T10:06:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3381963 -24.256596
2025-11-03T10:06:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3381963 -24.256596
2025-11-03T10:06:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3381963 -24.256596
2025-11-03T10:06:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3381963;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35796;2460982.83810652;10.11453278;1.3;_15.3131788808449 -24.1629211952275
2025-11-03T10:06:52.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3131788808449     dec_j2k = -24.1629211952275
2025-11-03T10:06:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968473978440071;171.162362694745;_
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968473978440071;171.162362694745;_
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:52.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:52.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:52.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45329)
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:52.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:52.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83810648, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968473978440071, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3381963, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3131788808449, telescope_dec_j2k=-24.1629211952275, observability=1)
2025-11-03T10:06:52.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:52
2025-11-03T10:06:52.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:52.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026938438415527344s
2025-11-03T10:06:52.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026938438415527344
2025-11-03T10:06:52.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:52
2025-11-03T10:06:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34507060050964355s
2025-11-03T10:06:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34507060050964355
2025-11-03T10:06:54.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:54
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817240238189697s
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3387481;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35851;2460982.83812968;10.11508306;1.3;_
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3387481;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35851;2460982.83812968;10.11508306;1.3;_
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:54.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3387481, teldec = -24.256596
2025-11-03T10:06:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3387481 -24.256596
2025-11-03T10:06:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3387481 -24.256596
2025-11-03T10:06:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3387481 -24.256596
2025-11-03T10:06:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3387481;-24.256596;50.108533;89.993049;50.08601;90.12017;12.35851;2460982.8381297;10.11508306;1.3;_15.3137302624233 -24.1629365816363
2025-11-03T10:06:54.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3137302624233     dec_j2k = -24.1629365816363
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968474780678927;171.162357330327;_
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968474780678927;171.162357330327;_
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:54.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39317)
2025-11-03T10:06:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:54.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:54.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:54.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83812968, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968474780678927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108533, telescope_az=89.993049, telescope_ra=15.3387481, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35851, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3137302624233, telescope_dec_j2k=-24.1629365816363, observability=1)
2025-11-03T10:06:54.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:54
2025-11-03T10:06:54.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:54.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022035837173461914s
2025-11-03T10:06:54.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022035837173461914
2025-11-03T10:06:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:54
2025-11-03T10:06:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34209585189819336s
2025-11-03T10:06:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34209585189819336
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Status age = 1.8083786964416504s
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:56.229 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:56.230 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:56.231 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 17;15.3392537;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35902;2460982.83815081;10.11558722;1.3;_
2025-11-03T10:06:56.231 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response 17;15.3392537;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35902;2460982.83815081;10.11558722;1.3;_
2025-11-03T10:06:56.231 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:56.231 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:56.231 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:56.232 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:56.232 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:56.232 [INFO] [Thread-88817 (handle)] [driver.py] [get_status()] Telra = 15.3392537, teldec = -24.256596
2025-11-03T10:06:56.232 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3392537 -24.256596
2025-11-03T10:06:56.232 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3392537 -24.256596
2025-11-03T10:06:56.232 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3392537 -24.256596
2025-11-03T10:06:56.233 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 17;15.3392537;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35902;2460982.83815084;10.11558722;1.3;_15.3142354790864 -24.162950681547
2025-11-03T10:06:56.233 [INFO] [Thread-88817 (handle)] [driver.py] [get_status()] ra_j2k = 15.3142354790864     dec_j2k = -24.162950681547
2025-11-03T10:06:56.233 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:56.233 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:56.233 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 140;0.0968475181798356;171.162357330327;_
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response 140;0.0968475181798356;171.162357330327;_
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:56.234 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:56.235 [DEBUG] [Thread-88817 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41353)
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:56.239 [DEBUG] [Thread-88817 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:56.246 [DEBUG] [Thread-88817 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:56.246 [DEBUG] [Thread-88817 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:56.246 [DEBUG] [Thread-88817 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:56.247 [DEBUG] [Thread-88817 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:56.247 [INFO] [Thread-88817 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83815081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968475181798356, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3392537, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35902, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3142354790864, telescope_dec_j2k=-24.162950681547, observability=1)
2025-11-03T10:06:56.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:56
2025-11-03T10:06:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1487257480621338s
2025-11-03T10:06:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1487257480621338
2025-11-03T10:06:56.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:56
2025-11-03T10:06:56.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:56.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17052531242370605s
2025-11-03T10:06:56.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17052531242370605
2025-11-03T10:06:56.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:56
2025-11-03T10:06:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5178916454315186s
2025-11-03T10:06:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5178916454315186
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.7422585487365723s
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:06:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:06:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:06:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:06:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3397578;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35952;2460982.8381712;10.11609;1.3;_
2025-11-03T10:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.3397578;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35952;2460982.8381712;10.11609;1.3;_
2025-11-03T10:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:06:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:06:57.993 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.3397578, teldec = -24.256596
2025-11-03T10:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3397578 -24.256596
2025-11-03T10:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3397578 -24.256596
2025-11-03T10:06:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3397578 -24.256596
2025-11-03T10:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3397578;-24.256596;50.108532;89.993049;50.08601;90.12017;12.35952;2460982.83817123;10.11609;1.3;_15.3147391969362 -24.1629647412866
2025-11-03T10:06:57.994 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.3147391969362     dec_j2k = -24.1629647412866
2025-11-03T10:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:06:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968475181798356;171.162351965909;_
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968475181798356;171.162351965909;_
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:06:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:06:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:06:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:06:57.998 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50229)
2025-11-03T10:06:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:06:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:06:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:06:57.999 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:06:57.999 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:06:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:06:58.006 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8381712, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968475181798356, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3397578, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.35952, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3147391969362, telescope_dec_j2k=-24.1629647412866, observability=1)
2025-11-03T10:06:58.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:58
2025-11-03T10:06:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39082932472229004s
2025-11-03T10:06:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39082932472229004
2025-11-03T10:06:58.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:58
2025-11-03T10:06:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4132115840911865s
2025-11-03T10:06:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4132115840911865
2025-11-03T10:06:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:06:58
2025-11-03T10:06:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:06:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7570095062255859s
2025-11-03T10:06:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7570095062255859
2025-11-03T10:07:00.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:00
2025-11-03T10:07:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3881895542144775s
2025-11-03T10:07:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3404227;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36019;2460982.83819904;10.11675306;1.3;_
2025-11-03T10:07:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3404227;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36019;2460982.83819904;10.11675306;1.3;_
2025-11-03T10:07:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:00.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3404227, teldec = -24.256596
2025-11-03T10:07:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3404227 -24.256596
2025-11-03T10:07:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3404227 -24.256596
2025-11-03T10:07:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3404227 -24.256596
2025-11-03T10:07:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3404227;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36019;2460982.83819906;10.11675306;1.3;_15.3154035929618 -24.1629832883977
2025-11-03T10:07:00.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3154035929618     dec_j2k = -24.1629832883977
2025-11-03T10:07:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968475984037212;171.162351965909;_
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968475984037212;171.162351965909;_
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49501)
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:00.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:00.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:00.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:00.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83819904, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968475984037212, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3404227, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3154035929618, telescope_dec_j2k=-24.1629832883977, observability=1)
2025-11-03T10:07:00.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:00
2025-11-03T10:07:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021799802780151367s
2025-11-03T10:07:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021799802780151367
2025-11-03T10:07:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:00
2025-11-03T10:07:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3509700298309326s
2025-11-03T10:07:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3509700298309326
2025-11-03T10:07:01.945 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5338904857635498s
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:01.946 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:01.947 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:01.947 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:01.947 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:01.947 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:01.947 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:01.949 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3408436;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36061;2460982.83821699;10.11717278;1.3;_
2025-11-03T10:07:01.949 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.3408436;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36061;2460982.83821699;10.11717278;1.3;_
2025-11-03T10:07:01.949 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:01.949 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:01.949 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:01.953 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:01.953 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:01.953 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.3408436, teldec = -24.256596
2025-11-03T10:07:01.953 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3408436 -24.256596
2025-11-03T10:07:01.953 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3408436 -24.256596
2025-11-03T10:07:01.953 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3408436 -24.256596
2025-11-03T10:07:01.955 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3408436;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36061;2460982.83821706;10.11717278;1.3;_15.3158241739766 -24.1629950307196
2025-11-03T10:07:01.955 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.3158241739766     dec_j2k = -24.1629950307196
2025-11-03T10:07:01.955 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:01.955 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:01.955 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.096847638515664;171.162362694745;_
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.096847638515664;171.162362694745;_
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:01.959 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:01.960 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:01.962 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:01.962 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:01.962 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:01.965 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48643)
2025-11-03T10:07:01.965 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:01.965 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:01.966 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:01.966 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:01.966 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:01.973 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:01.974 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83821699, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096847638515664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3408436, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36061, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3158241739766, telescope_dec_j2k=-24.1629950307196, observability=1)
2025-11-03T10:07:02.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:02
2025-11-03T10:07:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42603325843811035s
2025-11-03T10:07:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42603325843811035
2025-11-03T10:07:02.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:02
2025-11-03T10:07:02.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:02.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44785428047180176s
2025-11-03T10:07:02.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44785428047180176
2025-11-03T10:07:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:02
2025-11-03T10:07:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7916479110717773s
2025-11-03T10:07:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7916479110717773
2025-11-03T10:07:04.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:04
2025-11-03T10:07:04.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.425048351287842s
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3415355;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3613;2460982.83824537;10.11786278;1.3;_
2025-11-03T10:07:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3415355;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3613;2460982.83824537;10.11786278;1.3;_
2025-11-03T10:07:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:04.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3415355, teldec = -24.256596
2025-11-03T10:07:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3415355 -24.256596
2025-11-03T10:07:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3415355 -24.256596
2025-11-03T10:07:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3415355 -24.256596
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3415355;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3613;2460982.8382454;10.11786278;1.3;_15.316515549685 -24.1630143359443
2025-11-03T10:07:04.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.316515549685     dec_j2k = -24.1630143359443
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968477588514924;171.162351965909;_
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968477588514924;171.162351965909;_
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60621)
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:04.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:04.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:04.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83824537, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968477588514924, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3415355, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.316515549685, telescope_dec_j2k=-24.1630143359443, observability=1)
2025-11-03T10:07:04.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:04
2025-11-03T10:07:04.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:04.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022037982940673828s
2025-11-03T10:07:04.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022037982940673828
2025-11-03T10:07:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:04
2025-11-03T10:07:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3440272808074951s
2025-11-03T10:07:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3440272808074951
2025-11-03T10:07:06.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:06
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805054664611816s
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3420967;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36186;2460982.83826852;10.1184225;1.3;_
2025-11-03T10:07:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3420967;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36186;2460982.83826852;10.1184225;1.3;_
2025-11-03T10:07:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:06.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3420967, teldec = -24.256596
2025-11-03T10:07:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3420967 -24.256596
2025-11-03T10:07:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3420967 -24.256596
2025-11-03T10:07:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3420967 -24.256596
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3420967;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36186;2460982.83826855;10.1184225;1.3;_15.3170763245006 -24.1630299967018
2025-11-03T10:07:06.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3170763245006     dec_j2k = -24.1630299967018
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968479192992636;171.162362694745;_
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968479192992636;171.162362694745;_
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53545)
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:06.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:06.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:06.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:06.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:06.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83826852, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968479192992636, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3420967, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36186, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3170763245006, telescope_dec_j2k=-24.1630299967018, observability=1)
2025-11-03T10:07:06.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:06
2025-11-03T10:07:06.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:06.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.036554813385009766s
2025-11-03T10:07:06.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.036554813385009766
2025-11-03T10:07:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:06
2025-11-03T10:07:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34331321716308594s
2025-11-03T10:07:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34331321716308594
2025-11-03T10:07:08.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:08
2025-11-03T10:07:08.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:08.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.372767448425293s
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:08.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:08.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3427599;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36252;2460982.83829623;10.11908389;1.3;_
2025-11-03T10:07:08.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3427599;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36252;2460982.83829623;10.11908389;1.3;_
2025-11-03T10:07:08.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:08.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:08.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:08.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:08.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:08.795 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3427599, teldec = -24.256596
2025-11-03T10:07:08.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3427599 -24.256596
2025-11-03T10:07:08.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3427599 -24.256596
2025-11-03T10:07:08.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3427599 -24.256596
2025-11-03T10:07:08.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3427599;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36252;2460982.83829625;10.11908389;1.3;_15.3177390221165 -24.1630485065014
2025-11-03T10:07:08.796 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3177390221165     dec_j2k = -24.1630485065014
2025-11-03T10:07:08.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968477187395496;171.162357330327;_
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968477187395496;171.162357330327;_
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:08.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:08.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:08.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:08.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:08.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:08.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:08.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:08.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:08.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:08.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:08.804 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38463)
2025-11-03T10:07:08.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:08.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:08.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:08.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:08.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:08.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:08.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83829623, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968477187395496, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3427599, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36252, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3177390221165, telescope_dec_j2k=-24.1630485065014, observability=1)
2025-11-03T10:07:08.926 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:08
2025-11-03T10:07:08.926 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:08.926 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11390376091003418s
2025-11-03T10:07:08.926 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11390376091003418
2025-11-03T10:07:09.056 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:09
2025-11-03T10:07:09.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:09.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24453067779541016s
2025-11-03T10:07:09.057 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24453067779541016
2025-11-03T10:07:10.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:10
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5927071571350098s
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3432087;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36297;2460982.83831488;10.11953139;1.3;_
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3432087;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36297;2460982.83831488;10.11953139;1.3;_
2025-11-03T10:07:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:10.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3432087, teldec = -24.256596
2025-11-03T10:07:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3432087 -24.256596
2025-11-03T10:07:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3432087 -24.256596
2025-11-03T10:07:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3432087 -24.256596
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3432087;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36297;2460982.83831492;10.11953139;1.3;_15.3181874821922 -24.1630610340595
2025-11-03T10:07:10.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3181874821922     dec_j2k = -24.1630610340595
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968478791873208;171.162351965909;_
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968478791873208;171.162351965909;_
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:10.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:10.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:10.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48179)
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:10.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83831488, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968478791873208, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3432087, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36297, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3181874821922, telescope_dec_j2k=-24.1630610340595, observability=1)
2025-11-03T10:07:10.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:10
2025-11-03T10:07:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022803783416748047s
2025-11-03T10:07:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022803783416748047
2025-11-03T10:07:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:10
2025-11-03T10:07:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34119510650634766s
2025-11-03T10:07:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34119510650634766
2025-11-03T10:07:12.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:12
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9703092575073242s
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:12.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3437685;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36353;2460982.83833792;10.12008972;1.3;_
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3437685;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36353;2460982.83833792;10.12008972;1.3;_
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:12.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3437685, teldec = -24.256596
2025-11-03T10:07:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3437685 -24.256596
2025-11-03T10:07:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3437685 -24.256596
2025-11-03T10:07:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3437685 -24.256596
2025-11-03T10:07:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3437685;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36353;2460982.83833794;10.12008972;1.3;_15.3187468582508 -24.1630766618505
2025-11-03T10:07:12.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3187468582508     dec_j2k = -24.1630766618505
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968481599709204;171.162357330327;_
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968481599709204;171.162357330327;_
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41221)
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:12.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:12.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:12.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:12.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:12.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83833792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968481599709204, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3437685, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3187468582508, telescope_dec_j2k=-24.1630766618505, observability=1)
2025-11-03T10:07:12.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:12
2025-11-03T10:07:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023637771606445312s
2025-11-03T10:07:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023637771606445312
2025-11-03T10:07:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:12
2025-11-03T10:07:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35007357597351074s
2025-11-03T10:07:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35007357597351074
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Status age = 1.9404280185699463s
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:14.354 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:14.355 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:14.356 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 17;15.3443189;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36408;2460982.8383606;10.12063861;1.3;_
2025-11-03T10:07:14.356 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response 17;15.3443189;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36408;2460982.8383606;10.12063861;1.3;_
2025-11-03T10:07:14.356 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:14.356 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:14.356 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:14.357 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:14.357 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:14.357 [INFO] [Thread-88818 (handle)] [driver.py] [get_status()] Telra = 15.3443189, teldec = -24.256596
2025-11-03T10:07:14.357 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3443189 -24.256596
2025-11-03T10:07:14.357 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3443189 -24.256596
2025-11-03T10:07:14.357 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3443189 -24.256596
2025-11-03T10:07:14.358 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 17;15.3443189;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36408;2460982.83836062;10.12063861;1.3;_15.3192968414875 -24.1630920292146
2025-11-03T10:07:14.358 [INFO] [Thread-88818 (handle)] [driver.py] [get_status()] ra_j2k = 15.3192968414875     dec_j2k = -24.1630920292146
2025-11-03T10:07:14.358 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:14.358 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:14.358 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 140;0.0968479192992636;171.162357330327;_
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response 140;0.0968479192992636;171.162357330327;_
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:14.359 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:14.360 [DEBUG] [Thread-88818 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41401)
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:14.361 [DEBUG] [Thread-88818 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:14.369 [DEBUG] [Thread-88818 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:14.369 [INFO] [Thread-88818 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8383606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968479192992636, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3443189, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3192968414875, telescope_dec_j2k=-24.1630920292146, observability=1)
2025-11-03T10:07:14.394 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:07:14
2025-11-03T10:07:14.394 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:14.394 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.025131702423095703s
2025-11-03T10:07:14.394 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025131702423095703
2025-11-03T10:07:14.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:14
2025-11-03T10:07:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.029291152954101562s
2025-11-03T10:07:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.029291152954101562
2025-11-03T10:07:14.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:14
2025-11-03T10:07:14.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:14.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05371546745300293s
2025-11-03T10:07:14.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05371546745300293
2025-11-03T10:07:14.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:14
2025-11-03T10:07:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39229893684387207s
2025-11-03T10:07:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39229893684387207
2025-11-03T10:07:16.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:16
2025-11-03T10:07:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.029496669769287s
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3448807;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36464;2460982.83838426;10.12119889;1.3;_
2025-11-03T10:07:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3448807;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36464;2460982.83838426;10.12119889;1.3;_
2025-11-03T10:07:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:16.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3448807, teldec = -24.256596
2025-11-03T10:07:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3448807 -24.256596
2025-11-03T10:07:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3448807 -24.256596
2025-11-03T10:07:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3448807 -24.256596
2025-11-03T10:07:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3448807;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36464;2460982.83838428;10.12119889;1.3;_15.3198582161531 -24.1631077169058
2025-11-03T10:07:16.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3198582161531     dec_j2k = -24.1631077169058
2025-11-03T10:07:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968477989634352;171.162357330327;_
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968477989634352;171.162357330327;_
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:16.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60137)
2025-11-03T10:07:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:16.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:16.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:16.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83838426, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968477989634352, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3448807, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36464, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3198582161531, telescope_dec_j2k=-24.1631077169058, observability=1)
2025-11-03T10:07:16.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:16
2025-11-03T10:07:16.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:16.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0268404483795166s
2025-11-03T10:07:16.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0268404483795166
2025-11-03T10:07:16.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:16
2025-11-03T10:07:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3524618148803711s
2025-11-03T10:07:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3524618148803711
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.4606590270996094s
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:17.880 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:17.881 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:17.881 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:17.881 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:17.881 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:17.881 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:17.882 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3453016;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36507;2460982.83840141;10.12161861;1.3;_
2025-11-03T10:07:17.882 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.3453016;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36507;2460982.83840141;10.12161861;1.3;_
2025-11-03T10:07:17.882 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:17.882 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:17.882 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:17.883 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:17.883 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:17.883 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.3453016, teldec = -24.256596
2025-11-03T10:07:17.883 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.3453016 -24.256596
2025-11-03T10:07:17.883 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.3453016 -24.256596
2025-11-03T10:07:17.883 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3453016 -24.256596
2025-11-03T10:07:17.884 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3453016;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36507;2460982.83840144;10.12161861;1.3;_15.3202787975332 -24.1631194714553
2025-11-03T10:07:17.884 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3202787975332     dec_j2k = -24.1631194714553
2025-11-03T10:07:17.884 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:17.884 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:17.884 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968479192992636;171.162357330327;_
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968479192992636;171.162357330327;_
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:17.885 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:17.886 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:17.886 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:17.886 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55451)
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:17.888 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:17.896 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:07:17.896 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83840141, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968479192992636, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3453016, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36507, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:06:20.261931', telescope_ra_j2k=15.3202787975332, telescope_dec_j2k=-24.1631194714553, observability=1)
2025-11-03T10:07:17.896 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5020976066589355 seconds ago
2025-11-03T10:07:18.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:18
2025-11-03T10:07:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5019598007202148s
2025-11-03T10:07:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5019598007202148
2025-11-03T10:07:18.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:18
2025-11-03T10:07:18.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:18.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5237855911254883s
2025-11-03T10:07:18.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5237855911254883
2025-11-03T10:07:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:18
2025-11-03T10:07:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8672211170196533s
2025-11-03T10:07:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8672211170196533
2025-11-03T10:07:20.403 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:20.403 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:20.403 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:20.403 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:20.403 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:20.404 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:20.404 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:20.405 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:20.405 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:20.405 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:20.405 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:07:20.405 [INFO] [ThreadPoolExecutor-3443_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:07:20.405 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T10:07:20.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:20
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5105884075164795s
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3459938;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36576;2460982.83843064;10.12230889;1.3;_
2025-11-03T10:07:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3459938;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36576;2460982.83843064;10.12230889;1.3;_
2025-11-03T10:07:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:20.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3459938, teldec = -24.256596
2025-11-03T10:07:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3459938 -24.256596
2025-11-03T10:07:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3459938 -24.256596
2025-11-03T10:07:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3459938 -24.256596
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3459938;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36576;2460982.83843067;10.12230889;1.3;_15.3209704736152 -24.163138805157
2025-11-03T10:07:20.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3209704736152     dec_j2k = -24.163138805157
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096848039635092;171.162357330327;_
2025-11-03T10:07:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096848039635092;171.162357330327;_
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56125)
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:20.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:20.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83843064, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096848039635092, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3459938, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36576, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3209704736152, telescope_dec_j2k=-24.163138805157, observability=1)
2025-11-03T10:07:20.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:20
2025-11-03T10:07:20.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:20.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024087190628051758s
2025-11-03T10:07:20.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024087190628051758
2025-11-03T10:07:20.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:20
2025-11-03T10:07:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3442568778991699s
2025-11-03T10:07:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3442568778991699
2025-11-03T10:07:22.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:22
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9749207496643066s
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3465539;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36632;2460982.83845369;10.1228675;1.3;_
2025-11-03T10:07:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3465539;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36632;2460982.83845369;10.1228675;1.3;_
2025-11-03T10:07:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:22.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3465539, teldec = -24.256596
2025-11-03T10:07:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3465539 -24.256596
2025-11-03T10:07:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3465539 -24.256596
2025-11-03T10:07:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3465539 -24.256596
2025-11-03T10:07:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3465539;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36632;2460982.83845372;10.1228675;1.3;_15.3215301497504 -24.163154451483
2025-11-03T10:07:22.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3215301497504     dec_j2k = -24.163154451483
2025-11-03T10:07:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968478791873208;171.162368059163;_
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968478791873208;171.162368059163;_
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44403)
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:22.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:22.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:22.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:22.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:22.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:22.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83845369, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968478791873208, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3465539, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36632, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3215301497504, telescope_dec_j2k=-24.163154451483, observability=1)
2025-11-03T10:07:22.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:22
2025-11-03T10:07:22.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:22.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02179861068725586s
2025-11-03T10:07:22.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02179861068725586
2025-11-03T10:07:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:22
2025-11-03T10:07:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34503841400146484s
2025-11-03T10:07:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34503841400146484
2025-11-03T10:07:24.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:24
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9884495735168457s
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3471135;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36688;2460982.83847694;10.12342556;1.3;_
2025-11-03T10:07:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3471135;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36688;2460982.83847694;10.12342556;1.3;_
2025-11-03T10:07:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:24.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3471135, teldec = -24.256596
2025-11-03T10:07:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3471135 -24.256596
2025-11-03T10:07:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3471135 -24.256596
2025-11-03T10:07:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3471135 -24.256596
2025-11-03T10:07:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3471135;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36688;2460982.83847697;10.12342556;1.3;_15.3220893263252 -24.1631700858809
2025-11-03T10:07:24.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3220893263252     dec_j2k = -24.1631700858809
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488017620053;171.162357330327;_
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488017620053;171.162357330327;_
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58849)
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:24.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:24.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83847694, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488017620053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3471135, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36688, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3220893263252, telescope_dec_j2k=-24.1631700858809, observability=1)
2025-11-03T10:07:24.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:24
2025-11-03T10:07:24.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:24.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027371883392333984s
2025-11-03T10:07:24.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027371883392333984
2025-11-03T10:07:24.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:24
2025-11-03T10:07:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33997106552124023s
2025-11-03T10:07:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33997106552124023
2025-11-03T10:07:26.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:26
2025-11-03T10:07:26.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:26.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0253498554229736s
2025-11-03T10:07:26.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:26.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:26.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3476645;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36743;2460982.83850061;10.123975;1.3;_
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3476645;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36743;2460982.83850061;10.123975;1.3;_
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:26.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:26.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:26.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:26.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:26.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3476645, teldec = -24.256596
2025-11-03T10:07:26.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3476645 -24.256596
2025-11-03T10:07:26.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3476645 -24.256596
2025-11-03T10:07:26.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3476645 -24.256596
2025-11-03T10:07:26.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3476645;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36743;2460982.83850064;10.123975;1.3;_15.3226399094668 -24.1631854819989
2025-11-03T10:07:26.456 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3226399094668     dec_j2k = -24.1631854819989
2025-11-03T10:07:26.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:26.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:26.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968480797470348;171.162368059163;_
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968480797470348;171.162368059163;_
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:26.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:26.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:26.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:26.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:26.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35885)
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:26.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:26.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:26.472 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83850061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968480797470348, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3476645, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3226399094668, telescope_dec_j2k=-24.1631854819989, observability=1)
2025-11-03T10:07:26.494 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:26
2025-11-03T10:07:26.494 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:26.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022340774536132812s
2025-11-03T10:07:26.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022340774536132812
2025-11-03T10:07:26.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:26
2025-11-03T10:07:26.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:26.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30585265159606934s
2025-11-03T10:07:26.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30585265159606934
2025-11-03T10:07:28.519 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:28
2025-11-03T10:07:28.519 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:28.519 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.047222137451172s
2025-11-03T10:07:28.519 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:28.519 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:28.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:28.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.348253;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36802;2460982.83852455;10.12456194;1.3;_
2025-11-03T10:07:28.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.348253;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36802;2460982.83852455;10.12456194;1.3;_
2025-11-03T10:07:28.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:28.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:28.521 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:28.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:28.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:28.522 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.348253, teldec = -24.256596
2025-11-03T10:07:28.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.348253 -24.256596
2025-11-03T10:07:28.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.348253 -24.256596
2025-11-03T10:07:28.522 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.348253 -24.256596
2025-11-03T10:07:28.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.348253;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36802;2460982.83852457;10.12456194;1.3;_15.3232279643031 -24.1632019281291
2025-11-03T10:07:28.523 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3232279643031     dec_j2k = -24.1632019281291
2025-11-03T10:07:28.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:28.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:28.523 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968484808664629;171.162351965909;_
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968484808664629;171.162351965909;_
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:28.524 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:28.525 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:28.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:28.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:28.526 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:28.532 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46617)
2025-11-03T10:07:28.532 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:28.532 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:28.533 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:28.533 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:28.533 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:28.540 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:28.540 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83852455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968484808664629, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.348253, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3232279643031, telescope_dec_j2k=-24.1632019281291, observability=1)
2025-11-03T10:07:28.563 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:28
2025-11-03T10:07:28.563 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:28.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02344202995300293s
2025-11-03T10:07:28.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02344202995300293
2025-11-03T10:07:28.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:28
2025-11-03T10:07:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22810840606689453s
2025-11-03T10:07:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22810840606689453
2025-11-03T10:07:30.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:30
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9107425212860107s
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.348785;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36855;2460982.83854691;10.1250925;1.3;_
2025-11-03T10:07:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.348785;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36855;2460982.83854691;10.1250925;1.3;_
2025-11-03T10:07:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:30.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.348785, teldec = -24.256596
2025-11-03T10:07:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.348785 -24.256596
2025-11-03T10:07:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.348785 -24.256596
2025-11-03T10:07:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.348785 -24.256596
2025-11-03T10:07:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.348785;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36855;2460982.83854693;10.1250925;1.3;_15.3237595619364 -24.1632167972581
2025-11-03T10:07:30.455 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3237595619364     dec_j2k = -24.1632167972581
2025-11-03T10:07:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096847638515664;171.162357330327;_
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096847638515664;171.162357330327;_
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:30.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:30.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:30.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:30.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58957)
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:30.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:30.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:30.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:30.470 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:30.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:30.471 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83854691, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096847638515664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.348785, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36855, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3237595619364, telescope_dec_j2k=-24.1632167972581, observability=1)
2025-11-03T10:07:30.496 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:30
2025-11-03T10:07:30.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:30.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02574634552001953s
2025-11-03T10:07:30.497 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02574634552001953
2025-11-03T10:07:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:30
2025-11-03T10:07:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28954482078552246s
2025-11-03T10:07:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28954482078552246
2025-11-03T10:07:32.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:32
2025-11-03T10:07:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.924588918685913s
2025-11-03T10:07:32.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:32.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.349336;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3691;2460982.83856941;10.12564194;1.3;_
2025-11-03T10:07:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.349336;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3691;2460982.83856941;10.12564194;1.3;_
2025-11-03T10:07:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:32.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.349336, teldec = -24.256596
2025-11-03T10:07:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.349336 -24.256596
2025-11-03T10:07:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.349336 -24.256596
2025-11-03T10:07:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.349336 -24.256596
2025-11-03T10:07:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.349336;-24.256596;50.108532;89.993049;50.08601;90.12017;12.3691;2460982.83856943;10.12564194;1.3;_15.3243101452576 -24.1632321993685
2025-11-03T10:07:32.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3243101452576     dec_j2k = -24.1632321993685
2025-11-03T10:07:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968482401948061;171.162362694745;_
2025-11-03T10:07:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968482401948061;171.162362694745;_
2025-11-03T10:07:32.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46167)
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:32.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:32.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:32.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:32.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83856941, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968482401948061, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.349336, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3243101452576, telescope_dec_j2k=-24.1632321993685, observability=1)
2025-11-03T10:07:32.421 [DEBUG] [Thread-88819 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:32.421 [DEBUG] [Thread-88819 (handle)] [server.py] [get_status()] Status age = 0.009029388427734375s
2025-11-03T10:07:32.421 [DEBUG] [Thread-88819 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.009029388427734375
2025-11-03T10:07:32.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:32
2025-11-03T10:07:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025812387466430664s
2025-11-03T10:07:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025812387466430664
2025-11-03T10:07:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:32
2025-11-03T10:07:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35461997985839844s
2025-11-03T10:07:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35461997985839844
2025-11-03T10:07:34.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:34
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9952068328857422s
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3498964;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36966;2460982.8385927;10.12620083;1.3;_
2025-11-03T10:07:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3498964;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36966;2460982.8385927;10.12620083;1.3;_
2025-11-03T10:07:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:34.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3498964, teldec = -24.256596
2025-11-03T10:07:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3498964 -24.256596
2025-11-03T10:07:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3498964 -24.256596
2025-11-03T10:07:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3498964 -24.256596
2025-11-03T10:07:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3498964;-24.256596;50.108532;89.993049;50.08601;90.12017;12.36966;2460982.83859272;10.12620083;1.3;_15.324870121531 -24.1632478662627
2025-11-03T10:07:34.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.324870121531     dec_j2k = -24.1632478662627
2025-11-03T10:07:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968484808664629;171.162357330327;_
2025-11-03T10:07:34.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968484808664629;171.162357330327;_
2025-11-03T10:07:34.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:34.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:34.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:34.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:34.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:34.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:34.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:34.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39823)
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:34.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:34.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:34.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:34.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8385927, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968484808664629, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3498964, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.36966, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.324870121531, telescope_dec_j2k=-24.1632478662627, observability=1)
2025-11-03T10:07:34.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:34
2025-11-03T10:07:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022331714630126953s
2025-11-03T10:07:34.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022331714630126953
2025-11-03T10:07:34.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:34
2025-11-03T10:07:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.351778507232666s
2025-11-03T10:07:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.351778507232666
2025-11-03T10:07:36.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:36
2025-11-03T10:07:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9717597961425781s
2025-11-03T10:07:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3504563;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37022;2460982.83861571;10.12675917;1.3;_
2025-11-03T10:07:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3504563;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37022;2460982.83861571;10.12675917;1.3;_
2025-11-03T10:07:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:36.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3504563, teldec = -24.256596
2025-11-03T10:07:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3504563 -24.256596
2025-11-03T10:07:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3504563 -24.256596
2025-11-03T10:07:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3504563 -24.256596
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3504563;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37022;2460982.83861574;10.12675917;1.3;_15.3254295982436 -24.1632635212182
2025-11-03T10:07:36.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3254295982436     dec_j2k = -24.1632635212182
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968483605306345;171.162351965909;_
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968483605306345;171.162351965909;_
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35089)
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:36.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:36.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83861571, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968483605306345, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3504563, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37022, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3254295982436, telescope_dec_j2k=-24.1632635212182, observability=1)
2025-11-03T10:07:36.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:36
2025-11-03T10:07:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024088144302368164s
2025-11-03T10:07:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024088144302368164
2025-11-03T10:07:36.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:36
2025-11-03T10:07:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34856128692626953s
2025-11-03T10:07:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34856128692626953
2025-11-03T10:07:38.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:38
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793522357940674s
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3510064;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37077;2460982.83863885;10.12730778;1.3;_
2025-11-03T10:07:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3510064;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37077;2460982.83863885;10.12730778;1.3;_
2025-11-03T10:07:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:38.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3510064, teldec = -24.256596
2025-11-03T10:07:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3510064 -24.256596
2025-11-03T10:07:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3510064 -24.256596
2025-11-03T10:07:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3510064 -24.256596
2025-11-03T10:07:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3510064;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37077;2460982.83863888;10.12730778;1.3;_15.3259792824247 -24.1632789041481
2025-11-03T10:07:38.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3259792824247     dec_j2k = -24.1632789041481
2025-11-03T10:07:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488017620053;171.162362694745;_
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488017620053;171.162362694745;_
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:38.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52841)
2025-11-03T10:07:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:38.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:38.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:38.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:38.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83863885, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488017620053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3510064, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3259792824247, telescope_dec_j2k=-24.1632789041481, observability=1)
2025-11-03T10:07:38.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:38
2025-11-03T10:07:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022126436233520508s
2025-11-03T10:07:38.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022126436233520508
2025-11-03T10:07:38.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:38
2025-11-03T10:07:38.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34932541847229004s
2025-11-03T10:07:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34932541847229004
2025-11-03T10:07:40.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:40
2025-11-03T10:07:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983212947845459s
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3515671;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37133;2460982.83866204;10.12786694;1.3;_
2025-11-03T10:07:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3515671;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37133;2460982.83866204;10.12786694;1.3;_
2025-11-03T10:07:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:40.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3515671, teldec = -24.256596
2025-11-03T10:07:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3515671 -24.256596
2025-11-03T10:07:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3515671 -24.256596
2025-11-03T10:07:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3515671 -24.256596
2025-11-03T10:07:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3515671;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37133;2460982.83866206;10.12786694;1.3;_15.326539558654 -24.1632945855196
2025-11-03T10:07:40.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.326539558654     dec_j2k = -24.1632945855196
2025-11-03T10:07:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968483204186917;171.162362694745;_
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968483204186917;171.162362694745;_
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46135)
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:40.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:40.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:40.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83866204, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968483204186917, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3515671, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37133, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.326539558654, telescope_dec_j2k=-24.1632945855196, observability=1)
2025-11-03T10:07:40.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:40
2025-11-03T10:07:40.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:40.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02257251739501953s
2025-11-03T10:07:40.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02257251739501953
2025-11-03T10:07:40.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:40
2025-11-03T10:07:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3517172336578369s
2025-11-03T10:07:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3517172336578369
2025-11-03T10:07:41.284 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.285 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.285 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:41.285 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:41.285 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:07:41.286 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:41.287 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:41.288 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:07:41.289 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:41.290 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Park
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:07:41.291 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:07:41.292 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 29;15.3518194;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37158;2460982.83867236;10.12811861;1.3;_Park Command Successful
2025-11-03T10:07:42.292 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:07:42.292 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:07:42.292 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:07:42.293 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:07:42.293 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:07:42.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:42
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812138080596924s
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3521275;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37189;2460982.83868515;10.12842583;1.3;_
2025-11-03T10:07:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3521275;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37189;2460982.83868515;10.12842583;1.3;_
2025-11-03T10:07:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:42.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3521275, teldec = -24.256596
2025-11-03T10:07:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3521275 -24.256596
2025-11-03T10:07:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3521275 -24.256596
2025-11-03T10:07:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3521275 -24.256596
2025-11-03T10:07:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3521275;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37189;2460982.83868517;10.12842583;1.3;_15.3270995351714 -24.1633102605428
2025-11-03T10:07:42.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3270995351714     dec_j2k = -24.1633102605428
2025-11-03T10:07:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968486413142341;171.162362694745;_
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968486413142341;171.162362694745;_
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:42.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34095)
2025-11-03T10:07:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:42.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:42.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:42.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83868515, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968486413142341, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3521275, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3270995351714, telescope_dec_j2k=-24.1633102605428, observability=1)
2025-11-03T10:07:42.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:42
2025-11-03T10:07:42.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:42.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023227453231811523s
2025-11-03T10:07:42.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023227453231811523
2025-11-03T10:07:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:42
2025-11-03T10:07:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3478686809539795s
2025-11-03T10:07:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3478686809539795
2025-11-03T10:07:43.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:07:43.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:07:43.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:07:43.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:07:43.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:07:44.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:07:44.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:07:44.294 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:07:44.295 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:07:44.295 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:07:44.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:44
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.348104238510132s
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3527617;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37253;2460982.83871256;10.12905833;1.3;_
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3527617;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37253;2460982.83871256;10.12905833;1.3;_
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:44.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3527617, teldec = -24.256596
2025-11-03T10:07:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3527617 -24.256596
2025-11-03T10:07:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3527617 -24.256596
2025-11-03T10:07:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3527617 -24.256596
2025-11-03T10:07:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3527617;-24.256596;50.108532;89.993049;50.08601;90.12017;12.37253;2460982.83871258;10.12905833;1.3;_15.3277332559936 -24.1633280022974
2025-11-03T10:07:44.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3277332559936     dec_j2k = -24.1633280022974
2025-11-03T10:07:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968487215381197;171.162357330327;_
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968487215381197;171.162357330327;_
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42743)
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:44.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:44.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:44.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:44.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:44.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:44.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83871256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968487215381197, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108532, telescope_az=89.993049, telescope_ra=15.3527617, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37253, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3277332559936, telescope_dec_j2k=-24.1633280022974, observability=1)
2025-11-03T10:07:44.944 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:44
2025-11-03T10:07:44.944 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:44.944 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1641979217529297s
2025-11-03T10:07:44.944 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1641979217529297
2025-11-03T10:07:44.966 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:44
2025-11-03T10:07:44.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:44.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18635129928588867s
2025-11-03T10:07:44.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18635129928588867
2025-11-03T10:07:45.295 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:07:45.295 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:07:45.295 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:07:45.296 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:07:45.297 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:46.298 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:46.298 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:46.298 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:46.298 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:46.298 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:07:46.299 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:07:46.300 [DEBUG] [ThreadPoolExecutor-3442_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:46.300 [INFO] [ThreadPoolExecutor-3442_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:07:46.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:46
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6191704273223877s
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3532386;-24.256596;50.108531;89.993049;50.08601;90.12017;12.373;2460982.83873148;10.12953389;1.3;_
2025-11-03T10:07:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3532386;-24.256596;50.108531;89.993049;50.08601;90.12017;12.373;2460982.83873148;10.12953389;1.3;_
2025-11-03T10:07:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:46.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3532386, teldec = -24.256596
2025-11-03T10:07:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3532386 -24.256596
2025-11-03T10:07:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3532386 -24.256596
2025-11-03T10:07:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3532386 -24.256596
2025-11-03T10:07:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3532386;-24.256596;50.108531;89.993049;50.08601;90.12017;12.373;2460982.83873152;10.12953389;1.3;_15.3282097957175 -24.1633413453037
2025-11-03T10:07:46.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3282097957175     dec_j2k = -24.1633413453037
2025-11-03T10:07:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488017620053;171.162357330327;_
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488017620053;171.162357330327;_
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42179)
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:46.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:46.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:46.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83873148, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488017620053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993049, telescope_ra=15.3532386, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.373, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3282097957175, telescope_dec_j2k=-24.1633413453037, observability=1)
2025-11-03T10:07:46.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:46
2025-11-03T10:07:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0224761962890625s
2025-11-03T10:07:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0224761962890625
2025-11-03T10:07:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:46
2025-11-03T10:07:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3568387031555176s
2025-11-03T10:07:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3568387031555176
2025-11-03T10:07:48.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:48
2025-11-03T10:07:48.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:48.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801020622253418s
2025-11-03T10:07:48.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:48.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3537996;-24.256596;50.108531;89.993049;50.08601;90.12017;12.37356;2460982.83875459;10.13009333;1.3;_
2025-11-03T10:07:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3537996;-24.256596;50.108531;89.993049;50.08601;90.12017;12.37356;2460982.83875459;10.13009333;1.3;_
2025-11-03T10:07:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:48.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3537996, teldec = -24.256596
2025-11-03T10:07:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3537996 -24.256596
2025-11-03T10:07:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3537996 -24.256596
2025-11-03T10:07:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3537996 -24.256596
2025-11-03T10:07:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3537996;-24.256596;50.108531;89.993049;50.08601;90.12017;12.37356;2460982.83875462;10.13009333;1.3;_15.3287703719646 -24.1633570432037
2025-11-03T10:07:48.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3287703719646     dec_j2k = -24.1633570432037
2025-11-03T10:07:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488017620053;171.162346601491;_
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488017620053;171.162346601491;_
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57865)
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:48.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:48.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83875459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488017620053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993049, telescope_ra=15.3537996, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37356, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3287703719646, telescope_dec_j2k=-24.1633570432037, observability=1)
2025-11-03T10:07:48.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:48
2025-11-03T10:07:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021927356719970703s
2025-11-03T10:07:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021927356719970703
2025-11-03T10:07:48.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:48
2025-11-03T10:07:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35353589057922363s
2025-11-03T10:07:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35353589057922363
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Status age = 1.918259859085083s
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:50.332 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:50.333 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:50.334 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 17;15.3543229;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37409;2460982.83877701;10.13061528;1.3;_
2025-11-03T10:07:50.334 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response 17;15.3543229;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37409;2460982.83877701;10.13061528;1.3;_
2025-11-03T10:07:50.334 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:50.334 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:50.334 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:50.335 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:50.335 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:50.335 [INFO] [Thread-88820 (handle)] [driver.py] [get_status()] Telra = 15.3543229, teldec = -24.256596
2025-11-03T10:07:50.335 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3543229 -24.256596
2025-11-03T10:07:50.335 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3543229 -24.256596
2025-11-03T10:07:50.335 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3543229 -24.256596
2025-11-03T10:07:50.336 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 17;15.3543229;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37409;2460982.83877704;10.13061528;1.3;_15.3292932767438 -24.1633716880253
2025-11-03T10:07:50.336 [INFO] [Thread-88820 (handle)] [driver.py] [get_status()] ra_j2k = 15.3292932767438     dec_j2k = -24.1633716880253
2025-11-03T10:07:50.336 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:50.336 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:50.336 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 140;0.0968485610903485;171.162362694745;_
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response 140;0.0968485610903485;171.162362694745;_
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:50.337 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:50.338 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:50.339 [DEBUG] [Thread-88820 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:50.339 [DEBUG] [Thread-88820 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:50.339 [DEBUG] [Thread-88820 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:50.344 [DEBUG] [Thread-88820 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45309)
2025-11-03T10:07:50.344 [DEBUG] [Thread-88820 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:50.344 [DEBUG] [Thread-88820 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:50.344 [DEBUG] [Thread-88820 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:50.345 [DEBUG] [Thread-88820 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:50.345 [DEBUG] [Thread-88820 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:50.352 [DEBUG] [Thread-88820 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:50.352 [INFO] [Thread-88820 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83877701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968485610903485, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3543229, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37409, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3292932767438, telescope_dec_j2k=-24.1633716880253, observability=1)
2025-11-03T10:07:50.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:50
2025-11-03T10:07:50.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:50.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09305310249328613s
2025-11-03T10:07:50.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09305310249328613
2025-11-03T10:07:50.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:50
2025-11-03T10:07:50.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:50.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11660885810852051s
2025-11-03T10:07:50.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11660885810852051
2025-11-03T10:07:50.526 [DEBUG] [Thread-88821 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:50.526 [DEBUG] [Thread-88821 (handle)] [server.py] [get_status()] Status age = 0.1741793155670166s
2025-11-03T10:07:50.526 [DEBUG] [Thread-88821 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1741793155670166
2025-11-03T10:07:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:50
2025-11-03T10:07:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41186094284057617s
2025-11-03T10:07:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41186094284057617
2025-11-03T10:07:52.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:52
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.045642852783203s
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3549123;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37468;2460982.83880091;10.13120306;1.3;_
2025-11-03T10:07:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3549123;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37468;2460982.83880091;10.13120306;1.3;_
2025-11-03T10:07:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:52.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3549123, teldec = -24.256596
2025-11-03T10:07:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3549123 -24.256596
2025-11-03T10:07:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3549123 -24.256596
2025-11-03T10:07:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3549123 -24.256596
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3549123;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37468;2460982.83880095;10.13120306;1.3;_15.3298822316653 -24.1633881848193
2025-11-03T10:07:52.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3298822316653     dec_j2k = -24.1633881848193
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968486814261769;171.162373423581;_
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968486814261769;171.162373423581;_
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60763)
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:52.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:52.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83880091, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968486814261769, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3549123, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3298822316653, telescope_dec_j2k=-24.1633881848193, observability=1)
2025-11-03T10:07:52.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:52
2025-11-03T10:07:52.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:52.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022763490676879883s
2025-11-03T10:07:52.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022763490676879883
2025-11-03T10:07:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:52
2025-11-03T10:07:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3482670783996582s
2025-11-03T10:07:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3482670783996582
2025-11-03T10:07:54.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:54
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808824062347412s
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3554722;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37524;2460982.83882405;10.13176139;1.3;_
2025-11-03T10:07:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3554722;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37524;2460982.83882405;10.13176139;1.3;_
2025-11-03T10:07:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3554722, teldec = -24.256596
2025-11-03T10:07:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3554722 -24.256596
2025-11-03T10:07:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3554722 -24.256596
2025-11-03T10:07:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3554722 -24.256596
2025-11-03T10:07:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3554722;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37524;2460982.83882407;10.13176139;1.3;_15.3304417089262 -24.1634038580233
2025-11-03T10:07:54.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3304417089262     dec_j2k = -24.1634038580233
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488418739481;171.162357330327;_
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488418739481;171.162357330327;_
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35731)
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:54.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:54.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83882405, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488418739481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3554722, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3304417089262, telescope_dec_j2k=-24.1634038580233, observability=1)
2025-11-03T10:07:54.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:54
2025-11-03T10:07:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022407054901123047s
2025-11-03T10:07:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022407054901123047
2025-11-03T10:07:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:54
2025-11-03T10:07:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3510456085205078s
2025-11-03T10:07:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3510456085205078
2025-11-03T10:07:56.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:56
2025-11-03T10:07:56.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9981346130371094s
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:56.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3560226;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37579;2460982.83884738;10.13231028;1.3;_
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3560226;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37579;2460982.83884738;10.13231028;1.3;_
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:56.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:56.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:56.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:56.415 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3560226, teldec = -24.256596
2025-11-03T10:07:56.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3560226 -24.256596
2025-11-03T10:07:56.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3560226 -24.256596
2025-11-03T10:07:56.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3560226 -24.256596
2025-11-03T10:07:56.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3560226;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37579;2460982.83884741;10.13231028;1.3;_15.3309916934195 -24.1634192672789
2025-11-03T10:07:56.416 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3309916934195     dec_j2k = -24.1634192672789
2025-11-03T10:07:56.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:56.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:56.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968482803067489;171.162357330327;_
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968482803067489;171.162357330327;_
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:56.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:56.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:07:56.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:07:56.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56305)
2025-11-03T10:07:56.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:56.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:56.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:56.422 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:56.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:56.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:56.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83884738, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968482803067489, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3560226, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37579, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3309916934195, telescope_dec_j2k=-24.1634192672789, observability=1)
2025-11-03T10:07:56.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:56
2025-11-03T10:07:56.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:56.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022361040115356445s
2025-11-03T10:07:56.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022361040115356445
2025-11-03T10:07:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:56
2025-11-03T10:07:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3384273052215576s
2025-11-03T10:07:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3384273052215576
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.724980115890503s
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:07:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:07:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:07:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3564995;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37626;2460982.83886755;10.13278583;1.3;_
2025-11-03T10:07:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.3564995;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37626;2460982.83886755;10.13278583;1.3;_
2025-11-03T10:07:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:07:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:07:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:07:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:07:58.157 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.3564995, teldec = -24.256596
2025-11-03T10:07:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3564995 -24.256596
2025-11-03T10:07:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3564995 -24.256596
2025-11-03T10:07:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3564995 -24.256596
2025-11-03T10:07:58.158 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3564995;-24.256596;50.108531;89.993048;50.08601;90.12017;12.37626;2460982.83886757;10.13278583;1.3;_15.3314682334472 -24.1634326203842
2025-11-03T10:07:58.158 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.3314682334472     dec_j2k = -24.1634326203842
2025-11-03T10:07:58.158 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:07:58.158 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:07:58.158 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968488819858909;171.162357330327;_
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488819858909;171.162357330327;_
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:07:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:07:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:07:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:07:58.166 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54761)
2025-11-03T10:07:58.166 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:07:58.166 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:07:58.166 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:07:58.166 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:07:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:07:58.173 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:07:58.173 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:07:58.174 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:07:58.174 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83886755, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488819858909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3564995, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37626, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3314682334472, telescope_dec_j2k=-24.1634326203842, observability=1)
2025-11-03T10:07:58.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:58
2025-11-03T10:07:58.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:58.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2276144027709961s
2025-11-03T10:07:58.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2276144027709961
2025-11-03T10:07:58.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:58
2025-11-03T10:07:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2507781982421875s
2025-11-03T10:07:58.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2507781982421875
2025-11-03T10:07:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:07:58
2025-11-03T10:07:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:07:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5891392230987549s
2025-11-03T10:07:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5891392230987549
2025-11-03T10:08:00.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:00
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2754979133605957s
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:00.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:00.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:00.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3571434;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37691;2460982.83889411;10.13342806;1.3;_
2025-11-03T10:08:00.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3571434;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37691;2460982.83889411;10.13342806;1.3;_
2025-11-03T10:08:00.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:00.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:00.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:00.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:00.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:00.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3571434, teldec = -24.256595
2025-11-03T10:08:00.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3571434 -24.256595
2025-11-03T10:08:00.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3571434 -24.256595
2025-11-03T10:08:00.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3571434 -24.256595
2025-11-03T10:08:00.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3571434;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37691;2460982.83889413;10.13342806;1.3;_15.3321116476405 -24.1634496518224
2025-11-03T10:08:00.453 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3321116476405     dec_j2k = -24.1634496518224
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968490023217194;171.162351965909;_
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968490023217194;171.162351965909;_
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:00.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:00.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48317)
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:00.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:00.469 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:00.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:00.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83889411, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968490023217194, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3571434, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3321116476405, telescope_dec_j2k=-24.1634496518224, observability=1)
2025-11-03T10:08:00.501 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:00
2025-11-03T10:08:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03129291534423828s
2025-11-03T10:08:00.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03129291534423828
2025-11-03T10:08:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:00
2025-11-03T10:08:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29146480560302734s
2025-11-03T10:08:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29146480560302734
2025-11-03T10:08:01.062 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:01.062 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.5921580791473389s
2025-11-03T10:08:01.062 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5921580791473389
2025-11-03T10:08:02.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:02
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9255716800689697s
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3576938;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37746;2460982.83891663;10.13397694;1.3;_
2025-11-03T10:08:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3576938;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37746;2460982.83891663;10.13397694;1.3;_
2025-11-03T10:08:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:02.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3576938, teldec = -24.256595
2025-11-03T10:08:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3576938 -24.256595
2025-11-03T10:08:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3576938 -24.256595
2025-11-03T10:08:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3576938 -24.256595
2025-11-03T10:08:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3576938;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37746;2460982.83891666;10.13397694;1.3;_15.3326616323136 -24.163465067048
2025-11-03T10:08:02.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3326616323136     dec_j2k = -24.163465067048
2025-11-03T10:08:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968489622097766;171.162357330327;_
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968489622097766;171.162357330327;_
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44389)
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:02.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:02.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:02.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83891663, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968489622097766, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3576938, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3326616323136, telescope_dec_j2k=-24.163465067048, observability=1)
2025-11-03T10:08:02.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:02
2025-11-03T10:08:02.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:02.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02197742462158203s
2025-11-03T10:08:02.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02197742462158203
2025-11-03T10:08:02.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:02
2025-11-03T10:08:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3546559810638428s
2025-11-03T10:08:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3546559810638428
2025-11-03T10:08:04.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:04
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9967973232269287s
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3582545;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37802;2460982.83893993;10.13453611;1.3;_
2025-11-03T10:08:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3582545;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37802;2460982.83893993;10.13453611;1.3;_
2025-11-03T10:08:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:04.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:04.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:04.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3582545, teldec = -24.256595
2025-11-03T10:08:04.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3582545 -24.256595
2025-11-03T10:08:04.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3582545 -24.256595
2025-11-03T10:08:04.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3582545 -24.256595
2025-11-03T10:08:04.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3582545;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37802;2460982.83893995;10.13453611;1.3;_15.3332219092753 -24.16348077277
2025-11-03T10:08:04.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3332219092753     dec_j2k = -24.16348077277
2025-11-03T10:08:04.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:04.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:04.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:04.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:04.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:04.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:04.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:04.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:04.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35801)
2025-11-03T10:08:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:04.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:04.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:04.425 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:04.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:04.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83893993, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496842247471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3582545, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3332219092753, telescope_dec_j2k=-24.16348077277, observability=1)
2025-11-03T10:08:04.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:04
2025-11-03T10:08:04.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:04.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022204875946044922s
2025-11-03T10:08:04.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022204875946044922
2025-11-03T10:08:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:04
2025-11-03T10:08:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3406050205230713s
2025-11-03T10:08:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3406050205230713
2025-11-03T10:08:06.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:06
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791536331176758s
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.358815;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37858;2460982.83896304;10.135095;1.3;_
2025-11-03T10:08:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.358815;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37858;2460982.83896304;10.135095;1.3;_
2025-11-03T10:08:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:06.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.358815, teldec = -24.256595
2025-11-03T10:08:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.358815 -24.256595
2025-11-03T10:08:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.358815 -24.256595
2025-11-03T10:08:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.358815 -24.256595
2025-11-03T10:08:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.358815;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37858;2460982.83896307;10.135095;1.3;_15.3337819864494 -24.1634964749282
2025-11-03T10:08:06.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3337819864494     dec_j2k = -24.1634964749282
2025-11-03T10:08:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968490023217194;171.162351965909;_
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968490023217194;171.162351965909;_
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:06.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:06.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:06.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:06.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:06.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:06.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:06.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:06.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:06.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59741)
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:06.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:06.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:06.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83896304, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968490023217194, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.358815, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37858, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3337819864494, telescope_dec_j2k=-24.1634964749282, observability=1)
2025-11-03T10:08:06.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:06
2025-11-03T10:08:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02721261978149414s
2025-11-03T10:08:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02721261978149414
2025-11-03T10:08:06.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:06
2025-11-03T10:08:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33915281295776367s
2025-11-03T10:08:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33915281295776367
2025-11-03T10:08:08.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:08
2025-11-03T10:08:08.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:08.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9673206806182861s
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:08.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3593656;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37913;2460982.83898606;10.13564417;1.3;_
2025-11-03T10:08:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3593656;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37913;2460982.83898606;10.13564417;1.3;_
2025-11-03T10:08:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:08.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3593656, teldec = -24.256595
2025-11-03T10:08:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3593656 -24.256595
2025-11-03T10:08:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3593656 -24.256595
2025-11-03T10:08:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3593656 -24.256595
2025-11-03T10:08:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3593656;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37913;2460982.83898609;10.13564417;1.3;_15.3343321711515 -24.1635119017263
2025-11-03T10:08:08.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3343321711515     dec_j2k = -24.1635119017263
2025-11-03T10:08:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968493633292046;171.162362694745;_
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968493633292046;171.162362694745;_
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53541)
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:08.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:08.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:08.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:08.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:08.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:08.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:08.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:08.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83898606, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968493633292046, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3593656, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3343321711515, telescope_dec_j2k=-24.1635119017263, observability=1)
2025-11-03T10:08:08.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:08
2025-11-03T10:08:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02474379539489746s
2025-11-03T10:08:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02474379539489746
2025-11-03T10:08:08.585 [DEBUG] [Thread-88822 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:08.585 [DEBUG] [Thread-88822 (handle)] [server.py] [get_status()] Status age = 0.17150092124938965s
2025-11-03T10:08:08.585 [DEBUG] [Thread-88822 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17150092124938965
2025-11-03T10:08:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:08
2025-11-03T10:08:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3495795726776123s
2025-11-03T10:08:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3495795726776123
2025-11-03T10:08:10.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:10
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829227924346924s
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3599263;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37969;2460982.83900925;10.13620333;1.3;_
2025-11-03T10:08:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3599263;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37969;2460982.83900925;10.13620333;1.3;_
2025-11-03T10:08:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:10.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3599263, teldec = -24.256595
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3599263 -24.256595
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3599263 -24.256595
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3599263 -24.256595
2025-11-03T10:08:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3599263;-24.256595;50.108531;89.993048;50.08601;90.12017;12.37969;2460982.83900927;10.13620333;1.3;_15.3348924482965 -24.1635276135282
2025-11-03T10:08:10.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3348924482965     dec_j2k = -24.1635276135282
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968496441128043;171.162362694745;_
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496441128043;171.162362694745;_
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36955)
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:10.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:10.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:10.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83900925, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496441128043, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3599263, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.37969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3348924482965, telescope_dec_j2k=-24.1635276135282, observability=1)
2025-11-03T10:08:10.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:10
2025-11-03T10:08:10.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:10.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021699905395507812s
2025-11-03T10:08:10.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021699905395507812
2025-11-03T10:08:10.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:10
2025-11-03T10:08:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3453490734100342s
2025-11-03T10:08:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3453490734100342
2025-11-03T10:08:12.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:12
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823038578033447s
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3604868;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38025;2460982.83903242;10.13676222;1.3;_
2025-11-03T10:08:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3604868;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38025;2460982.83903242;10.13676222;1.3;_
2025-11-03T10:08:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:12.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3604868, teldec = -24.256595
2025-11-03T10:08:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3604868 -24.256595
2025-11-03T10:08:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3604868 -24.256595
2025-11-03T10:08:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3604868 -24.256595
2025-11-03T10:08:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3604868;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38025;2460982.83903244;10.13676222;1.3;_15.3354525256538 -24.1635433217632
2025-11-03T10:08:12.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3354525256538     dec_j2k = -24.1635433217632
2025-11-03T10:08:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968491226575478;171.162362694745;_
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968491226575478;171.162362694745;_
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51525)
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:12.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:12.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:12.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83903242, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968491226575478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3604868, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38025, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3354525256538, telescope_dec_j2k=-24.1635433217632, observability=1)
2025-11-03T10:08:12.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:12
2025-11-03T10:08:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:12.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021932363510131836s
2025-11-03T10:08:12.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021932363510131836
2025-11-03T10:08:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:12
2025-11-03T10:08:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3450663089752197s
2025-11-03T10:08:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3450663089752197
2025-11-03T10:08:14.455 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:08:14
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 2.039402723312378s
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:14.455 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.3610461;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38081;2460982.8390562;10.13732;1.3;_
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.3610461;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38081;2460982.8390562;10.13732;1.3;_
2025-11-03T10:08:14.456 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:14.457 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:14.457 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:14.457 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:14.458 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:14.458 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.3610461, teldec = -24.256595
2025-11-03T10:08:14.458 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3610461 -24.256595
2025-11-03T10:08:14.458 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3610461 -24.256595
2025-11-03T10:08:14.458 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3610461 -24.256595
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.3610461;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38081;2460982.83905624;10.13732;1.3;_15.3360114039772 -24.1635589983978
2025-11-03T10:08:14.459 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.3360114039772     dec_j2k = -24.1635589983978
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968496040008614;171.162351965909;_
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496040008614;171.162351965909;_
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:14.459 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:14.460 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:14.461 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:14.461 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:14.461 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32837)
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:14.467 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:14.474 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:14.475 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:14.475 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:14.475 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8390562, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496040008614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3610461, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38081, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3360114039772, telescope_dec_j2k=-24.1635589983978, observability=1)
2025-11-03T10:08:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:14
2025-11-03T10:08:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28772926330566406s
2025-11-03T10:08:14.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28772926330566406
2025-11-03T10:08:15.007 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:15
2025-11-03T10:08:15.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:15.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5325980186462402s
2025-11-03T10:08:15.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5325980186462402
2025-11-03T10:08:15.030 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:15
2025-11-03T10:08:15.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:15.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5550713539123535s
2025-11-03T10:08:15.030 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5550713539123535
2025-11-03T10:08:16.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:16
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.923332929611206s
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.361597;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38136;2460982.8390787;10.13786944;1.3;_
2025-11-03T10:08:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.361597;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38136;2460982.8390787;10.13786944;1.3;_
2025-11-03T10:08:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:16.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.361597, teldec = -24.256595
2025-11-03T10:08:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.361597 -24.256595
2025-11-03T10:08:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.361597 -24.256595
2025-11-03T10:08:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.361597 -24.256595
2025-11-03T10:08:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.361597;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38136;2460982.83907874;10.13786944;1.3;_15.3365618886935 -24.1635744415707
2025-11-03T10:08:16.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3365618886935     dec_j2k = -24.1635744415707
2025-11-03T10:08:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968488819858909;171.162351965909;_
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968488819858909;171.162351965909;_
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54621)
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:16.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8390787, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488819858909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.361597, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38136, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3365618886935, telescope_dec_j2k=-24.1635744415707, observability=1)
2025-11-03T10:08:16.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:16
2025-11-03T10:08:16.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:16.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025260210037231445s
2025-11-03T10:08:16.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025260210037231445
2025-11-03T10:08:16.820 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:16
2025-11-03T10:08:16.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:16.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40203189849853516s
2025-11-03T10:08:16.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40203189849853516
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.5374913215637207s
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:17.956 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:17.957 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:17.958 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3620173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38178;2460982.83909674;10.13828861;1.3;_
2025-11-03T10:08:17.958 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.3620173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38178;2460982.83909674;10.13828861;1.3;_
2025-11-03T10:08:17.958 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:17.958 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:17.958 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:17.959 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:17.959 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:17.959 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.3620173, teldec = -24.256595
2025-11-03T10:08:17.959 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.3620173 -24.256595
2025-11-03T10:08:17.959 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.3620173 -24.256595
2025-11-03T10:08:17.959 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3620173 -24.256595
2025-11-03T10:08:17.960 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3620173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38178;2460982.83909676;10.13828861;1.3;_15.3369818718997 -24.1635862250056
2025-11-03T10:08:17.960 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3369818718997     dec_j2k = -24.1635862250056
2025-11-03T10:08:17.960 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:17.960 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968488418739481;171.162346601491;_
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968488418739481;171.162346601491;_
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:17.961 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:17.962 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:17.962 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:17.962 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:17.962 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:17.962 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:17.963 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:17.963 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:17.963 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:17.963 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39205)
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:17.966 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:17.973 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:17.973 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:17.973 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:17.974 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:08:17.974 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83909674, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968488418739481, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3620173, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38178, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3369818718997, telescope_dec_j2k=-24.1635862250056, observability=1)
2025-11-03T10:08:17.974 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.519113302230835 seconds ago
2025-11-03T10:08:18.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:18
2025-11-03T10:08:18.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:18.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41962313652038574s
2025-11-03T10:08:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41962313652038574
2025-11-03T10:08:18.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:18
2025-11-03T10:08:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4424469470977783s
2025-11-03T10:08:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4424469470977783
2025-11-03T10:08:18.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:18
2025-11-03T10:08:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8054516315460205s
2025-11-03T10:08:18.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8054516315460205
2025-11-03T10:08:20.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:20
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4349591732025146s
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3627173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38248;2460982.83912512;10.13898667;1.3;_
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3627173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38248;2460982.83912512;10.13898667;1.3;_
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:20.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:20.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3627173, teldec = -24.256595
2025-11-03T10:08:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3627173 -24.256595
2025-11-03T10:08:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3627173 -24.256595
2025-11-03T10:08:20.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3627173 -24.256595
2025-11-03T10:08:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3627173;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38248;2460982.83912514;10.13898667;1.3;_15.3376813443635 -24.1636058525866
2025-11-03T10:08:20.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3376813443635     dec_j2k = -24.1636058525866
2025-11-03T10:08:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:20.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968489220978337;171.162357330327;_
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968489220978337;171.162357330327;_
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:20.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:20.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35011)
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:20.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:20.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:20.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.83912512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968489220978337, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3627173, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:07:20.403042', telescope_ra_j2k=15.3376813443635, telescope_dec_j2k=-24.1636058525866, observability=1)
2025-11-03T10:08:20.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:20
2025-11-03T10:08:20.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:20.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222299575805664s
2025-11-03T10:08:20.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222299575805664
2025-11-03T10:08:20.544 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:20.544 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:20.544 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:20.544 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:20.544 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:20.545 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:20.545 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:20.546 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:20.546 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:20.546 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:20.546 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:08:20.546 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:08:20.547 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:08:20.548 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:20
2025-11-03T10:08:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34005022048950195s
2025-11-03T10:08:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34005022048950195
2025-11-03T10:08:21.548 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:21.549 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:21.549 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:21.549 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:21.549 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:08:21.550 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:21.551 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:21.552 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:21.552 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:21.552 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:21.552 [DEBUG] [ThreadPoolExecutor-3444_0] [payload.py] [to_registers()] [0]
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59759)
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:21.554 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:21.561 [DEBUG] [ThreadPoolExecutor-3444_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:22.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:22
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9692575931549072s
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:22.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:22.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3632685;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38303;2460982.8391481;10.13953639;1.3;_
2025-11-03T10:08:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3632685;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38303;2460982.8391481;10.13953639;1.3;_
2025-11-03T10:08:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:22.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3632685, teldec = -24.256595
2025-11-03T10:08:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3632685 -24.256595
2025-11-03T10:08:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3632685 -24.256595
2025-11-03T10:08:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3632685 -24.256595
2025-11-03T10:08:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3632685;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38303;2460982.83914812;10.13953639;1.3;_15.3382321290339 -24.1636213101387
2025-11-03T10:08:22.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3382321290339     dec_j2k = -24.1636213101387
2025-11-03T10:08:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096849283105319;171.162357330327;_
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096849283105319;171.162357330327;_
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42387)
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:22.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:22.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:22.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:22.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:22.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8391481, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096849283105319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3632685, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38303, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3382321290339, telescope_dec_j2k=-24.1636213101387, observability=1)
2025-11-03T10:08:22.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:22
2025-11-03T10:08:22.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:22.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026162147521972656s
2025-11-03T10:08:22.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026162147521972656
2025-11-03T10:08:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:22
2025-11-03T10:08:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35394287109375s
2025-11-03T10:08:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35394287109375
2025-11-03T10:08:24.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:24
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832313060760498s
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3638289;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38359;2460982.83917125;10.14009528;1.3;_
2025-11-03T10:08:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3638289;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38359;2460982.83917125;10.14009528;1.3;_
2025-11-03T10:08:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:24.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3638289, teldec = -24.256595
2025-11-03T10:08:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3638289 -24.256595
2025-11-03T10:08:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3638289 -24.256595
2025-11-03T10:08:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3638289 -24.256595
2025-11-03T10:08:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3638289;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38359;2460982.83917127;10.14009528;1.3;_15.3387921068332 -24.1636370277081
2025-11-03T10:08:24.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3387921068332     dec_j2k = -24.1636370277081
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968498847844611;171.162351965909;_
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968498847844611;171.162351965909;_
2025-11-03T10:08:24.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34111)
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:24.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:24.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:24.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83917125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968498847844611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3638289, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38359, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3387921068332, telescope_dec_j2k=-24.1636370277081, observability=1)
2025-11-03T10:08:24.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:24
2025-11-03T10:08:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023997068405151367s
2025-11-03T10:08:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023997068405151367
2025-11-03T10:08:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:24
2025-11-03T10:08:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3535308837890625s
2025-11-03T10:08:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3535308837890625
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Status age = 2.2280163764953613s
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:26.640 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 17;15.3644448;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38421;2460982.83919723;10.14070944;1.3;_
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response 17;15.3644448;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38421;2460982.83919723;10.14070944;1.3;_
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:26.641 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:26.642 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:26.642 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:26.642 [INFO] [Thread-88823 (handle)] [driver.py] [get_status()] Telra = 15.3644448, teldec = -24.256595
2025-11-03T10:08:26.642 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3644448 -24.256595
2025-11-03T10:08:26.642 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3644448 -24.256595
2025-11-03T10:08:26.642 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3644448 -24.256595
2025-11-03T10:08:26.643 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 17;15.3644448;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38421;2460982.83919726;10.14070944;1.3;_15.33940754289 -24.1636543042352
2025-11-03T10:08:26.643 [INFO] [Thread-88823 (handle)] [driver.py] [get_status()] ra_j2k = 15.33940754289     dec_j2k = -24.1636543042352
2025-11-03T10:08:26.643 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:26.643 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:26.643 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 140;0.096849283105319;171.162362694745;_
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response 140;0.096849283105319;171.162362694745;_
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:26.644 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:26.645 [DEBUG] [Thread-88823 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:26.647 [DEBUG] [Thread-88823 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55129)
2025-11-03T10:08:26.647 [DEBUG] [Thread-88823 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:26.647 [DEBUG] [Thread-88823 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:26.647 [DEBUG] [Thread-88823 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:26.648 [DEBUG] [Thread-88823 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:26.648 [DEBUG] [Thread-88823 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:26.654 [DEBUG] [Thread-88823 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:26.655 [DEBUG] [Thread-88823 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:26.655 [INFO] [Thread-88823 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83919723, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096849283105319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3644448, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38421, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.33940754289, telescope_dec_j2k=-24.1636543042352, observability=1)
2025-11-03T10:08:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:26
2025-11-03T10:08:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11248946189880371s
2025-11-03T10:08:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11248946189880371
2025-11-03T10:08:27.007 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:27
2025-11-03T10:08:27.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:27.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35246896743774414s
2025-11-03T10:08:27.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35246896743774414
2025-11-03T10:08:27.043 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:27
2025-11-03T10:08:27.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:27.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38782310485839844s
2025-11-03T10:08:27.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38782310485839844
2025-11-03T10:08:28.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:28
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7382631301879883s
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:28.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:28.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3649398;-24.256595;50.108531;89.993048;50.08601;90.12017;12.3847;2460982.83921753;10.14120306;1.3;_
2025-11-03T10:08:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3649398;-24.256595;50.108531;89.993048;50.08601;90.12017;12.3847;2460982.83921753;10.14120306;1.3;_
2025-11-03T10:08:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:28.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3649398, teldec = -24.256595
2025-11-03T10:08:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3649398 -24.256595
2025-11-03T10:08:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3649398 -24.256595
2025-11-03T10:08:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3649398 -24.256595
2025-11-03T10:08:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3649398;-24.256595;50.108531;89.993048;50.08601;90.12017;12.3847;2460982.83921757;10.14120306;1.3;_15.3399021700719 -24.1636681911932
2025-11-03T10:08:28.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3399021700719     dec_j2k = -24.1636681911932
2025-11-03T10:08:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968491226575478;171.162357330327;_
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968491226575478;171.162357330327;_
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45957)
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:28.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:28.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83921753, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968491226575478, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3649398, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.3847, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3399021700719, telescope_dec_j2k=-24.1636681911932, observability=1)
2025-11-03T10:08:28.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:28
2025-11-03T10:08:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026827573776245117s
2025-11-03T10:08:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026827573776245117
2025-11-03T10:08:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:28
2025-11-03T10:08:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34882307052612305s
2025-11-03T10:08:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34882307052612305
2025-11-03T10:08:30.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:30
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785516262054443s
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:30.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3655005;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38526;2460982.83924067;10.14176222;1.3;_
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3655005;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38526;2460982.83924067;10.14176222;1.3;_
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:30.395 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3655005, teldec = -24.256595
2025-11-03T10:08:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3655005 -24.256595
2025-11-03T10:08:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3655005 -24.256595
2025-11-03T10:08:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3655005 -24.256595
2025-11-03T10:08:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3655005;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38526;2460982.83924069;10.14176222;1.3;_15.3404624478286 -24.1636839232454
2025-11-03T10:08:30.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3404624478286     dec_j2k = -24.1636839232454
2025-11-03T10:08:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55963)
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:30.401 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:30.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:30.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83924067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496842247471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3655005, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38526, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3404624478286, telescope_dec_j2k=-24.1636839232454, observability=1)
2025-11-03T10:08:30.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:30
2025-11-03T10:08:30.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:30.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02214217185974121s
2025-11-03T10:08:30.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02214217185974121
2025-11-03T10:08:30.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:30
2025-11-03T10:08:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3515763282775879s
2025-11-03T10:08:30.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3515763282775879
2025-11-03T10:08:32.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:32
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3566858768463135s
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3661439;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38591;2460982.83926814;10.14240389;1.3;_
2025-11-03T10:08:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3661439;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38591;2460982.83926814;10.14240389;1.3;_
2025-11-03T10:08:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3661439, teldec = -24.256595
2025-11-03T10:08:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3661439 -24.256595
2025-11-03T10:08:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3661439 -24.256595
2025-11-03T10:08:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3661439 -24.256595
2025-11-03T10:08:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3661439;-24.256595;50.108531;89.993048;50.08601;90.12017;12.38591;2460982.83926816;10.14240389;1.3;_15.3411053633828 -24.1637019781916
2025-11-03T10:08:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3411053633828     dec_j2k = -24.1637019781916
2025-11-03T10:08:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968493633292046;171.162357330327;_
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968493633292046;171.162357330327;_
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59945)
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83926814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968493633292046, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108531, telescope_az=89.993048, telescope_ra=15.3661439, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3411053633828, telescope_dec_j2k=-24.1637019781916, observability=1)
2025-11-03T10:08:33.043 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:33
2025-11-03T10:08:33.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:33.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26196837425231934s
2025-11-03T10:08:33.043 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26196837425231934
2025-11-03T10:08:33.065 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:33
2025-11-03T10:08:33.065 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:33.065 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.284116268157959s
2025-11-03T10:08:33.065 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.284116268157959
2025-11-03T10:08:34.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:34
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6144261360168457s
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3666102;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38637;2460982.83928701;10.14286889;1.3;_
2025-11-03T10:08:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3666102;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38637;2460982.83928701;10.14286889;1.3;_
2025-11-03T10:08:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:34.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3666102, teldec = -24.256595
2025-11-03T10:08:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3666102 -24.256595
2025-11-03T10:08:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3666102 -24.256595
2025-11-03T10:08:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3666102 -24.256595
2025-11-03T10:08:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3666102;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38637;2460982.83928704;10.14286889;1.3;_15.3415713123345 -24.1637150650719
2025-11-03T10:08:34.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3415713123345     dec_j2k = -24.1637150650719
2025-11-03T10:08:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968495638889186;171.162362694745;_
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968495638889186;171.162362694745;_
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57357)
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:34.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:34.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:34.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83928701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968495638889186, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3666102, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38637, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3415713123345, telescope_dec_j2k=-24.1637150650719, observability=1)
2025-11-03T10:08:34.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:34
2025-11-03T10:08:34.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:34.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0217435359954834s
2025-11-03T10:08:34.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0217435359954834
2025-11-03T10:08:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:34
2025-11-03T10:08:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35031747817993164s
2025-11-03T10:08:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35031747817993164
2025-11-03T10:08:36.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:36
2025-11-03T10:08:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784424304962158s
2025-11-03T10:08:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3671709;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38693;2460982.83931016;10.14342806;1.3;_
2025-11-03T10:08:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3671709;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38693;2460982.83931016;10.14342806;1.3;_
2025-11-03T10:08:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:36.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3671709, teldec = -24.256595
2025-11-03T10:08:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3671709 -24.256595
2025-11-03T10:08:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3671709 -24.256595
2025-11-03T10:08:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3671709 -24.256595
2025-11-03T10:08:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3671709;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38693;2460982.83931018;10.14342806;1.3;_15.3421315902747 -24.1637308031859
2025-11-03T10:08:36.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3421315902747     dec_j2k = -24.1637308031859
2025-11-03T10:08:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968496040008614;171.162357330327;_
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496040008614;171.162357330327;_
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45371)
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:36.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:36.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83931016, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496040008614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3671709, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38693, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3421315902747, telescope_dec_j2k=-24.1637308031859, observability=1)
2025-11-03T10:08:36.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:36
2025-11-03T10:08:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022153377532958984s
2025-11-03T10:08:36.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022153377532958984
2025-11-03T10:08:36.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:36
2025-11-03T10:08:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3471548557281494s
2025-11-03T10:08:36.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3471548557281494
2025-11-03T10:08:38.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:38
2025-11-03T10:08:38.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:38.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983447790145874s
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3677032;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38747;2460982.83933337;10.14395889;1.3;_
2025-11-03T10:08:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3677032;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38747;2460982.83933337;10.14395889;1.3;_
2025-11-03T10:08:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:38.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:38.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:38.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3677032, teldec = -24.256595
2025-11-03T10:08:38.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3677032 -24.256595
2025-11-03T10:08:38.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3677032 -24.256595
2025-11-03T10:08:38.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3677032 -24.256595
2025-11-03T10:08:38.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3677032;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38747;2460982.83933339;10.14395889;1.3;_15.3426634896496 -24.1637457460313
2025-11-03T10:08:38.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3426634896496     dec_j2k = -24.1637457460313
2025-11-03T10:08:38.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:38.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:38.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:38.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968494034411474;171.162351965909;_
2025-11-03T10:08:38.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968494034411474;171.162351965909;_
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:38.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:38.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:38.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:38.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43783)
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:38.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:38.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:38.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:38.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:38.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:38.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83933337, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968494034411474, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3677032, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38747, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3426634896496, telescope_dec_j2k=-24.1637457460313, observability=1)
2025-11-03T10:08:38.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:38
2025-11-03T10:08:38.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:38.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022664546966552734s
2025-11-03T10:08:38.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022664546966552734
2025-11-03T10:08:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:38
2025-11-03T10:08:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34149885177612305s
2025-11-03T10:08:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34149885177612305
2025-11-03T10:08:40.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:40
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9742095470428467s
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3682825;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38805;2460982.83935645;10.14453667;1.3;_
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3682825;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38805;2460982.83935645;10.14453667;1.3;_
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:40.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3682825, teldec = -24.256595
2025-11-03T10:08:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3682825 -24.256595
2025-11-03T10:08:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3682825 -24.256595
2025-11-03T10:08:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3682825 -24.256595
2025-11-03T10:08:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3682825;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38805;2460982.83935647;10.14453667;1.3;_15.3432423537141 -24.1637620103542
2025-11-03T10:08:40.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3432423537141     dec_j2k = -24.1637620103542
2025-11-03T10:08:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968493232172618;171.162351965909;_
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968493232172618;171.162351965909;_
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58555)
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:40.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:40.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83935645, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968493232172618, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3682825, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38805, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3432423537141, telescope_dec_j2k=-24.1637620103542, observability=1)
2025-11-03T10:08:40.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:40
2025-11-03T10:08:40.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:40.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02145981788635254s
2025-11-03T10:08:40.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02145981788635254
2025-11-03T10:08:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:40
2025-11-03T10:08:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3495614528656006s
2025-11-03T10:08:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3495614528656006
2025-11-03T10:08:42.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:42
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834165573120117s
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3688429;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38861;2460982.83937961;10.14509556;1.3;_
2025-11-03T10:08:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3688429;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38861;2460982.83937961;10.14509556;1.3;_
2025-11-03T10:08:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:42.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3688429, teldec = -24.256595
2025-11-03T10:08:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3688429 -24.256595
2025-11-03T10:08:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3688429 -24.256595
2025-11-03T10:08:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3688429 -24.256595
2025-11-03T10:08:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3688429;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38861;2460982.83937963;10.14509556;1.3;_15.3438023320638 -24.1637777461095
2025-11-03T10:08:42.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3438023320638     dec_j2k = -24.1637777461095
2025-11-03T10:08:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968498847844611;171.162351965909;_
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968498847844611;171.162351965909;_
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33677)
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:42.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:42.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:42.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83937961, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968498847844611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3688429, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38861, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3438023320638, telescope_dec_j2k=-24.1637777461095, observability=1)
2025-11-03T10:08:42.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:42
2025-11-03T10:08:42.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:42.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021736621856689453s
2025-11-03T10:08:42.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021736621856689453
2025-11-03T10:08:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:42
2025-11-03T10:08:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3483388423919678s
2025-11-03T10:08:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3483388423919678
2025-11-03T10:08:44.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:44
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788563251495361s
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:44.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:44.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3693755;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38914;2460982.83940273;10.14562667;1.3;_
2025-11-03T10:08:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3693755;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38914;2460982.83940273;10.14562667;1.3;_
2025-11-03T10:08:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:44.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3693755, teldec = -24.256595
2025-11-03T10:08:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3693755 -24.256595
2025-11-03T10:08:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3693755 -24.256595
2025-11-03T10:08:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3693755 -24.256595
2025-11-03T10:08:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3693755;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38914;2460982.83940275;10.14562667;1.3;_15.3443345313875 -24.1637927031369
2025-11-03T10:08:44.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3443345313875     dec_j2k = -24.1637927031369
2025-11-03T10:08:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968491627694906;171.162351965909;_
2025-11-03T10:08:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968491627694906;171.162351965909;_
2025-11-03T10:08:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55265)
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:44.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:44.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:44.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83940273, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968491627694906, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3693755, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38914, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3443345313875, telescope_dec_j2k=-24.1637927031369, observability=1)
2025-11-03T10:08:44.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:44
2025-11-03T10:08:44.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:44.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02459406852722168s
2025-11-03T10:08:44.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02459406852722168
2025-11-03T10:08:44.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:44
2025-11-03T10:08:44.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:44.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3722081184387207s
2025-11-03T10:08:44.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3722081184387207
2025-11-03T10:08:44.794 [DEBUG] [Thread-88824 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:44.794 [DEBUG] [Thread-88824 (handle)] [server.py] [get_status()] Status age = 0.3816385269165039s
2025-11-03T10:08:44.794 [DEBUG] [Thread-88824 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3816385269165039
2025-11-03T10:08:46.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:46
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983778715133667s
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3699538;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38972;2460982.83942589;10.14620333;1.3;_
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3699538;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38972;2460982.83942589;10.14620333;1.3;_
2025-11-03T10:08:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:46.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3699538, teldec = -24.256595
2025-11-03T10:08:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3699538 -24.256595
2025-11-03T10:08:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3699538 -24.256595
2025-11-03T10:08:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3699538 -24.256595
2025-11-03T10:08:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3699538;-24.256595;50.10853;89.993048;50.08601;90.12017;12.38972;2460982.83942593;10.14620333;1.3;_15.344912396394 -24.1638089456361
2025-11-03T10:08:46.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.344912396394     dec_j2k = -24.1638089456361
2025-11-03T10:08:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968502056800035;171.162346601491;_
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968502056800035;171.162346601491;_
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56623)
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:46.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:46.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:46.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83942589, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968502056800035, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3699538, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.38972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.344912396394, telescope_dec_j2k=-24.1638089456361, observability=1)
2025-11-03T10:08:46.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:46
2025-11-03T10:08:46.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:46.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02167367935180664s
2025-11-03T10:08:46.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02167367935180664
2025-11-03T10:08:46.562 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:46.562 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:46.562 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:46.562 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:46.562 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:46.563 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:08:46.564 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:08:46.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:46.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:46
2025-11-03T10:08:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36930179595947266s
2025-11-03T10:08:46.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36930179595947266
2025-11-03T10:08:48.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:48
2025-11-03T10:08:48.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848754405975342s
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3705145;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39028;2460982.8394491;10.1467625;1.3;_
2025-11-03T10:08:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3705145;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39028;2460982.8394491;10.1467625;1.3;_
2025-11-03T10:08:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:48.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3705145, teldec = -24.256595
2025-11-03T10:08:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3705145 -24.256595
2025-11-03T10:08:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3705145 -24.256595
2025-11-03T10:08:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3705145 -24.256595
2025-11-03T10:08:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3705145;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39028;2460982.83944913;10.1467625;1.3;_15.3454726747017 -24.1638246958749
2025-11-03T10:08:48.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3454726747017     dec_j2k = -24.1638246958749
2025-11-03T10:08:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968496842247471;171.162351965909;_
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496842247471;171.162351965909;_
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45579)
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:48.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:48.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8394491, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496842247471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3705145, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39028, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3454726747017, telescope_dec_j2k=-24.1638246958749, observability=1)
2025-11-03T10:08:48.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:48
2025-11-03T10:08:48.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:48.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021465778350830078s
2025-11-03T10:08:48.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021465778350830078
2025-11-03T10:08:48.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:48
2025-11-03T10:08:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36824464797973633s
2025-11-03T10:08:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36824464797973633
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Status age = 1.9685115814208984s
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:50.385 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 17;15.3710476;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39081;2460982.83947206;10.14729417;1.3;_
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response 17;15.3710476;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39081;2460982.83947206;10.14729417;1.3;_
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:50.386 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:50.387 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:50.387 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:50.387 [INFO] [Thread-88825 (handle)] [driver.py] [get_status()] Telra = 15.3710476, teldec = -24.256595
2025-11-03T10:08:50.387 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3710476 -24.256595
2025-11-03T10:08:50.387 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3710476 -24.256595
2025-11-03T10:08:50.388 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3710476 -24.256595
2025-11-03T10:08:50.388 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 17;15.3710476;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39081;2460982.83947208;10.14729417;1.3;_15.3460053738241 -24.1638396727056
2025-11-03T10:08:50.389 [INFO] [Thread-88825 (handle)] [driver.py] [get_status()] ra_j2k = 15.3460053738241     dec_j2k = -24.1638396727056
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response 140;0.0968496842247471;171.162357330327;_
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:50.389 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:50.390 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:50.391 [DEBUG] [Thread-88825 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:50.391 [DEBUG] [Thread-88825 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:50.391 [DEBUG] [Thread-88825 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49881)
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:50.396 [DEBUG] [Thread-88825 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:50.403 [DEBUG] [Thread-88825 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:50.404 [INFO] [Thread-88825 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83947206, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968496842247471, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3710476, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39081, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3460053738241, telescope_dec_j2k=-24.1638396727056, observability=1)
2025-11-03T10:08:50.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:50
2025-11-03T10:08:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36334896087646484s
2025-11-03T10:08:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36334896087646484
2025-11-03T10:08:51.082 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:51
2025-11-03T10:08:51.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:51.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6784586906433105s
2025-11-03T10:08:51.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6784586906433105
2025-11-03T10:08:51.106 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:51
2025-11-03T10:08:51.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:51.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7024798393249512s
2025-11-03T10:08:51.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7024798393249512
2025-11-03T10:08:52.610 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:52
2025-11-03T10:08:52.610 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:52.610 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.206965446472168s
2025-11-03T10:08:52.610 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:52.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:52.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:52.612 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:52.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:52.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:52.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:52.613 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3716827;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39145;2460982.83949784;10.1479275;1.3;_
2025-11-03T10:08:52.613 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3716827;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39145;2460982.83949784;10.1479275;1.3;_
2025-11-03T10:08:52.613 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:52.613 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:52.613 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:52.614 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:52.614 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:52.614 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3716827, teldec = -24.256595
2025-11-03T10:08:52.614 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3716827 -24.256595
2025-11-03T10:08:52.614 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3716827 -24.256595
2025-11-03T10:08:52.614 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3716827 -24.256595
2025-11-03T10:08:52.615 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3716827;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39145;2460982.83949786;10.1479275;1.3;_15.3466399963178 -24.1638575175062
2025-11-03T10:08:52.615 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3466399963178     dec_j2k = -24.1638575175062
2025-11-03T10:08:52.615 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:52.615 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:52.615 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968499248964039;171.162368059163;_
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499248964039;171.162368059163;_
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:52.616 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:52.617 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:52.617 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:52.617 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:52.618 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56699)
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:52.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:52.631 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:52.631 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83949784, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499248964039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3716827, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3466399963178, telescope_dec_j2k=-24.1638575175062, observability=1)
2025-11-03T10:08:52.662 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:52
2025-11-03T10:08:52.662 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:52.662 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03085780143737793s
2025-11-03T10:08:52.662 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03085780143737793
2025-11-03T10:08:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:52
2025-11-03T10:08:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13161349296569824s
2025-11-03T10:08:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13161349296569824
2025-11-03T10:08:54.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:54
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.762892723083496s
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:54.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.372159;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39192;2460982.83951847;10.1484025;1.3;_
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.372159;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39192;2460982.83951847;10.1484025;1.3;_
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:54.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.372159, teldec = -24.256595
2025-11-03T10:08:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.372159 -24.256595
2025-11-03T10:08:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.372159 -24.256595
2025-11-03T10:08:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.372159 -24.256595
2025-11-03T10:08:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.372159;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39192;2460982.83951851;10.1484025;1.3;_15.3471159382589 -24.1638709021144
2025-11-03T10:08:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3471159382589     dec_j2k = -24.1638709021144
2025-11-03T10:08:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968498045605755;171.162362694745;_
2025-11-03T10:08:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968498045605755;171.162362694745;_
2025-11-03T10:08:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57405)
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:54.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:54.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83951847, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968498045605755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.372159, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39192, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3471159382589, telescope_dec_j2k=-24.1638709021144, observability=1)
2025-11-03T10:08:54.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:54
2025-11-03T10:08:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021736860275268555s
2025-11-03T10:08:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021736860275268555
2025-11-03T10:08:54.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:54
2025-11-03T10:08:54.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3486311435699463s
2025-11-03T10:08:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3486311435699463
2025-11-03T10:08:56.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:56
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848647117614746s
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3727191;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39248;2460982.83954166;10.14896111;1.3;_
2025-11-03T10:08:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3727191;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39248;2460982.83954166;10.14896111;1.3;_
2025-11-03T10:08:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:56.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3727191, teldec = -24.256595
2025-11-03T10:08:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3727191 -24.256595
2025-11-03T10:08:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3727191 -24.256595
2025-11-03T10:08:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3727191 -24.256595
2025-11-03T10:08:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3727191;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39248;2460982.83954168;10.14896111;1.3;_15.3476756172601 -24.1638866434794
2025-11-03T10:08:56.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3476756172601     dec_j2k = -24.1638866434794
2025-11-03T10:08:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968500452322323;171.162351965909;_
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968500452322323;171.162351965909;_
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:08:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:08:56.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46923)
2025-11-03T10:08:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:56.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:56.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:56.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:56.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:56.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83954166, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968500452322323, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3727191, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3476756172601, telescope_dec_j2k=-24.1638866434794, observability=1)
2025-11-03T10:08:56.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:56
2025-11-03T10:08:56.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:56.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022575855255126953s
2025-11-03T10:08:56.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022575855255126953
2025-11-03T10:08:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:56
2025-11-03T10:08:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34446096420288086s
2025-11-03T10:08:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34446096420288086
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5527567863464355s
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:08:57.971 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:08:57.972 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:08:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.373167;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39293;2460982.83955987;10.14940778;1.3;_
2025-11-03T10:08:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.373167;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39293;2460982.83955987;10.14940778;1.3;_
2025-11-03T10:08:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:08:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:08:57.973 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:08:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:08:57.974 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.373167, teldec = -24.256595
2025-11-03T10:08:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.373167 -24.256595
2025-11-03T10:08:57.974 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.373167 -24.256595
2025-11-03T10:08:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.373167 -24.256595
2025-11-03T10:08:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.373167;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39293;2460982.8395599;10.14940778;1.3;_15.3481231806407 -24.1638992329708
2025-11-03T10:08:57.975 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.3481231806407     dec_j2k = -24.1638992329708
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:08:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:08:57.979 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50807)
2025-11-03T10:08:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:08:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:08:57.979 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:08:57.980 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:08:57.980 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:08:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:08:57.988 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83955987, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499248964039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.373167, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39293, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3481231806407, telescope_dec_j2k=-24.1638992329708, observability=1)
2025-11-03T10:08:58.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:58
2025-11-03T10:08:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40863752365112305s
2025-11-03T10:08:58.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40863752365112305
2025-11-03T10:08:58.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:58
2025-11-03T10:08:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:58.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43204259872436523s
2025-11-03T10:08:58.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43204259872436523
2025-11-03T10:08:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:08:58
2025-11-03T10:08:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:08:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7745211124420166s
2025-11-03T10:08:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7745211124420166
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 2.1646456718444824s
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:00.152 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:00.153 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:00.154 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3737742;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39354;2460982.83958512;10.15001333;1.3;_
2025-11-03T10:09:00.154 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.3737742;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39354;2460982.83958512;10.15001333;1.3;_
2025-11-03T10:09:00.154 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:00.154 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:00.154 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:00.155 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:00.155 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:00.155 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.3737742, teldec = -24.256595
2025-11-03T10:09:00.155 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3737742 -24.256595
2025-11-03T10:09:00.155 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3737742 -24.256595
2025-11-03T10:09:00.155 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3737742 -24.256595
2025-11-03T10:09:00.156 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3737742;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39354;2460982.83958514;10.15001333;1.3;_15.3487299243622 -24.1639163021063
2025-11-03T10:09:00.156 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.3487299243622     dec_j2k = -24.1639163021063
2025-11-03T10:09:00.156 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:00.156 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:00.156 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968498045605755;171.162351965909;_
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968498045605755;171.162351965909;_
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:00.157 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:00.158 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:00.159 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:00.159 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:00.159 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57893)
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:00.163 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:00.170 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:00.171 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83958512, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968498045605755, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3737742, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39354, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3487299243622, telescope_dec_j2k=-24.1639163021063, observability=1)
2025-11-03T10:09:00.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:00
2025-11-03T10:09:00.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:00.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24394798278808594s
2025-11-03T10:09:00.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24394798278808594
2025-11-03T10:09:00.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:00
2025-11-03T10:09:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.267702579498291s
2025-11-03T10:09:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.267702579498291
2025-11-03T10:09:00.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:00
2025-11-03T10:09:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5916397571563721s
2025-11-03T10:09:00.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5916397571563721
2025-11-03T10:09:02.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:02
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2238051891326904s
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:02.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:02.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3743906;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39415;2460982.83961106;10.15062806;1.3;_
2025-11-03T10:09:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3743906;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39415;2460982.83961106;10.15062806;1.3;_
2025-11-03T10:09:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:02.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:02.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3743906, teldec = -24.256595
2025-11-03T10:09:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3743906 -24.256595
2025-11-03T10:09:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3743906 -24.256595
2025-11-03T10:09:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3743906 -24.256595
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3743906;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39415;2460982.8396111;10.15062806;1.3;_15.3493458612445 -24.1639336323003
2025-11-03T10:09:02.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3493458612445     dec_j2k = -24.1639336323003
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968502457919463;171.162357330327;_
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968502457919463;171.162357330327;_
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33493)
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:02.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:02.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:02.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:02.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:02.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:02.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83961106, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968502457919463, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3743906, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39415, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3493458612445, telescope_dec_j2k=-24.1639336323003, observability=1)
2025-11-03T10:09:02.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:02
2025-11-03T10:09:02.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:02.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022448301315307617s
2025-11-03T10:09:02.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022448301315307617
2025-11-03T10:09:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:02
2025-11-03T10:09:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3489539623260498s
2025-11-03T10:09:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3489539623260498
2025-11-03T10:09:02.858 [DEBUG] [Thread-88826 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:02.858 [DEBUG] [Thread-88826 (handle)] [server.py] [get_status()] Status age = 0.44257259368896484s
2025-11-03T10:09:02.859 [DEBUG] [Thread-88826 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44257259368896484
2025-11-03T10:09:04.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:04
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978165626525879s
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:04.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3749499;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39471;2460982.8396342;10.15118583;1.3;_
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3749499;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39471;2460982.8396342;10.15118583;1.3;_
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:04.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:04.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3749499, teldec = -24.256595
2025-11-03T10:09:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3749499 -24.256595
2025-11-03T10:09:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3749499 -24.256595
2025-11-03T10:09:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3749499 -24.256595
2025-11-03T10:09:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3749499;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39471;2460982.83963422;10.15118583;1.3;_15.349904741092 -24.1639493592404
2025-11-03T10:09:04.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.349904741092     dec_j2k = -24.1639493592404
2025-11-03T10:09:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968500051202895;171.162357330327;_
2025-11-03T10:09:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968500051202895;171.162357330327;_
2025-11-03T10:09:04.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41571)
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:04.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:04.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:04.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8396342, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968500051202895, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3749499, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39471, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.349904741092, telescope_dec_j2k=-24.1639493592404, observability=1)
2025-11-03T10:09:04.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:04
2025-11-03T10:09:04.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:04.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02214503288269043s
2025-11-03T10:09:04.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02214503288269043
2025-11-03T10:09:04.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:04
2025-11-03T10:09:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36076784133911133s
2025-11-03T10:09:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36076784133911133
2025-11-03T10:09:06.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:06
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985623836517334s
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3755012;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39526;2460982.83965742;10.15173556;1.3;_
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3755012;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39526;2460982.83965742;10.15173556;1.3;_
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:06.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3755012, teldec = -24.256595
2025-11-03T10:09:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3755012 -24.256595
2025-11-03T10:09:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3755012 -24.256595
2025-11-03T10:09:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3755012 -24.256595
2025-11-03T10:09:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3755293;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39529;2460982.83965744;10.15176361;1.3;_15.3504556270093 -24.163964863205
2025-11-03T10:09:06.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3504556270093     dec_j2k = -24.163964863205
2025-11-03T10:09:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968499650083467;171.162357330327;_
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499650083467;171.162357330327;_
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:06.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56625)
2025-11-03T10:09:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:06.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:06.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:06.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83965742, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499650083467, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3755012, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39526, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3504556270093, telescope_dec_j2k=-24.163964863205, observability=1)
2025-11-03T10:09:06.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:06
2025-11-03T10:09:06.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:06.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024207353591918945s
2025-11-03T10:09:06.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024207353591918945
2025-11-03T10:09:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:06
2025-11-03T10:09:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3419315814971924s
2025-11-03T10:09:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3419315814971924
2025-11-03T10:09:08.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:08
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975438117980957s
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:08.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3760619;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39583;2460982.83968052;10.15229472;1.3;_
2025-11-03T10:09:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3760619;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39583;2460982.83968052;10.15229472;1.3;_
2025-11-03T10:09:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:08.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3760619, teldec = -24.256595
2025-11-03T10:09:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3760619 -24.256595
2025-11-03T10:09:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3760619 -24.256595
2025-11-03T10:09:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3760619 -24.256595
2025-11-03T10:09:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3760619;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39583;2460982.83968054;10.15229472;1.3;_15.3510159059275 -24.1639806335335
2025-11-03T10:09:08.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3510159059275     dec_j2k = -24.1639806335335
2025-11-03T10:09:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968506870233172;171.162351965909;_
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506870233172;171.162351965909;_
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38175)
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:08.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:08.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:08.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83968052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506870233172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3760619, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39583, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3510159059275, telescope_dec_j2k=-24.1639806335335, observability=1)
2025-11-03T10:09:08.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:08
2025-11-03T10:09:08.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:08.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021440744400024414s
2025-11-03T10:09:08.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021440744400024414
2025-11-03T10:09:08.811 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:08
2025-11-03T10:09:08.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:08.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3969423770904541s
2025-11-03T10:09:08.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3969423770904541
2025-11-03T10:09:10.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:10
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981750726699829s
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3766437;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39641;2460982.83970369;10.152875;1.3;_
2025-11-03T10:09:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3766437;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39641;2460982.83970369;10.152875;1.3;_
2025-11-03T10:09:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:10.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3766437, teldec = -24.256595
2025-11-03T10:09:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3766437 -24.256595
2025-11-03T10:09:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3766437 -24.256595
2025-11-03T10:09:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3766437 -24.256595
2025-11-03T10:09:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3766437;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39641;2460982.83970372;10.152875;1.3;_15.3515972690651 -24.1639969994684
2025-11-03T10:09:10.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3515972690651     dec_j2k = -24.1639969994684
2025-11-03T10:09:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45609)
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:10.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:10.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83970369, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499248964039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3766437, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39641, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3515972690651, telescope_dec_j2k=-24.1639969994684, observability=1)
2025-11-03T10:09:10.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:10
2025-11-03T10:09:10.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:10.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022787094116210938s
2025-11-03T10:09:10.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022787094116210938
2025-11-03T10:09:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:10
2025-11-03T10:09:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.343120813369751s
2025-11-03T10:09:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.343120813369751
2025-11-03T10:09:12.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:12
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9797625541687012s
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3771771;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39694;2460982.83972685;10.15340694;1.3;_
2025-11-03T10:09:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3771771;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39694;2460982.83972685;10.15340694;1.3;_
2025-11-03T10:09:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:12.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3771771, teldec = -24.256595
2025-11-03T10:09:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3771771 -24.256595
2025-11-03T10:09:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3771771 -24.256595
2025-11-03T10:09:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3771771 -24.256595
2025-11-03T10:09:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3771771;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39694;2460982.83972688;10.15340694;1.3;_15.3521302686037 -24.1640120058385
2025-11-03T10:09:12.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3521302686037     dec_j2k = -24.1640120058385
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968504864636032;171.162357330327;_
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968504864636032;171.162357330327;_
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60285)
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:12.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:12.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83972685, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968504864636032, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3771771, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39694, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3521302686037, telescope_dec_j2k=-24.1640120058385, observability=1)
2025-11-03T10:09:12.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:12
2025-11-03T10:09:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022735118865966797s
2025-11-03T10:09:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022735118865966797
2025-11-03T10:09:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:12
2025-11-03T10:09:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34263014793395996s
2025-11-03T10:09:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34263014793395996
2025-11-03T10:09:14.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:14
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778361320495605s
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3777565;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39752;2460982.83975;10.15398472;1.3;_
2025-11-03T10:09:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3777565;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39752;2460982.83975;10.15398472;1.3;_
2025-11-03T10:09:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:14.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3777565, teldec = -24.256595
2025-11-03T10:09:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3777565 -24.256595
2025-11-03T10:09:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3777565 -24.256595
2025-11-03T10:09:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3777565 -24.256595
2025-11-03T10:09:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3777565;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39752;2460982.83975002;10.15398472;1.3;_15.3527092336701 -24.1640283084258
2025-11-03T10:09:14.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3527092336701     dec_j2k = -24.1640283084258
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968503661277747;171.162362694745;_
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968503661277747;171.162362694745;_
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35989)
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:14.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:14.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:14.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968503661277747, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3777565, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39752, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3527092336701, telescope_dec_j2k=-24.1640283084258, observability=1)
2025-11-03T10:09:14.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:14
2025-11-03T10:09:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022027969360351562s
2025-11-03T10:09:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022027969360351562
2025-11-03T10:09:14.536 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:09:14
2025-11-03T10:09:14.536 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:14.536 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.11738038063049316s
2025-11-03T10:09:14.536 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11738038063049316
2025-11-03T10:09:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:14
2025-11-03T10:09:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3409614562988281s
2025-11-03T10:09:14.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3409614562988281
2025-11-03T10:09:16.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:16
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808673858642578s
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3782902;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39805;2460982.83977316;10.15451694;1.3;_
2025-11-03T10:09:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3782902;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39805;2460982.83977316;10.15451694;1.3;_
2025-11-03T10:09:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:16.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3782902, teldec = -24.256595
2025-11-03T10:09:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3782902 -24.256595
2025-11-03T10:09:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3782902 -24.256595
2025-11-03T10:09:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3782902 -24.256595
2025-11-03T10:09:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3782902;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39805;2460982.83977318;10.15451694;1.3;_15.3532425331002 -24.1640433270673
2025-11-03T10:09:16.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3532425331002     dec_j2k = -24.1640433270673
2025-11-03T10:09:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968503260158319;171.162346601491;_
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968503260158319;171.162346601491;_
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:16.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50429)
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:16.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:16.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:16.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:16.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:16.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:16.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:16.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:16.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:16.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83977316, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968503260158319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3782902, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39805, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3532425331002, telescope_dec_j2k=-24.1640433270673, observability=1)
2025-11-03T10:09:16.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:16
2025-11-03T10:09:16.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:16.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021435976028442383s
2025-11-03T10:09:16.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021435976028442383
2025-11-03T10:09:16.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:16
2025-11-03T10:09:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3482394218444824s
2025-11-03T10:09:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3482394218444824
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.6139802932739258s
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:18.034 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:18.035 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:18.035 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:18.035 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3787587;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39852;2460982.83979207;10.15498417;1.3;_
2025-11-03T10:09:18.035 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.3787587;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39852;2460982.83979207;10.15498417;1.3;_
2025-11-03T10:09:18.036 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:18.036 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:18.036 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:18.037 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:18.037 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:18.037 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.3787587, teldec = -24.256595
2025-11-03T10:09:18.037 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.3787587 -24.256595
2025-11-03T10:09:18.037 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.3787587 -24.256595
2025-11-03T10:09:18.037 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3787587 -24.256595
2025-11-03T10:09:18.038 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3787587;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39852;2460982.83979211;10.15498417;1.3;_15.3537106815125 -24.1640565124551
2025-11-03T10:09:18.038 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3537106815125     dec_j2k = -24.1640565124551
2025-11-03T10:09:18.038 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:18.038 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:18.038 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968500051202895;171.162351965909;_
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968500051202895;171.162351965909;_
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:18.039 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:18.040 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:18.041 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:18.041 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:18.041 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60165)
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:18.047 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:18.054 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:09:18.055 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83979207, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968500051202895, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3787587, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39852, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3537106815125, telescope_dec_j2k=-24.1640565124551, observability=1)
2025-11-03T10:09:18.055 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5189952850341797 seconds ago
2025-11-03T10:09:18.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:18
2025-11-03T10:09:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33931875228881836s
2025-11-03T10:09:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33931875228881836
2025-11-03T10:09:18.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:18
2025-11-03T10:09:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3616056442260742s
2025-11-03T10:09:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3616056442260742
2025-11-03T10:09:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:18
2025-11-03T10:09:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7116055488586426s
2025-11-03T10:09:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7116055488586426
2025-11-03T10:09:20.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:20
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3413190841674805s
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3794038;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39917;2460982.83981941;10.1556275;1.3;_
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3794038;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39917;2460982.83981941;10.1556275;1.3;_
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:20.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3794038, teldec = -24.256595
2025-11-03T10:09:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3794038 -24.256595
2025-11-03T10:09:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3794038 -24.256595
2025-11-03T10:09:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3794038 -24.256595
2025-11-03T10:09:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3794038;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39917;2460982.83981944;10.1556275;1.3;_15.3543552974651 -24.1640746703607
2025-11-03T10:09:20.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3543552974651     dec_j2k = -24.1640746703607
2025-11-03T10:09:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968509678069168;171.162362694745;_
2025-11-03T10:09:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968509678069168;171.162362694745;_
2025-11-03T10:09:20.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50163)
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:20.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:20.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:20.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:20.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83981941, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968509678069168, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3794038, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39917, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:08:20.544145', telescope_ra_j2k=15.3543552974651, telescope_dec_j2k=-24.1640746703607, observability=1)
2025-11-03T10:09:20.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:20
2025-11-03T10:09:20.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:20.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023285388946533203s
2025-11-03T10:09:20.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023285388946533203
2025-11-03T10:09:20.687 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:20.687 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:20.687 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:20.687 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:20.688 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:20.688 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:20.689 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:20.689 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:20.689 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:20.689 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:20.689 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:09:20.690 [INFO] [ThreadPoolExecutor-3445_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:09:20.690 [INFO] [ThreadPoolExecutor-3445_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:09:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:20
2025-11-03T10:09:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35085034370422363s
2025-11-03T10:09:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35085034370422363
2025-11-03T10:09:20.929 [DEBUG] [Thread-88827 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:20.929 [DEBUG] [Thread-88827 (handle)] [server.py] [get_status()] Status age = 0.5154461860656738s
2025-11-03T10:09:20.929 [DEBUG] [Thread-88827 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5154461860656738
2025-11-03T10:09:22.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:22
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821596145629883s
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:22.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3799636;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39973;2460982.83984256;10.15618583;1.3;_
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3799636;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39973;2460982.83984256;10.15618583;1.3;_
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:22.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3799636, teldec = -24.256595
2025-11-03T10:09:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3799636 -24.256595
2025-11-03T10:09:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3799636 -24.256595
2025-11-03T10:09:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3799636 -24.256595
2025-11-03T10:09:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3799636;-24.256595;50.10853;89.993048;50.08601;90.12017;12.39973;2460982.83984258;10.15618583;1.3;_15.3549146774885 -24.1640904294648
2025-11-03T10:09:22.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3549146774885     dec_j2k = -24.1640904294648
2025-11-03T10:09:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968502457919463;171.162362694745;_
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968502457919463;171.162362694745;_
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:22.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52173)
2025-11-03T10:09:22.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:22.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:22.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:22.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:22.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:22.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:22.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:22.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:22.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:22.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83984256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968502457919463, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10853, telescope_az=89.993048, telescope_ra=15.3799636, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.39973, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3549146774885, telescope_dec_j2k=-24.1640904294648, observability=1)
2025-11-03T10:09:22.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:22
2025-11-03T10:09:22.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:22.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02244400978088379s
2025-11-03T10:09:22.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02244400978088379
2025-11-03T10:09:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:22
2025-11-03T10:09:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34998250007629395s
2025-11-03T10:09:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34998250007629395
2025-11-03T10:09:24.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:24
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801249504089355s
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:24.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3805422;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40031;2460982.83986569;10.15676278;1.3;_
2025-11-03T10:09:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3805422;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40031;2460982.83986569;10.15676278;1.3;_
2025-11-03T10:09:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:24.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3805422, teldec = -24.256595
2025-11-03T10:09:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3805422 -24.256595
2025-11-03T10:09:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3805422 -24.256595
2025-11-03T10:09:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3805422 -24.256595
2025-11-03T10:09:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3805422;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40031;2460982.83986572;10.15676278;1.3;_15.3554928434724 -24.1641067199362
2025-11-03T10:09:24.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3554928434724     dec_j2k = -24.1641067199362
2025-11-03T10:09:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499248964039;171.162357330327;_
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38085)
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:24.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:24.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:24.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:24.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83986569, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499248964039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3805422, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40031, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3554928434724, telescope_dec_j2k=-24.1641067199362, observability=1)
2025-11-03T10:09:24.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:24
2025-11-03T10:09:24.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:24.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023563385009765625s
2025-11-03T10:09:24.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023563385009765625
2025-11-03T10:09:24.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:24
2025-11-03T10:09:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35155200958251953s
2025-11-03T10:09:24.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35155200958251953
2025-11-03T10:09:26.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:26
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9940986633300781s
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3811031;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40087;2460982.83988897;10.15732222;1.3;_
2025-11-03T10:09:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3811031;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40087;2460982.83988897;10.15732222;1.3;_
2025-11-03T10:09:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:26.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3811031, teldec = -24.256595
2025-11-03T10:09:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3811031 -24.256595
2025-11-03T10:09:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3811031 -24.256595
2025-11-03T10:09:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3811031 -24.256595
2025-11-03T10:09:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3811031;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40087;2460982.83988899;10.15732222;1.3;_15.3560533227961 -24.164122514124
2025-11-03T10:09:26.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3560533227961     dec_j2k = -24.164122514124
2025-11-03T10:09:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968502859038891;171.162362694745;_
2025-11-03T10:09:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968502859038891;171.162362694745;_
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59857)
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:26.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:26.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:26.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83988897, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968502859038891, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3811031, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40087, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3560533227961, telescope_dec_j2k=-24.164122514124, observability=1)
2025-11-03T10:09:26.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:26
2025-11-03T10:09:26.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:26.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023909568786621094s
2025-11-03T10:09:26.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023909568786621094
2025-11-03T10:09:26.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:26
2025-11-03T10:09:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34060096740722656s
2025-11-03T10:09:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34060096740722656
2025-11-03T10:09:28.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:28
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.967400312423706s
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:28.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:28.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:28.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3816357;-24.256595;50.108529;89.993048;50.08601;90.12017;12.4014;2460982.83991199;10.15785333;1.3;_
2025-11-03T10:09:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3816357;-24.256595;50.108529;89.993048;50.08601;90.12017;12.4014;2460982.83991199;10.15785333;1.3;_
2025-11-03T10:09:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:28.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3816357, teldec = -24.256595
2025-11-03T10:09:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3816357 -24.256595
2025-11-03T10:09:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3816357 -24.256595
2025-11-03T10:09:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3816357 -24.256595
2025-11-03T10:09:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3816357;-24.256595;50.108529;89.993048;50.08601;90.12017;12.4014;2460982.83991203;10.15785333;1.3;_15.3565855234022 -24.1641375132982
2025-11-03T10:09:28.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3565855234022     dec_j2k = -24.1641375132982
2025-11-03T10:09:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968503661277747;171.162357330327;_
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968503661277747;171.162357330327;_
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:28.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53041)
2025-11-03T10:09:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:28.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:28.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:28.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83991199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968503661277747, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3816357, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4014, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3565855234022, telescope_dec_j2k=-24.1641375132982, observability=1)
2025-11-03T10:09:28.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:28
2025-11-03T10:09:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0219423770904541s
2025-11-03T10:09:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0219423770904541
2025-11-03T10:09:28.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:28
2025-11-03T10:09:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36217236518859863s
2025-11-03T10:09:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36217236518859863
2025-11-03T10:09:30.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:30
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0348150730133057s
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:30.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:30.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.382214;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40198;2460982.83993579;10.15843;1.3;_
2025-11-03T10:09:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.382214;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40198;2460982.83993579;10.15843;1.3;_
2025-11-03T10:09:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:30.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:30.453 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.382214, teldec = -24.256595
2025-11-03T10:09:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.382214 -24.256595
2025-11-03T10:09:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.382214 -24.256595
2025-11-03T10:09:30.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.382214 -24.256595
2025-11-03T10:09:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.382214;-24.256595;50.108529;89.993048;50.08601;90.12017;12.40198;2460982.83993581;10.15843;1.3;_15.3571633898012 -24.1641538015531
2025-11-03T10:09:30.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3571633898012     dec_j2k = -24.1641538015531
2025-11-03T10:09:30.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968502859038891;171.162368059163;_
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968502859038891;171.162368059163;_
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:30.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:30.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:30.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52671)
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:30.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:30.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:30.467 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:30.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:30.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83993579, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968502859038891, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.382214, telescope_dec=-24.256595, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3571633898012, telescope_dec_j2k=-24.1641538015531, observability=1)
2025-11-03T10:09:30.489 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:30
2025-11-03T10:09:30.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:30.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02215743064880371s
2025-11-03T10:09:30.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02215743064880371
2025-11-03T10:09:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:30
2025-11-03T10:09:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29595303535461426s
2025-11-03T10:09:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29595303535461426
2025-11-03T10:09:32.705 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:32
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2389280796051025s
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:32.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:32.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:32.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3828306;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40259;2460982.8399619;10.159045;1.3;_
2025-11-03T10:09:32.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3828306;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40259;2460982.8399619;10.159045;1.3;_
2025-11-03T10:09:32.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:32.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:32.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:32.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:32.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:32.709 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3828306, teldec = -24.256594
2025-11-03T10:09:32.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3828306 -24.256594
2025-11-03T10:09:32.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3828306 -24.256594
2025-11-03T10:09:32.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3828306 -24.256594
2025-11-03T10:09:32.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3828306;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40259;2460982.83996192;10.159045;1.3;_15.3577795277065 -24.1641701709538
2025-11-03T10:09:32.710 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3577795277065     dec_j2k = -24.1641701709538
2025-11-03T10:09:32.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:32.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:32.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968504463516604;171.162368059163;_
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968504463516604;171.162368059163;_
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:32.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:32.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:32.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:32.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:32.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:32.720 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56957)
2025-11-03T10:09:32.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:32.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:32.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:32.720 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:32.721 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:32.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:32.728 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:32.728 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8399619, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968504463516604, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3828306, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40259, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3577795277065, telescope_dec_j2k=-24.1641701709538, observability=1)
2025-11-03T10:09:32.752 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:32
2025-11-03T10:09:32.752 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:32.752 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02448558807373047s
2025-11-03T10:09:32.752 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02448558807373047
2025-11-03T10:09:32.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:32
2025-11-03T10:09:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.037056922912597656s
2025-11-03T10:09:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.037056922912597656
2025-11-03T10:09:34.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:34
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6759872436523438s
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:34.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3833067;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40307;2460982.83998155;10.15951972;1.3;_
2025-11-03T10:09:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3833067;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40307;2460982.83998155;10.15951972;1.3;_
2025-11-03T10:09:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:34.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3833067, teldec = -24.256594
2025-11-03T10:09:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3833067 -24.256594
2025-11-03T10:09:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3833067 -24.256594
2025-11-03T10:09:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3833067 -24.256594
2025-11-03T10:09:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3833067;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40307;2460982.83998159;10.15951972;1.3;_15.3582552708408 -24.1641835841761
2025-11-03T10:09:34.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3582552708408     dec_j2k = -24.1641835841761
2025-11-03T10:09:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968510480308024;171.162357330327;_
2025-11-03T10:09:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510480308024;171.162357330327;_
2025-11-03T10:09:34.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:34.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:34.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:34.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53333)
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:34.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:34.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:34.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:34.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:34.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.83998155, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510480308024, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3833067, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40307, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3582552708408, telescope_dec_j2k=-24.1641835841761, observability=1)
2025-11-03T10:09:34.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:34
2025-11-03T10:09:34.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:34.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021584749221801758s
2025-11-03T10:09:34.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021584749221801758
2025-11-03T10:09:34.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:34
2025-11-03T10:09:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34938979148864746s
2025-11-03T10:09:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34938979148864746
2025-11-03T10:09:36.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:36
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791393280029297s
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3838663;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40363;2460982.84000469;10.16007778;1.3;_
2025-11-03T10:09:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3838663;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40363;2460982.84000469;10.16007778;1.3;_
2025-11-03T10:09:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:36.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3838663, teldec = -24.256594
2025-11-03T10:09:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3838663 -24.256594
2025-11-03T10:09:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3838663 -24.256594
2025-11-03T10:09:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3838663 -24.256594
2025-11-03T10:09:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3838663;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40363;2460982.84000471;10.16007778;1.3;_15.3588144514439 -24.1641993517198
2025-11-03T10:09:36.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3588144514439     dec_j2k = -24.1641993517198
2025-11-03T10:09:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968503260158319;171.162362694745;_
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968503260158319;171.162362694745;_
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36647)
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:36.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:36.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84000469, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968503260158319, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3838663, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40363, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3588144514439, telescope_dec_j2k=-24.1641993517198, observability=1)
2025-11-03T10:09:36.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:36
2025-11-03T10:09:36.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:36.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022215604782104492s
2025-11-03T10:09:36.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022215604782104492
2025-11-03T10:09:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:36
2025-11-03T10:09:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3437039852142334s
2025-11-03T10:09:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3437039852142334
2025-11-03T10:09:38.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:38
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9704670906066895s
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:38.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:38.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3844175;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40418;2460982.84002773;10.1606275;1.3;_
2025-11-03T10:09:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3844175;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40418;2460982.84002773;10.1606275;1.3;_
2025-11-03T10:09:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:38.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3844175, teldec = -24.256594
2025-11-03T10:09:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3844175 -24.256594
2025-11-03T10:09:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3844175 -24.256594
2025-11-03T10:09:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3844175 -24.256594
2025-11-03T10:09:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3844175;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40418;2460982.84002775;10.1606275;1.3;_15.3593652384026 -24.1642148845522
2025-11-03T10:09:38.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3593652384026     dec_j2k = -24.1642148845522
2025-11-03T10:09:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968509678069168;171.162362694745;_
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968509678069168;171.162362694745;_
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42223)
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:38.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:38.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84002773, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968509678069168, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3844175, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40418, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3593652384026, telescope_dec_j2k=-24.1642148845522, observability=1)
2025-11-03T10:09:38.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:38
2025-11-03T10:09:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022192001342773438s
2025-11-03T10:09:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022192001342773438
2025-11-03T10:09:38.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:38
2025-11-03T10:09:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3464498519897461s
2025-11-03T10:09:38.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3464498519897461
2025-11-03T10:09:39.052 [DEBUG] [Thread-88828 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:39.052 [DEBUG] [Thread-88828 (handle)] [server.py] [get_status()] Status age = 0.6358296871185303s
2025-11-03T10:09:39.052 [DEBUG] [Thread-88828 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6358296871185303
2025-11-03T10:09:40.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:40
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801032543182373s
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.384979;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40474;2460982.8400509;10.1611875;1.3;_
2025-11-03T10:09:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.384979;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40474;2460982.8400509;10.1611875;1.3;_
2025-11-03T10:09:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:40.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.384979, teldec = -24.256594
2025-11-03T10:09:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.384979 -24.256594
2025-11-03T10:09:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.384979 -24.256594
2025-11-03T10:09:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.384979 -24.256594
2025-11-03T10:09:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.384979;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40474;2460982.84005093;10.1611875;1.3;_15.3599263177046 -24.1642307096498
2025-11-03T10:09:40.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3599263177046     dec_j2k = -24.1642307096498
2025-11-03T10:09:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968500853441751;171.162357330327;_
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968500853441751;171.162357330327;_
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44371)
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:40.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:40.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:40.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:40.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:40.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:40.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:40.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:40.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8400509, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968500853441751, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.384979, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40474, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3599263177046, telescope_dec_j2k=-24.1642307096498, observability=1)
2025-11-03T10:09:40.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:40
2025-11-03T10:09:40.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:40.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021815776824951172s
2025-11-03T10:09:40.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021815776824951172
2025-11-03T10:09:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:40
2025-11-03T10:09:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34637904167175293s
2025-11-03T10:09:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34637904167175293
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:41.565 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:41.566 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.566 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.566 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:09:41.566 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:09:41.566 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:41.567 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:41.568 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:09:41.569 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:41.570 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Park
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:09:41.571 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:09:41.572 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 29;15.3853152;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40508;2460982.84006449;10.16152278;1.3;_Park Command Successful
2025-11-03T10:09:42.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:42
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829580783843994s
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3855584;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40532;2460982.84007409;10.16176528;1.3;_
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3855584;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40532;2460982.84007409;10.16176528;1.3;_
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:42.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3855584, teldec = -24.256594
2025-11-03T10:09:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3855584 -24.256594
2025-11-03T10:09:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3855584 -24.256594
2025-11-03T10:09:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3855584 -24.256594
2025-11-03T10:09:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3855584;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40532;2460982.84007411;10.16176528;1.3;_15.3605052836602 -24.1642470413611
2025-11-03T10:09:42.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3605052836602     dec_j2k = -24.1642470413611
2025-11-03T10:09:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968506469113744;171.162362694745;_
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506469113744;171.162362694745;_
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56099)
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:42.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:42.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:42.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:42.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:42.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84007409, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506469113744, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3855584, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40532, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3605052836602, telescope_dec_j2k=-24.1642470413611, observability=1)
2025-11-03T10:09:42.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:42
2025-11-03T10:09:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022813081741333008s
2025-11-03T10:09:42.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022813081741333008
2025-11-03T10:09:42.572 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:09:42.572 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:09:42.572 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:09:42.573 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:09:42.573 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:09:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:42
2025-11-03T10:09:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36214733123779297s
2025-11-03T10:09:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36214733123779297
2025-11-03T10:09:43.573 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:09:43.573 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:09:43.573 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:09:43.574 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:09:43.574 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:09:44.574 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:09:44.574 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:09:44.574 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:09:44.575 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:09:44.575 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:09:44.593 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:44
2025-11-03T10:09:44.593 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:44.593 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.172560691833496s
2025-11-03T10:09:44.593 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:44.593 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:44.593 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:44.594 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:44.595 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:44.595 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.386148;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40591;2460982.84009948;10.16235333;1.3;_
2025-11-03T10:09:44.596 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.386148;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40591;2460982.84009948;10.16235333;1.3;_
2025-11-03T10:09:44.596 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:44.596 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:44.596 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:44.597 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:44.597 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:44.597 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.386148, teldec = -24.256594
2025-11-03T10:09:44.597 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.386148 -24.256594
2025-11-03T10:09:44.597 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.386148 -24.256594
2025-11-03T10:09:44.597 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.386148 -24.256594
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.386148;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40591;2460982.84009951;10.16235333;1.3;_15.3610944420427 -24.1642636628003
2025-11-03T10:09:44.598 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3610944420427     dec_j2k = -24.1642636628003
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968501254561179;171.162362694745;_
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968501254561179;171.162362694745;_
2025-11-03T10:09:44.598 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:44.599 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:44.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:44.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:44.600 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:44.601 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53003)
2025-11-03T10:09:44.601 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:44.601 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:44.601 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:44.601 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:44.602 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:44.609 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:44.610 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:44.610 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:44.610 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84009948, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968501254561179, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.386148, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3610944420427, telescope_dec_j2k=-24.1642636628003, observability=1)
2025-11-03T10:09:44.631 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:44
2025-11-03T10:09:44.632 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:44.632 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021979570388793945s
2025-11-03T10:09:44.632 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021979570388793945
2025-11-03T10:09:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:44
2025-11-03T10:09:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15197443962097168s
2025-11-03T10:09:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15197443962097168
2025-11-03T10:09:45.575 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:09:45.575 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:09:45.576 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:45.577 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:09:45.578 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:09:45.579 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:46.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:46
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.788696527481079s
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3866528;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40642;2460982.84012037;10.16285667;1.3;_
2025-11-03T10:09:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3866528;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40642;2460982.84012037;10.16285667;1.3;_
2025-11-03T10:09:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:46.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3866528, teldec = -24.256594
2025-11-03T10:09:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3866528 -24.256594
2025-11-03T10:09:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3866528 -24.256594
2025-11-03T10:09:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3866528 -24.256594
2025-11-03T10:09:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3866528;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40642;2460982.8401204;10.16285667;1.3;_15.3615988639957 -24.1642778954161
2025-11-03T10:09:46.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3615988639957     dec_j2k = -24.1642778954161
2025-11-03T10:09:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:09:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:09:46.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:46.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:46.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:46.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50365)
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:46.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:46.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84012037, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510079188596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3866528, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40642, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3615988639957, telescope_dec_j2k=-24.1642778954161, observability=1)
2025-11-03T10:09:46.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:46
2025-11-03T10:09:46.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:46.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021260976791381836s
2025-11-03T10:09:46.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021260976791381836
2025-11-03T10:09:46.579 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:46.579 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:46.579 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:46.579 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:09:46.580 [DEBUG] [ThreadPoolExecutor-3444_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:46.580 [INFO] [ThreadPoolExecutor-3444_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:09:46.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:46
2025-11-03T10:09:46.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:46.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37761950492858887s
2025-11-03T10:09:46.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37761950492858887
2025-11-03T10:09:48.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:48
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9759440422058105s
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:48.393 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3872045;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40697;2460982.84014346;10.16340694;1.3;_
2025-11-03T10:09:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3872045;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40697;2460982.84014346;10.16340694;1.3;_
2025-11-03T10:09:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:48.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3872045, teldec = -24.256594
2025-11-03T10:09:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3872045 -24.256594
2025-11-03T10:09:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3872045 -24.256594
2025-11-03T10:09:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3872045 -24.256594
2025-11-03T10:09:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3872045;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40697;2460982.84014348;10.16340694;1.3;_15.3621501508825 -24.1642934522316
2025-11-03T10:09:48.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3621501508825     dec_j2k = -24.1642934522316
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096850927694974;171.162357330327;_
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096850927694974;171.162357330327;_
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50639)
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:48.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:48.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:48.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84014346, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096850927694974, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3872045, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3621501508825, telescope_dec_j2k=-24.1642934522316, observability=1)
2025-11-03T10:09:48.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:48
2025-11-03T10:09:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025554656982421875s
2025-11-03T10:09:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025554656982421875
2025-11-03T10:09:48.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:48
2025-11-03T10:09:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3553192615509033s
2025-11-03T10:09:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3553192615509033
2025-11-03T10:09:50.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:50
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985182762145996s
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:50.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3877658;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40753;2460982.84016664;10.16396667;1.3;_
2025-11-03T10:09:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3877658;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40753;2460982.84016664;10.16396667;1.3;_
2025-11-03T10:09:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:50.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3877658, teldec = -24.256594
2025-11-03T10:09:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3877658 -24.256594
2025-11-03T10:09:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3877658 -24.256594
2025-11-03T10:09:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3877658 -24.256594
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3877658;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40753;2460982.84016667;10.16396667;1.3;_15.3627110306424 -24.1643092817565
2025-11-03T10:09:50.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3627110306424     dec_j2k = -24.1643092817565
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096850526575546;171.162362694745;_
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096850526575546;171.162362694745;_
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52087)
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:50.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:50.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:50.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84016664, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096850526575546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3877658, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40753, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3627110306424, telescope_dec_j2k=-24.1643092817565, observability=1)
2025-11-03T10:09:50.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:50
2025-11-03T10:09:50.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:50.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021221637725830078s
2025-11-03T10:09:50.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021221637725830078
2025-11-03T10:09:50.462 [DEBUG] [Thread-88829 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:50.462 [DEBUG] [Thread-88829 (handle)] [server.py] [get_status()] Status age = 0.04990863800048828s
2025-11-03T10:09:50.462 [DEBUG] [Thread-88829 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04990863800048828
2025-11-03T10:09:50.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:50
2025-11-03T10:09:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3596312999725342s
2025-11-03T10:09:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3596312999725342
2025-11-03T10:09:52.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:52
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.996391773223877s
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:52.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:52.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3883179;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40808;2460982.84018994;10.16451722;1.3;_
2025-11-03T10:09:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3883179;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40808;2460982.84018994;10.16451722;1.3;_
2025-11-03T10:09:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:52.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:52.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3883179, teldec = -24.256594
2025-11-03T10:09:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3883179 -24.256594
2025-11-03T10:09:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3883179 -24.256594
2025-11-03T10:09:52.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3883179 -24.256594
2025-11-03T10:09:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3883179;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40808;2460982.84018997;10.16451722;1.3;_15.3632627173508 -24.1643248538037
2025-11-03T10:09:52.413 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3632627173508     dec_j2k = -24.1643248538037
2025-11-03T10:09:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:52.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968499248964039;171.162351965909;_
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968499248964039;171.162351965909;_
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:52.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:52.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:52.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:52.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:52.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34917)
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:52.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:52.425 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:52.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:52.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84018994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968499248964039, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3883179, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40808, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3632627173508, telescope_dec_j2k=-24.1643248538037, observability=1)
2025-11-03T10:09:52.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:52
2025-11-03T10:09:52.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:52.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02210068702697754s
2025-11-03T10:09:52.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02210068702697754
2025-11-03T10:09:52.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:52
2025-11-03T10:09:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33657193183898926s
2025-11-03T10:09:52.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33657193183898926
2025-11-03T10:09:54.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:54
2025-11-03T10:09:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9747905731201172s
2025-11-03T10:09:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3888791;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40864;2460982.840213;10.16507694;1.3;_
2025-11-03T10:09:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3888791;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40864;2460982.840213;10.16507694;1.3;_
2025-11-03T10:09:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:54.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3888791, teldec = -24.256594
2025-11-03T10:09:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3888791 -24.256594
2025-11-03T10:09:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3888791 -24.256594
2025-11-03T10:09:54.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3888791 -24.256594
2025-11-03T10:09:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3888791;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40864;2460982.84021302;10.16507694;1.3;_15.3638234973087 -24.164340684526
2025-11-03T10:09:54.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3638234973087     dec_j2k = -24.164340684526
2025-11-03T10:09:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968512887024593;171.162346601491;_
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968512887024593;171.162346601491;_
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44211)
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:54.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:54.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:54.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:54.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.840213, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968512887024593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3888791, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40864, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3638234973087, telescope_dec_j2k=-24.164340684526, observability=1)
2025-11-03T10:09:54.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:54
2025-11-03T10:09:54.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:54.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022230863571166992s
2025-11-03T10:09:54.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022230863571166992
2025-11-03T10:09:54.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:54
2025-11-03T10:09:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3406696319580078s
2025-11-03T10:09:54.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3406696319580078
2025-11-03T10:09:56.738 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:56
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3196816444396973s
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:56.738 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:56.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3895429;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40931;2460982.84024003;10.16573889;1.3;_
2025-11-03T10:09:56.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3895429;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40931;2460982.84024003;10.16573889;1.3;_
2025-11-03T10:09:56.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:56.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:56.739 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:56.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:56.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:56.740 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3895429, teldec = -24.256594
2025-11-03T10:09:56.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3895429 -24.256594
2025-11-03T10:09:56.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3895429 -24.256594
2025-11-03T10:09:56.740 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3895429 -24.256594
2025-11-03T10:09:56.741 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3895429;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40931;2460982.84024006;10.16573889;1.3;_15.3644868005535 -24.1643594120744
2025-11-03T10:09:56.741 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3644868005535     dec_j2k = -24.1643594120744
2025-11-03T10:09:56.741 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:56.741 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:56.742 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:56.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:56.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:56.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:56.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:56.743 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:56.744 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:56.744 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:56.750 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36037)
2025-11-03T10:09:56.750 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:56.750 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:56.750 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:56.750 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:56.751 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:56.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:56.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:56.755 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:56.755 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:56.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:56.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:56.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:56.756 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:56.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:56.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84024003, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506870233172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3895429, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40931, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3644868005535, telescope_dec_j2k=-24.1643594120744, observability=1)
2025-11-03T10:09:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:56
2025-11-03T10:09:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.008141517639160156s
2025-11-03T10:09:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008141517639160156
2025-11-03T10:09:56.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:56
2025-11-03T10:09:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022806406021118164s
2025-11-03T10:09:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022806406021118164
2025-11-03T10:09:57.120 [DEBUG] [Thread-88830 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:57.120 [DEBUG] [Thread-88830 (handle)] [server.py] [get_status()] Status age = 0.3641061782836914s
2025-11-03T10:09:57.120 [DEBUG] [Thread-88830 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3641061782836914
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2329487800598145s
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3898796;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40964;2460982.84025453;10.16607472;1.3;_
2025-11-03T10:09:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.3898796;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40964;2460982.84025453;10.16607472;1.3;_
2025-11-03T10:09:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:57.992 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.3898796, teldec = -24.256594
2025-11-03T10:09:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3898796 -24.256594
2025-11-03T10:09:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3898796 -24.256594
2025-11-03T10:09:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3898796 -24.256594
2025-11-03T10:09:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.3898796;-24.256594;50.108529;89.993048;50.08601;90.12017;12.40964;2460982.84025455;10.16607472;1.3;_15.364823248617 -24.1643689123518
2025-11-03T10:09:57.993 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.364823248617     dec_j2k = -24.1643689123518
2025-11-03T10:09:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968510079188596;171.162351965909;_
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510079188596;171.162351965909;_
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38217)
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:58.007 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:58.007 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84025453, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510079188596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3898796, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.40964, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.364823248617, telescope_dec_j2k=-24.1643689123518, observability=1)
2025-11-03T10:09:58.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:58
2025-11-03T10:09:58.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:58.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.45600366592407227s
2025-11-03T10:09:58.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.45600366592407227
2025-11-03T10:09:58.486 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:58
2025-11-03T10:09:58.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:58.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4788343906402588s
2025-11-03T10:09:58.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4788343906402588
2025-11-03T10:09:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:09:58
2025-11-03T10:09:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7536513805389404s
2025-11-03T10:09:58.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7536513805389404
2025-11-03T10:09:59.259 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:09:59.259 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.251908540725708s
2025-11-03T10:09:59.259 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:09:59.259 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:09:59.259 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:09:59.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:09:59.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:09:59.260 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:09:59.261 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:09:59.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3902445;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41001;2460982.84026924;10.16643861;1.3;_
2025-11-03T10:09:59.262 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.3902445;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41001;2460982.84026924;10.16643861;1.3;_
2025-11-03T10:09:59.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:09:59.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:09:59.262 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:09:59.263 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:59.263 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:09:59.263 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.3902445, teldec = -24.256594
2025-11-03T10:09:59.263 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3902445 -24.256594
2025-11-03T10:09:59.263 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3902445 -24.256594
2025-11-03T10:09:59.263 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3902445 -24.256594
2025-11-03T10:09:59.264 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.3902445;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41001;2460982.84026926;10.16643861;1.3;_15.3651878756051 -24.1643792091389
2025-11-03T10:09:59.264 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.3651878756051     dec_j2k = -24.1643792091389
2025-11-03T10:09:59.264 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:09:59.264 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:09:59.264 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:59.265 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:09:59.266 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:09:59.267 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:59.267 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:09:59.267 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41831)
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:09:59.273 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:09:59.280 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:09:59.281 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:09:59.281 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84026924, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506870233172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3902445, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41001, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3651878756051, telescope_dec_j2k=-24.1643792091389, observability=1)
2025-11-03T10:10:00.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:00
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1374461650848389s
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:00.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:00.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:00.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:00.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:00.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:00.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:00.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:00.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3905732;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41034;2460982.84028264;10.16676639;1.3;_
2025-11-03T10:10:00.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3905732;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41034;2460982.84028264;10.16676639;1.3;_
2025-11-03T10:10:00.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:00.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:00.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:00.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:00.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:00.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3905732, teldec = -24.256594
2025-11-03T10:10:00.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3905732 -24.256594
2025-11-03T10:10:00.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3905732 -24.256594
2025-11-03T10:10:00.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3905732 -24.256594
2025-11-03T10:10:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3905732;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41034;2460982.84028267;10.16676639;1.3;_15.3655163296999 -24.164388485163
2025-11-03T10:10:00.423 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3655163296999     dec_j2k = -24.164388485163
2025-11-03T10:10:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:00.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968512887024593;171.162351965909;_
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968512887024593;171.162351965909;_
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:00.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:00.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:00.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:00.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58101)
2025-11-03T10:10:00.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:00.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:00.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:00.434 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:00.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:00.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:00.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84028264, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968512887024593, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3905732, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3655163296999, telescope_dec_j2k=-24.164388485163, observability=1)
2025-11-03T10:10:00.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:00
2025-11-03T10:10:00.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:00.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02197098731994629s
2025-11-03T10:10:00.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02197098731994629
2025-11-03T10:10:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:00
2025-11-03T10:10:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32258129119873047s
2025-11-03T10:10:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32258129119873047
2025-11-03T10:10:02.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:02
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9575254917144775s
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.391108;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41087;2460982.84030557;10.16729972;1.3;_
2025-11-03T10:10:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.391108;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41087;2460982.84030557;10.16729972;1.3;_
2025-11-03T10:10:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:02.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.391108, teldec = -24.256594
2025-11-03T10:10:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.391108 -24.256594
2025-11-03T10:10:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.391108 -24.256594
2025-11-03T10:10:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.391108 -24.256594
2025-11-03T10:10:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.391108;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41087;2460982.84030559;10.16729972;1.3;_15.3660507296537 -24.1644035788816
2025-11-03T10:10:02.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3660507296537     dec_j2k = -24.1644035788816
2025-11-03T10:10:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096850526575546;171.162362694745;_
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096850526575546;171.162362694745;_
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:02.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:02.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45645)
2025-11-03T10:10:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:02.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:02.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:02.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:02.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:02.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84030557, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096850526575546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.391108, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41087, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3660507296537, telescope_dec_j2k=-24.1644035788816, observability=1)
2025-11-03T10:10:02.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:02
2025-11-03T10:10:02.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:02.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022256135940551758s
2025-11-03T10:10:02.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022256135940551758
2025-11-03T10:10:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:02
2025-11-03T10:10:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3426499366760254s
2025-11-03T10:10:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3426499366760254
2025-11-03T10:10:04.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:04
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768579006195068s
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.391669;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41143;2460982.84032867;10.16785917;1.3;_
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.391669;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41143;2460982.84032867;10.16785917;1.3;_
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:04.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.391669, teldec = -24.256594
2025-11-03T10:10:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.391669 -24.256594
2025-11-03T10:10:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.391669 -24.256594
2025-11-03T10:10:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.391669 -24.256594
2025-11-03T10:10:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.391669;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41143;2460982.84032869;10.16785917;1.3;_15.3666113100699 -24.1644194140202
2025-11-03T10:10:04.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3666113100699     dec_j2k = -24.1644194140202
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968511683666309;171.162351965909;_
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968511683666309;171.162351965909;_
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:04.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46673)
2025-11-03T10:10:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:04.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:04.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:04.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84032867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968511683666309, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.391669, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41143, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3666113100699, telescope_dec_j2k=-24.1644194140202, observability=1)
2025-11-03T10:10:04.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:04
2025-11-03T10:10:04.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:04.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022734642028808594s
2025-11-03T10:10:04.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022734642028808594
2025-11-03T10:10:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:04
2025-11-03T10:10:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3488340377807617s
2025-11-03T10:10:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3488340377807617
2025-11-03T10:10:06.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:06
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9865779876708984s
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3922202;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41198;2460982.84035191;10.16840889;1.3;_
2025-11-03T10:10:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3922202;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41198;2460982.84035191;10.16840889;1.3;_
2025-11-03T10:10:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:06.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3922202, teldec = -24.256594
2025-11-03T10:10:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3922202 -24.256594
2025-11-03T10:10:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3922202 -24.256594
2025-11-03T10:10:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3922202 -24.256594
2025-11-03T10:10:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3922202;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41198;2460982.84035193;10.16840889;1.3;_15.3671620978761 -24.1644349745067
2025-11-03T10:10:06.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3671620978761     dec_j2k = -24.1644349745067
2025-11-03T10:10:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:06.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:06.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506870233172;171.162357330327;_
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:06.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:06.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:06.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:06.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37437)
2025-11-03T10:10:06.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:06.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:06.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:06.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:06.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:06.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:06.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:06.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:06.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:06.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84035191, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506870233172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3922202, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3671620978761, telescope_dec_j2k=-24.1644349745067, observability=1)
2025-11-03T10:10:06.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:06
2025-11-03T10:10:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021465301513671875s
2025-11-03T10:10:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021465301513671875
2025-11-03T10:10:06.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:06
2025-11-03T10:10:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3423926830291748s
2025-11-03T10:10:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3423926830291748
2025-11-03T10:10:08.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:08
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9709880352020264s
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3927823;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41255;2460982.84037498;10.16896944;1.3;_
2025-11-03T10:10:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3927823;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41255;2460982.84037498;10.16896944;1.3;_
2025-11-03T10:10:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:08.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3927823, teldec = -24.256594
2025-11-03T10:10:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3927823 -24.256594
2025-11-03T10:10:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3927823 -24.256594
2025-11-03T10:10:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3927823 -24.256594
2025-11-03T10:10:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3927823;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41255;2460982.840375;10.16896944;1.3;_15.3677237775929 -24.1644508447116
2025-11-03T10:10:08.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3677237775929     dec_j2k = -24.1644508447116
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09685072713526;171.162362694745;_
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09685072713526;171.162362694745;_
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35249)
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:08.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:08.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:08.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:08.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84037498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09685072713526, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3927823, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41255, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3677237775929, telescope_dec_j2k=-24.1644508447116, observability=1)
2025-11-03T10:10:08.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:08
2025-11-03T10:10:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022023916244506836s
2025-11-03T10:10:08.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022023916244506836
2025-11-03T10:10:08.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:08
2025-11-03T10:10:08.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3469727039337158s
2025-11-03T10:10:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3469727039337158
2025-11-03T10:10:10.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:10
2025-11-03T10:10:10.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:10.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838356971740723s
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3933338;-24.256594;50.108529;89.993048;50.08601;90.12017;12.4131;2460982.84039817;10.16951944;1.3;_
2025-11-03T10:10:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3933338;-24.256594;50.108529;89.993048;50.08601;90.12017;12.4131;2460982.84039817;10.16951944;1.3;_
2025-11-03T10:10:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:10.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3933338, teldec = -24.256594
2025-11-03T10:10:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3933338 -24.256594
2025-11-03T10:10:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3933338 -24.256594
2025-11-03T10:10:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3933338 -24.256594
2025-11-03T10:10:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3933338;-24.256594;50.108529;89.993048;50.08601;90.12017;12.4131;2460982.84039819;10.16951944;1.3;_15.3682748652959 -24.1644664176102
2025-11-03T10:10:10.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3682748652959     dec_j2k = -24.1644664176102
2025-11-03T10:10:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:10.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968506870233172;171.162346601491;_
2025-11-03T10:10:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968506870233172;171.162346601491;_
2025-11-03T10:10:10.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:10.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:10.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46619)
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:10.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:10.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:10.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:10.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84039817, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968506870233172, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3933338, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4131, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3682748652959, telescope_dec_j2k=-24.1644664176102, observability=1)
2025-11-03T10:10:10.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:10
2025-11-03T10:10:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027927160263061523s
2025-11-03T10:10:10.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027927160263061523
2025-11-03T10:10:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:10
2025-11-03T10:10:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3468930721282959s
2025-11-03T10:10:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3468930721282959
2025-11-03T10:10:12.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:12
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789581298828125s
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3938951;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41366;2460982.84042128;10.17007917;1.3;_
2025-11-03T10:10:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3938951;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41366;2460982.84042128;10.17007917;1.3;_
2025-11-03T10:10:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:12.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3938951, teldec = -24.256594
2025-11-03T10:10:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3938951 -24.256594
2025-11-03T10:10:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3938951 -24.256594
2025-11-03T10:10:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3938951 -24.256594
2025-11-03T10:10:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3938951;-24.256594;50.108529;89.993048;50.08601;90.12017;12.41366;2460982.84042132;10.17007917;1.3;_15.3688357457341 -24.1644822692398
2025-11-03T10:10:12.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3688357457341     dec_j2k = -24.1644822692398
2025-11-03T10:10:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968510079188596;171.162362694745;_
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510079188596;171.162362694745;_
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:12.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44853)
2025-11-03T10:10:12.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:12.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:12.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:12.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84042128, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510079188596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108529, telescope_az=89.993048, telescope_ra=15.3938951, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41366, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3688357457341, telescope_dec_j2k=-24.1644822692398, observability=1)
2025-11-03T10:10:12.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:12
2025-11-03T10:10:12.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:12.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023973703384399414s
2025-11-03T10:10:12.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023973703384399414
2025-11-03T10:10:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:12
2025-11-03T10:10:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3493649959564209s
2025-11-03T10:10:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3493649959564209
2025-11-03T10:10:14.597 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:10:14
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 2.182891607284546s
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:14.597 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:14.598 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:14.599 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.3945023;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41427;2460982.84044675;10.17068472;1.3;_
2025-11-03T10:10:14.599 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.3945023;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41427;2460982.84044675;10.17068472;1.3;_
2025-11-03T10:10:14.599 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:14.599 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:14.599 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:14.600 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:14.600 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:14.600 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.3945023, teldec = -24.256594
2025-11-03T10:10:14.600 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3945023 -24.256594
2025-11-03T10:10:14.600 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3945023 -24.256594
2025-11-03T10:10:14.600 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3945023 -24.256594
2025-11-03T10:10:14.601 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.3945023;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41427;2460982.84044677;10.17068472;1.3;_15.3694424919329 -24.1644994194047
2025-11-03T10:10:14.601 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.3694424919329     dec_j2k = -24.1644994194047
2025-11-03T10:10:14.601 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:14.601 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:14.601 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968516898218873;171.162357330327;_
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968516898218873;171.162357330327;_
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:14.602 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:14.603 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:14.604 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:14.604 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:14.604 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44689)
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:14.606 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:14.614 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:14.614 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84044675, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968516898218873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3945023, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41427, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3694424919329, telescope_dec_j2k=-24.1644994194047, observability=1)
2025-11-03T10:10:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:14
2025-11-03T10:10:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15294194221496582s
2025-11-03T10:10:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15294194221496582
2025-11-03T10:10:14.953 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:14
2025-11-03T10:10:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33908772468566895s
2025-11-03T10:10:14.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33908772468566895
2025-11-03T10:10:14.993 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:14
2025-11-03T10:10:14.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:14.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37880659103393555s
2025-11-03T10:10:14.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37880659103393555
2025-11-03T10:10:15.185 [DEBUG] [Thread-88831 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:15.185 [DEBUG] [Thread-88831 (handle)] [server.py] [get_status()] Status age = 0.5709347724914551s
2025-11-03T10:10:15.185 [DEBUG] [Thread-88831 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5709347724914551
2025-11-03T10:10:16.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:16
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7829489707946777s
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3950078;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41477;2460982.84046759;10.17118889;1.3;_
2025-11-03T10:10:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3950078;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41477;2460982.84046759;10.17118889;1.3;_
2025-11-03T10:10:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:16.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3950078, teldec = -24.256594
2025-11-03T10:10:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3950078 -24.256594
2025-11-03T10:10:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3950078 -24.256594
2025-11-03T10:10:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3950078 -24.256594
2025-11-03T10:10:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3950078;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41477;2460982.84046762;10.17118889;1.3;_15.3699476141944 -24.1645136988913
2025-11-03T10:10:16.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3699476141944     dec_j2k = -24.1645136988913
2025-11-03T10:10:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:16.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:16.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:16.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58529)
2025-11-03T10:10:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:16.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:16.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84046759, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510079188596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3950078, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41477, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3699476141944, telescope_dec_j2k=-24.1645136988913, observability=1)
2025-11-03T10:10:16.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:16
2025-11-03T10:10:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02171945571899414s
2025-11-03T10:10:16.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02171945571899414
2025-11-03T10:10:16.823 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:16
2025-11-03T10:10:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.404879093170166s
2025-11-03T10:10:16.823 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.404879093170166
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.6962673664093018s
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:18.115 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:18.116 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:18.117 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3954844;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41525;2460982.84048747;10.17166417;1.3;_
2025-11-03T10:10:18.117 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.3954844;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41525;2460982.84048747;10.17166417;1.3;_
2025-11-03T10:10:18.117 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:18.117 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:18.117 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:18.118 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:18.118 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:18.118 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.3954844, teldec = -24.256594
2025-11-03T10:10:18.118 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.3954844 -24.256594
2025-11-03T10:10:18.118 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.3954844 -24.256594
2025-11-03T10:10:18.118 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3954844 -24.256594
2025-11-03T10:10:18.119 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.3954844;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41525;2460982.84048749;10.17166417;1.3;_15.3704238580979 -24.1645271635053
2025-11-03T10:10:18.119 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3704238580979     dec_j2k = -24.1645271635053
2025-11-03T10:10:18.119 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:18.119 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:18.119 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968504062397176;171.162357330327;_
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968504062397176;171.162357330327;_
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:18.120 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:18.121 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:18.122 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:18.122 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57731)
2025-11-03T10:10:18.122 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:18.123 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:18.123 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:18.123 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:18.123 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:18.130 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:10:18.130 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84048747, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968504062397176, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3954844, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41525, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3704238580979, telescope_dec_j2k=-24.1645271635053, observability=1)
2025-11-03T10:10:18.130 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5335371494293213 seconds ago
2025-11-03T10:10:18.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:18
2025-11-03T10:10:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2637319564819336s
2025-11-03T10:10:18.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2637319564819336
2025-11-03T10:10:18.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:18
2025-11-03T10:10:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28572988510131836s
2025-11-03T10:10:18.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28572988510131836
2025-11-03T10:10:18.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:18
2025-11-03T10:10:18.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:18.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6612703800201416s
2025-11-03T10:10:18.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6612703800201416
2025-11-03T10:10:20.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:20
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3249077796936035s
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:20.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:20.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:20.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3961487;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41591;2460982.84051455;10.17232667;1.3;_
2025-11-03T10:10:20.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3961487;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41591;2460982.84051455;10.17232667;1.3;_
2025-11-03T10:10:20.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:20.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:20.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:20.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:20.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:20.459 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3961487, teldec = -24.256594
2025-11-03T10:10:20.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3961487 -24.256594
2025-11-03T10:10:20.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3961487 -24.256594
2025-11-03T10:10:20.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3961487 -24.256594
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3961487;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41591;2460982.84051458;10.17232667;1.3;_15.3710876618342 -24.164545933337
2025-11-03T10:10:20.460 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3710876618342     dec_j2k = -24.164545933337
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968504864636032;171.162362694745;_
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968504864636032;171.162362694745;_
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:20.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:20.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:20.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:20.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:20.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49843)
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:20.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:20.474 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:20.475 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84051455, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968504864636032, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3961487, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41591, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:09:20.687258', telescope_ra_j2k=15.3710876618342, telescope_dec_j2k=-24.164545933337, observability=1)
2025-11-03T10:10:20.497 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:20
2025-11-03T10:10:20.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:20.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023079872131347656s
2025-11-03T10:10:20.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023079872131347656
2025-11-03T10:10:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:20
2025-11-03T10:10:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28992295265197754s
2025-11-03T10:10:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28992295265197754
2025-11-03T10:10:20.830 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:20.830 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:20.830 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:20.830 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:20.831 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:20.831 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:20.832 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:20.832 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:20.832 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:20.832 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:10:20.832 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:20.832 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:20.832 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:20.832 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:20.832 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:10:20.833 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:10:20.834 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:21.834 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:21.834 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:21.834 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:21.834 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:21.834 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:10:21.835 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:21.836 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:21.837 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:21.837 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:21.837 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:21.837 [DEBUG] [ThreadPoolExecutor-3446_0] [payload.py] [to_registers()] [0]
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32913)
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:21.840 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:21.847 [DEBUG] [ThreadPoolExecutor-3446_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:22.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:22
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9330353736877441s
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3966819;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41645;2460982.84053715;10.17285833;1.3;_
2025-11-03T10:10:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3966819;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41645;2460982.84053715;10.17285833;1.3;_
2025-11-03T10:10:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:22.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3966819, teldec = -24.256594
2025-11-03T10:10:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3966819 -24.256594
2025-11-03T10:10:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3966819 -24.256594
2025-11-03T10:10:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3966819 -24.256594
2025-11-03T10:10:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3966819;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41645;2460982.84053718;10.17285833;1.3;_15.3716204635715 -24.1645610009791
2025-11-03T10:10:22.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3716204635715     dec_j2k = -24.1645610009791
2025-11-03T10:10:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968508073591456;171.162357330327;_
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968508073591456;171.162357330327;_
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:22.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:22.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:22.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:22.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40625)
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:22.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:22.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:22.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84053715, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968508073591456, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3966819, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41645, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3716204635715, telescope_dec_j2k=-24.1645610009791, observability=1)
2025-11-03T10:10:22.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:22
2025-11-03T10:10:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021944522857666016s
2025-11-03T10:10:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021944522857666016
2025-11-03T10:10:22.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:22
2025-11-03T10:10:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3352072238922119s
2025-11-03T10:10:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3352072238922119
2025-11-03T10:10:24.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:24
2025-11-03T10:10:24.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:24.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9688873291015625s
2025-11-03T10:10:24.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:24.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3972331;-24.256594;50.108528;89.993048;50.08601;90.12017;12.417;2460982.84056017;10.17340806;1.3;_
2025-11-03T10:10:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3972331;-24.256594;50.108528;89.993048;50.08601;90.12017;12.417;2460982.84056017;10.17340806;1.3;_
2025-11-03T10:10:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:24.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3972331, teldec = -24.256594
2025-11-03T10:10:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3972331 -24.256594
2025-11-03T10:10:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3972331 -24.256594
2025-11-03T10:10:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3972331 -24.256594
2025-11-03T10:10:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3972331;-24.256594;50.108528;89.993048;50.08601;90.12017;12.417;2460982.8405602;10.17340806;1.3;_15.372171251923 -24.1645765791978
2025-11-03T10:10:24.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.372171251923     dec_j2k = -24.1645765791978
2025-11-03T10:10:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968508474710884;171.162362694745;_
2025-11-03T10:10:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968508474710884;171.162362694745;_
2025-11-03T10:10:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:24.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52777)
2025-11-03T10:10:24.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:24.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:24.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:24.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:24.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:24.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:24.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84056017, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968508474710884, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3972331, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.417, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.372171251923, telescope_dec_j2k=-24.1645765791978, observability=1)
2025-11-03T10:10:24.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:24
2025-11-03T10:10:24.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:24.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022249221801757812s
2025-11-03T10:10:24.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022249221801757812
2025-11-03T10:10:24.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:24
2025-11-03T10:10:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3470885753631592s
2025-11-03T10:10:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3470885753631592
2025-11-03T10:10:26.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:26
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9902265071868896s
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3977949;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41756;2460982.84058343;10.17396833;1.3;_
2025-11-03T10:10:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3977949;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41756;2460982.84058343;10.17396833;1.3;_
2025-11-03T10:10:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:26.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3977949, teldec = -24.256594
2025-11-03T10:10:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3977949 -24.256594
2025-11-03T10:10:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3977949 -24.256594
2025-11-03T10:10:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3977949 -24.256594
2025-11-03T10:10:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3977949;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41756;2460982.84058346;10.17396833;1.3;_15.3727326324201 -24.1645924590024
2025-11-03T10:10:26.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3727326324201     dec_j2k = -24.1645924590024
2025-11-03T10:10:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968514090382877;171.162362694745;_
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968514090382877;171.162362694745;_
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34225)
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:26.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:26.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:26.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84058343, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968514090382877, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3977949, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41756, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3727326324201, telescope_dec_j2k=-24.1645924590024, observability=1)
2025-11-03T10:10:26.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:26
2025-11-03T10:10:26.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:26.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023137807846069336s
2025-11-03T10:10:26.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023137807846069336
2025-11-03T10:10:26.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:26
2025-11-03T10:10:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34460973739624023s
2025-11-03T10:10:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34460973739624023
2025-11-03T10:10:28.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:28
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9671716690063477s
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3983553;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41812;2460982.84060647;10.17452722;1.3;_
2025-11-03T10:10:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3983553;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41812;2460982.84060647;10.17452722;1.3;_
2025-11-03T10:10:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:28.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3983553, teldec = -24.256594
2025-11-03T10:10:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3983553 -24.256594
2025-11-03T10:10:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3983553 -24.256594
2025-11-03T10:10:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3983553 -24.256594
2025-11-03T10:10:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3983553;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41812;2460982.84060649;10.17452722;1.3;_15.3732926140246 -24.1646083012506
2025-11-03T10:10:28.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3732926140246     dec_j2k = -24.1646083012506
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968504864636032;171.162362694745;_
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968504864636032;171.162362694745;_
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:28.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32955)
2025-11-03T10:10:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:28.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:28.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:28.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:28.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84060647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968504864636032, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3983553, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3732926140246, telescope_dec_j2k=-24.1646083012506, observability=1)
2025-11-03T10:10:28.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:28
2025-11-03T10:10:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022120952606201172s
2025-11-03T10:10:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022120952606201172
2025-11-03T10:10:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:28
2025-11-03T10:10:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34705471992492676s
2025-11-03T10:10:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34705471992492676
2025-11-03T10:10:30.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:30
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978132963180542s
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:30.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:30.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3989066;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41867;2460982.8406296;10.17507694;1.3;_
2025-11-03T10:10:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3989066;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41867;2460982.8406296;10.17507694;1.3;_
2025-11-03T10:10:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:30.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3989066, teldec = -24.256594
2025-11-03T10:10:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3989066 -24.256594
2025-11-03T10:10:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3989066 -24.256594
2025-11-03T10:10:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3989066 -24.256594
2025-11-03T10:10:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3989066;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41867;2460982.84062962;10.17507694;1.3;_15.3738435024837 -24.1646238882103
2025-11-03T10:10:30.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3738435024837     dec_j2k = -24.1646238882103
2025-11-03T10:10:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968513288144021;171.162346601491;_
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968513288144021;171.162346601491;_
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37633)
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:30.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:30.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:30.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:30.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8406296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968513288144021, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3989066, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41867, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3738435024837, telescope_dec_j2k=-24.1646238882103, observability=1)
2025-11-03T10:10:30.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:30
2025-11-03T10:10:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021498441696166992s
2025-11-03T10:10:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021498441696166992
2025-11-03T10:10:30.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:30
2025-11-03T10:10:30.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:30.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3586132526397705s
2025-11-03T10:10:30.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3586132526397705
2025-11-03T10:10:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:32
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3465161323547363s
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3995798;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41934;2460982.840657;10.17574833;1.3;_
2025-11-03T10:10:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.3995798;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41934;2460982.840657;10.17574833;1.3;_
2025-11-03T10:10:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.3995798, teldec = -24.256594
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.3995798 -24.256594
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.3995798 -24.256594
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.3995798 -24.256594
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.3995798;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41934;2460982.84065703;10.17574833;1.3;_15.374516200027 -24.1646429243024
2025-11-03T10:10:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.374516200027     dec_j2k = -24.1646429243024
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968515293741161;171.162351965909;_
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968515293741161;171.162351965909;_
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52869)
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:32.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:32.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.840657, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968515293741161, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.3995798, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41934, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.374516200027, telescope_dec_j2k=-24.1646429243024, observability=1)
2025-11-03T10:10:33.287 [DEBUG] [Thread-88832 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:33.287 [DEBUG] [Thread-88832 (handle)] [server.py] [get_status()] Status age = 0.5084898471832275s
2025-11-03T10:10:33.287 [DEBUG] [Thread-88832 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5084898471832275
2025-11-03T10:10:33.298 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:33
2025-11-03T10:10:33.298 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:33.298 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5195620059967041s
2025-11-03T10:10:33.299 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5195620059967041
2025-11-03T10:10:33.320 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:33
2025-11-03T10:10:33.320 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:33.320 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5412101745605469s
2025-11-03T10:10:33.320 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5412101745605469
2025-11-03T10:10:34.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:34
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.614910364151001s
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:34.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:34.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.400019;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41978;2460982.84067588;10.17618639;1.3;_
2025-11-03T10:10:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.400019;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41978;2460982.84067588;10.17618639;1.3;_
2025-11-03T10:10:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:34.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:34.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.400019, teldec = -24.256594
2025-11-03T10:10:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.400019 -24.256594
2025-11-03T10:10:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.400019 -24.256594
2025-11-03T10:10:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.400019 -24.256594
2025-11-03T10:10:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.400019;-24.256594;50.108528;89.993048;50.08601;90.12017;12.41978;2460982.8406759;10.17618639;1.3;_15.3749550722692 -24.1646553451363
2025-11-03T10:10:34.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3749550722692     dec_j2k = -24.1646553451363
2025-11-03T10:10:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968514892621733;171.162346601491;_
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968514892621733;171.162346601491;_
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46033)
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:34.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:34.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:34.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84067588, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968514892621733, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.400019, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.41978, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3749550722692, telescope_dec_j2k=-24.1646553451363, observability=1)
2025-11-03T10:10:34.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:34
2025-11-03T10:10:34.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:34.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02238297462463379s
2025-11-03T10:10:34.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02238297462463379
2025-11-03T10:10:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:34
2025-11-03T10:10:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35110044479370117s
2025-11-03T10:10:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35110044479370117
2025-11-03T10:10:36.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:36
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9945402145385742s
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:36.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:36.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4005803;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42034;2460982.84069919;10.17674611;1.3;_
2025-11-03T10:10:36.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4005803;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42034;2460982.84069919;10.17674611;1.3;_
2025-11-03T10:10:36.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:36.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:36.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:36.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:36.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:36.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4005803, teldec = -24.256594
2025-11-03T10:10:36.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4005803 -24.256594
2025-11-03T10:10:36.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4005803 -24.256594
2025-11-03T10:10:36.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4005803 -24.256594
2025-11-03T10:10:36.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4005803;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42034;2460982.84069921;10.17674611;1.3;_15.3755159534486 -24.1646712208288
2025-11-03T10:10:36.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3755159534486     dec_j2k = -24.1646712208288
2025-11-03T10:10:36.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:36.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:36.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968510079188596;171.162357330327;_
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:36.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:36.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53855)
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:36.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:36.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84069919, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968510079188596, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4005803, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42034, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3755159534486, telescope_dec_j2k=-24.1646712208288, observability=1)
2025-11-03T10:10:36.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:36
2025-11-03T10:10:36.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:36.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024077892303466797s
2025-11-03T10:10:36.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024077892303466797
2025-11-03T10:10:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:36
2025-11-03T10:10:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3403513431549072s
2025-11-03T10:10:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3403513431549072
2025-11-03T10:10:38.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:38
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.353367805480957s
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:38.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:38.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:38.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:38.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:38.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:38.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:38.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4012521;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42102;2460982.84072666;10.17741611;1.3;_
2025-11-03T10:10:38.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4012521;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42102;2460982.84072666;10.17741611;1.3;_
2025-11-03T10:10:38.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:38.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:38.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:38.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:38.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:38.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4012521, teldec = -24.256594
2025-11-03T10:10:38.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4012521 -24.256594
2025-11-03T10:10:38.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4012521 -24.256594
2025-11-03T10:10:38.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4012521 -24.256594
2025-11-03T10:10:38.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4012521;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42102;2460982.84072668;10.17741611;1.3;_15.3761872522589 -24.1646902245336
2025-11-03T10:10:38.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3761872522589     dec_j2k = -24.1646902245336
2025-11-03T10:10:38.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:38.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:38.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968515694860589;171.162351965909;_
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968515694860589;171.162351965909;_
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:38.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:38.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49715)
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:38.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:38.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:38.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:38.798 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:38.798 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:38.798 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:38.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:38.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:38.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:38.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:38.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84072666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968515694860589, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4012521, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3761872522589, telescope_dec_j2k=-24.1646902245336, observability=1)
2025-11-03T10:10:39.302 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:39
2025-11-03T10:10:39.302 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:39.302 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.503150463104248s
2025-11-03T10:10:39.302 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.503150463104248
2025-11-03T10:10:39.324 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:39
2025-11-03T10:10:39.324 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:39.324 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5256307125091553s
2025-11-03T10:10:39.324 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5256307125091553
2025-11-03T10:10:40.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:40
2025-11-03T10:10:40.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5947558879852295s
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:40.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4016908;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42145;2460982.84074532;10.17785361;1.3;_
2025-11-03T10:10:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4016908;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42145;2460982.84074532;10.17785361;1.3;_
2025-11-03T10:10:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:40.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4016908, teldec = -24.256594
2025-11-03T10:10:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4016908 -24.256594
2025-11-03T10:10:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4016908 -24.256594
2025-11-03T10:10:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4016908 -24.256594
2025-11-03T10:10:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4016908;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42145;2460982.84074535;10.17785361;1.3;_15.3766256250193 -24.1647026359258
2025-11-03T10:10:40.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3766256250193     dec_j2k = -24.1647026359258
2025-11-03T10:10:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968518502696585;171.162351965909;_
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968518502696585;171.162351965909;_
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59107)
2025-11-03T10:10:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:40.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:40.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:40.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:40.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84074532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968518502696585, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4016908, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42145, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3766256250193, telescope_dec_j2k=-24.1647026359258, observability=1)
2025-11-03T10:10:40.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:40
2025-11-03T10:10:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35748934745788574s
2025-11-03T10:10:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35748934745788574
2025-11-03T10:10:41.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:41
2025-11-03T10:10:41.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:41.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9822664260864258s
2025-11-03T10:10:41.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9822664260864258
2025-11-03T10:10:42.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:42
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799978733062744s
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4022518;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42202;2460982.84076848;10.17841306;1.3;_
2025-11-03T10:10:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4022518;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42202;2460982.84076848;10.17841306;1.3;_
2025-11-03T10:10:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:42.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4022518, teldec = -24.256594
2025-11-03T10:10:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4022518 -24.256594
2025-11-03T10:10:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4022518 -24.256594
2025-11-03T10:10:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4022518 -24.256594
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4022518;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42202;2460982.84076852;10.17841306;1.3;_15.3771862066079 -24.1647185091395
2025-11-03T10:10:42.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3771862066079     dec_j2k = -24.1647185091395
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968521310532582;171.162362694745;_
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968521310532582;171.162362694745;_
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52549)
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:42.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:42.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84076848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968521310532582, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4022518, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42202, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3771862066079, telescope_dec_j2k=-24.1647185091395, observability=1)
2025-11-03T10:10:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:42
2025-11-03T10:10:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34923577308654785s
2025-11-03T10:10:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34923577308654785
2025-11-03T10:10:43.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:43
2025-11-03T10:10:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9805245399475098s
2025-11-03T10:10:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9805245399475098
2025-11-03T10:10:44.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:44
2025-11-03T10:10:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3471829891204834s
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4029242;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42269;2460982.84079587;10.17908361;1.3;_
2025-11-03T10:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4029242;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42269;2460982.84079587;10.17908361;1.3;_
2025-11-03T10:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:44.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4029242, teldec = -24.256594
2025-11-03T10:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4029242 -24.256594
2025-11-03T10:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4029242 -24.256594
2025-11-03T10:10:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4029242 -24.256594
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4029242;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42269;2460982.84079589;10.17908361;1.3;_15.3778581051929 -24.1647375370151
2025-11-03T10:10:44.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3778581051929     dec_j2k = -24.1647375370151
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968516095980017;171.162362694745;_
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968516095980017;171.162362694745;_
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59197)
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84079587, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968516095980017, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4029242, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42269, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3778581051929, telescope_dec_j2k=-24.1647375370151, observability=1)
2025-11-03T10:10:45.296 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:45
2025-11-03T10:10:45.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:45.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5137746334075928s
2025-11-03T10:10:45.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5137746334075928
2025-11-03T10:10:45.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:45
2025-11-03T10:10:45.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:45.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6135869026184082s
2025-11-03T10:10:45.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6135869026184082
2025-11-03T10:10:46.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:46
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6111788749694824s
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:46.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4033629;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42313;2460982.84081477;10.17952111;1.3;_
2025-11-03T10:10:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4033629;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42313;2460982.84081477;10.17952111;1.3;_
2025-11-03T10:10:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:46.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4033629, teldec = -24.256594
2025-11-03T10:10:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4033629 -24.256594
2025-11-03T10:10:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4033629 -24.256594
2025-11-03T10:10:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4033629 -24.256594
2025-11-03T10:10:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4033629;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42313;2460982.84081479;10.17952111;1.3;_15.3782964780984 -24.1647499531038
2025-11-03T10:10:46.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3782964780984     dec_j2k = -24.1647499531038
2025-11-03T10:10:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968519304935442;171.162362694745;_
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968519304935442;171.162362694745;_
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:46.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33463)
2025-11-03T10:10:46.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:46.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:46.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:46.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:46.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:46.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:46.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:46.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:46.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84081477, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968519304935442, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4033629, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42313, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3782964780984, telescope_dec_j2k=-24.1647499531038, observability=1)
2025-11-03T10:10:46.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:46
2025-11-03T10:10:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3568868637084961s
2025-11-03T10:10:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3568868637084961
2025-11-03T10:10:46.847 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:46.847 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:46.847 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:46.847 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:46.848 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:46.849 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:46.849 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:46.849 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:46.849 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:46.849 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:46.850 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:46.850 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:10:46.850 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:10:46.850 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:10:46.850 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:47.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:47
2025-11-03T10:10:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9803173542022705s
2025-11-03T10:10:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9803173542022705
2025-11-03T10:10:48.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:48
2025-11-03T10:10:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979552984237671s
2025-11-03T10:10:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:48.393 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4039236;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42369;2460982.84083789;10.18008028;1.3;_
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4039236;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42369;2460982.84083789;10.18008028;1.3;_
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:48.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:48.395 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4039236, teldec = -24.256594
2025-11-03T10:10:48.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4039236 -24.256594
2025-11-03T10:10:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4039236 -24.256594
2025-11-03T10:10:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4039236 -24.256594
2025-11-03T10:10:48.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4039236;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42369;2460982.84083792;10.18008028;1.3;_15.3788567600962 -24.1647658238301
2025-11-03T10:10:48.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3788567600962     dec_j2k = -24.1647658238301
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968517700457729;171.162357330327;_
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968517700457729;171.162357330327;_
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57489)
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:48.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:48.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:48.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84083789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968517700457729, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4039236, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42369, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3788567600962, telescope_dec_j2k=-24.1647658238301, observability=1)
2025-11-03T10:10:48.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:48
2025-11-03T10:10:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3586108684539795s
2025-11-03T10:10:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3586108684539795
2025-11-03T10:10:49.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:49
2025-11-03T10:10:49.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:49.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9855072498321533s
2025-11-03T10:10:49.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9855072498321533
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Status age = 2.1238088607788086s
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:50.535 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:50.536 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:50.537 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 17;15.4045116;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42428;2460982.8408627;10.18066667;1.3;_
2025-11-03T10:10:50.537 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response 17;15.4045116;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42428;2460982.8408627;10.18066667;1.3;_
2025-11-03T10:10:50.537 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:50.537 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:50.537 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:50.538 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:50.538 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:50.538 [INFO] [Thread-88833 (handle)] [driver.py] [get_status()] Telra = 15.4045116, teldec = -24.256594
2025-11-03T10:10:50.538 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4045116 -24.256594
2025-11-03T10:10:50.538 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4045116 -24.256594
2025-11-03T10:10:50.538 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4045116 -24.256594
2025-11-03T10:10:50.539 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 17;15.4045116;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42428;2460982.84086272;10.18066667;1.3;_15.3794443218086 -24.1647824694495
2025-11-03T10:10:50.539 [INFO] [Thread-88833 (handle)] [driver.py] [get_status()] ra_j2k = 15.3794443218086     dec_j2k = -24.1647824694495
2025-11-03T10:10:50.539 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:50.539 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 140;0.0968522915010294;171.162351965909;_
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response 140;0.0968522915010294;171.162351965909;_
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:50.540 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:50.542 [DEBUG] [Thread-88833 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:50.543 [DEBUG] [Thread-88833 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:50.543 [DEBUG] [Thread-88833 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51869)
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:50.549 [DEBUG] [Thread-88833 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:50.557 [DEBUG] [Thread-88833 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:50.557 [INFO] [Thread-88833 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8408627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968522915010294, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4045116, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42428, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3794443218086, telescope_dec_j2k=-24.1647824694495, observability=1)
2025-11-03T10:10:50.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:50
2025-11-03T10:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20335721969604492s
2025-11-03T10:10:50.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20335721969604492
2025-11-03T10:10:51.294 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:51
2025-11-03T10:10:51.294 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:51.294 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7372267246246338s
2025-11-03T10:10:51.294 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7372267246246338
2025-11-03T10:10:51.354 [DEBUG] [Thread-88834 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:51.354 [DEBUG] [Thread-88834 (handle)] [server.py] [get_status()] Status age = 0.7969498634338379s
2025-11-03T10:10:51.354 [DEBUG] [Thread-88834 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7969498634338379
2025-11-03T10:10:51.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:51
2025-11-03T10:10:51.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:51.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8355729579925537s
2025-11-03T10:10:51.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8355729579925537
2025-11-03T10:10:52.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:52
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.838714599609375s
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4050341;-24.256594;50.108528;89.993048;50.08601;90.12017;12.4248;2460982.84088422;10.18118778;1.3;_
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4050341;-24.256594;50.108528;89.993048;50.08601;90.12017;12.4248;2460982.84088422;10.18118778;1.3;_
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:52.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4050341, teldec = -24.256594
2025-11-03T10:10:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4050341 -24.256594
2025-11-03T10:10:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4050341 -24.256594
2025-11-03T10:10:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4050341 -24.256594
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4050341;-24.256594;50.108528;89.993048;50.08601;90.12017;12.4248;2460982.84088425;10.18118778;1.3;_15.3799664324013 -24.1647972626937
2025-11-03T10:10:52.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3799664324013     dec_j2k = -24.1647972626937
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968519304935442;171.162357330327;_
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968519304935442;171.162357330327;_
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:52.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44177)
2025-11-03T10:10:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:52.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:52.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:52.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84088422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968519304935442, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4050341, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3799664324013, telescope_dec_j2k=-24.1647972626937, observability=1)
2025-11-03T10:10:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:52
2025-11-03T10:10:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3500370979309082s
2025-11-03T10:10:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3500370979309082
2025-11-03T10:10:54.298 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:54
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8835806846618652s
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:54.298 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:54.299 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:54.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4055664;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42533;2460982.84090625;10.18171861;1.3;_
2025-11-03T10:10:54.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4055664;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42533;2460982.84090625;10.18171861;1.3;_
2025-11-03T10:10:54.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:54.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:54.300 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:54.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:54.301 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:54.302 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4055664, teldec = -24.256594
2025-11-03T10:10:54.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4055664 -24.256594
2025-11-03T10:10:54.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4055664 -24.256594
2025-11-03T10:10:54.302 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4055664 -24.256594
2025-11-03T10:10:54.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4055664;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42533;2460982.84090628;10.18171861;1.3;_15.3804983357459 -24.1648123351956
2025-11-03T10:10:54.303 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3804983357459     dec_j2k = -24.1648123351956
2025-11-03T10:10:54.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:54.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:54.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:54.303 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968520909413154;171.162357330327;_
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968520909413154;171.162357330327;_
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:54.304 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:54.307 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54963)
2025-11-03T10:10:54.307 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:54.307 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:54.307 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:54.308 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:54.308 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:54.315 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:54.315 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84090625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968520909413154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4055664, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42533, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3804983357459, telescope_dec_j2k=-24.1648123351956, observability=1)
2025-11-03T10:10:54.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:54
2025-11-03T10:10:54.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:54.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07755541801452637s
2025-11-03T10:10:54.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07755541801452637
2025-11-03T10:10:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:54
2025-11-03T10:10:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44969677925109863s
2025-11-03T10:10:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44969677925109863
2025-11-03T10:10:55.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:55
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0787322521209717s
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:55.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4058748;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42564;2460982.84091892;10.18202611;1.3;_
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4058748;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42564;2460982.84091892;10.18202611;1.3;_
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:55.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:55.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:55.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:55.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4058748, teldec = -24.256594
2025-11-03T10:10:55.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4058748 -24.256594
2025-11-03T10:10:55.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4058748 -24.256594
2025-11-03T10:10:55.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4058748 -24.256594
2025-11-03T10:10:55.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4058748;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42564;2460982.84091895;10.18202611;1.3;_15.3808065059602 -24.1648210686184
2025-11-03T10:10:55.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3808065059602     dec_j2k = -24.1648210686184
2025-11-03T10:10:55.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:55.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:55.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852371724915;171.162357330327;_
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852371724915;171.162357330327;_
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:55.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:55.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:55.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:55.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:10:55.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:10:55.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50123)
2025-11-03T10:10:55.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:55.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:55.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:55.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:55.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:55.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:55.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:55.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:55.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:55.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:55.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:55.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:55.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:55.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:55.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84091892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852371724915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4058748, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3808065059602, telescope_dec_j2k=-24.1648210686184, observability=1)
2025-11-03T10:10:56.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:56
2025-11-03T10:10:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:56.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9827592372894287s
2025-11-03T10:10:56.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9827592372894287
2025-11-03T10:10:56.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:56
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3492729663848877s
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:56.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:56.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4062665;-24.256587;50.108528;89.993037;50.08601;90.12016;12.42603;2460982.84093476;10.18241694;1.3;_
2025-11-03T10:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4062665;-24.256587;50.108528;89.993037;50.08601;90.12016;12.42603;2460982.84093476;10.18241694;1.3;_
2025-11-03T10:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:56.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:56.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4062665, teldec = -24.256587
2025-11-03T10:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4062665 -24.256587
2025-11-03T10:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4062665 -24.256587
2025-11-03T10:10:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4062665 -24.256587
2025-11-03T10:10:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4062665;-24.256587;50.108528;89.993037;50.08601;90.12016;12.42603;2460982.84093478;10.18241694;1.3;_15.3811979151951 -24.164825162024
2025-11-03T10:10:56.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3811979151951     dec_j2k = -24.164825162024
2025-11-03T10:10:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852171165201;171.162351965909;_
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852171165201;171.162351965909;_
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:56.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47409)
2025-11-03T10:10:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:56.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:56.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:56.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:56.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84093476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852171165201, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993037, telescope_ra=15.4062665, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42603, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3811979151951, telescope_dec_j2k=-24.164825162024, observability=1)
2025-11-03T10:10:57.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:57
2025-11-03T10:10:57.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:57.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6174783706665039s
2025-11-03T10:10:57.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6174783706665039
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2127878665924072s
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4066026;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42637;2460982.84094897;10.18275194;1.3;_
2025-11-03T10:10:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4066026;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42637;2460982.84094897;10.18275194;1.3;_
2025-11-03T10:10:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:57.992 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4066026, teldec = -24.256594
2025-11-03T10:10:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4066026 -24.256594
2025-11-03T10:10:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4066026 -24.256594
2025-11-03T10:10:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4066026 -24.256594
2025-11-03T10:10:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4066026;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42637;2460982.84094899;10.18275194;1.3;_15.3815337637587 -24.164841681228
2025-11-03T10:10:57.993 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.3815337637587     dec_j2k = -24.164841681228
2025-11-03T10:10:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968524519488006;171.162351965909;_
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968524519488006;171.162351965909;_
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58715)
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:58.010 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:58.011 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84094897, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968524519488006, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4066026, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42637, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3815337637587, telescope_dec_j2k=-24.164841681228, observability=1)
2025-11-03T10:10:58.364 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:58.364 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3535196781158447s
2025-11-03T10:10:58.364 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3535196781158447
2025-11-03T10:10:58.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:58
2025-11-03T10:10:58.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:58.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38721275329589844s
2025-11-03T10:10:58.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38721275329589844
2025-11-03T10:10:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:58
2025-11-03T10:10:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7525162696838379s
2025-11-03T10:10:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7525162696838379
2025-11-03T10:10:59.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:10:59
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3872005939483643s
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:10:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:10:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:10:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:10:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:10:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:10:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:10:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.406985;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42675;2460982.84096528;10.18313333;1.3;_
2025-11-03T10:10:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.406985;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42675;2460982.84096528;10.18313333;1.3;_
2025-11-03T10:10:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:10:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:10:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:10:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:10:59.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.406985, teldec = -24.256594
2025-11-03T10:10:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.406985 -24.256594
2025-11-03T10:10:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.406985 -24.256594
2025-11-03T10:10:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.406985 -24.256594
2025-11-03T10:10:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.406985;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42675;2460982.8409653;10.18313333;1.3;_15.3819158789177 -24.1648525128435
2025-11-03T10:10:59.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3819158789177     dec_j2k = -24.1648525128435
2025-11-03T10:10:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:10:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:10:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852171165201;171.162362694745;_
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852171165201;171.162362694745;_
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:10:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:10:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:10:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42089)
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:10:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:10:59.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:10:59.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84096528, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852171165201, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.406985, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42675, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3819158789177, telescope_dec_j2k=-24.1648525128435, observability=1)
2025-11-03T10:11:00.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:00
2025-11-03T10:11:00.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:00.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9935648441314697s
2025-11-03T10:11:00.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9935648441314697
2025-11-03T10:11:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:00
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3453612327575684s
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4073772;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42714;2460982.84098109;10.18352444;1.3;_
2025-11-03T10:11:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4073772;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42714;2460982.84098109;10.18352444;1.3;_
2025-11-03T10:11:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4073772, teldec = -24.256594
2025-11-03T10:11:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4073772 -24.256594
2025-11-03T10:11:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4073772 -24.256594
2025-11-03T10:11:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4073772 -24.256594
2025-11-03T10:11:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4073772;-24.256594;50.108528;89.993048;50.08601;90.12017;12.42714;2460982.84098111;10.18352444;1.3;_15.382307786807 -24.1648636230186
2025-11-03T10:11:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.382307786807     dec_j2k = -24.1648636230186
2025-11-03T10:11:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968520107174298;171.162362694745;_
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968520107174298;171.162362694745;_
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60881)
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:00.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:00.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:00.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84098109, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968520107174298, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108528, telescope_az=89.993048, telescope_ra=15.4073772, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42714, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.382307786807, telescope_dec_j2k=-24.1648636230186, observability=1)
2025-11-03T10:11:01.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:01
2025-11-03T10:11:01.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:01.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.618781328201294s
2025-11-03T10:11:01.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.618781328201294
2025-11-03T10:11:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:02
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830818176269531s
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4079379;-24.256594;50.108527;89.993048;50.08601;90.12017;12.4277;2460982.84100426;10.18408361;1.3;_
2025-11-03T10:11:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4079379;-24.256594;50.108527;89.993048;50.08601;90.12017;12.4277;2460982.84100426;10.18408361;1.3;_
2025-11-03T10:11:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4079379, teldec = -24.256594
2025-11-03T10:11:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4079379 -24.256594
2025-11-03T10:11:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4079379 -24.256594
2025-11-03T10:11:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4079379 -24.256594
2025-11-03T10:11:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4079379;-24.256594;50.108527;89.993048;50.08601;90.12017;12.4277;2460982.84100429;10.18408361;1.3;_15.3828680692503 -24.1648795081409
2025-11-03T10:11:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3828680692503     dec_j2k = -24.1648795081409
2025-11-03T10:11:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968520909413154;171.162351965909;_
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968520909413154;171.162351965909;_
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35979)
2025-11-03T10:11:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84100426, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968520909413154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993048, telescope_ra=15.4079379, telescope_dec=-24.256594, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4277, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3828680692503, telescope_dec_j2k=-24.1648795081409, observability=1)
2025-11-03T10:11:03.306 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:03
2025-11-03T10:11:03.306 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:03.306 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5223488807678223s
2025-11-03T10:11:03.306 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5223488807678223
2025-11-03T10:11:03.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:03
2025-11-03T10:11:03.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:03.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6131844520568848s
2025-11-03T10:11:03.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6131844520568848
2025-11-03T10:11:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:04
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98048996925354s
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4084697;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42823;2460982.8410274;10.18461389;1.3;_
2025-11-03T10:11:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4084697;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42823;2460982.8410274;10.18461389;1.3;_
2025-11-03T10:11:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:04.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4084697, teldec = -24.256593
2025-11-03T10:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4084697 -24.256593
2025-11-03T10:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4084697 -24.256593
2025-11-03T10:11:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4084697 -24.256593
2025-11-03T10:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4084975;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42826;2460982.84102742;10.18464167;1.3;_15.3833994734246 -24.1648935763826
2025-11-03T10:11:04.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3833994734246     dec_j2k = -24.1648935763826
2025-11-03T10:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968522112771438;171.162351965909;_
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968522112771438;171.162351965909;_
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57685)
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:04.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:04.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:04.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:04.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8410274, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968522112771438, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4084697, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42823, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3833994734246, telescope_dec_j2k=-24.1648935763826, observability=1)
2025-11-03T10:11:05.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:05
2025-11-03T10:11:05.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:05.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6100854873657227s
2025-11-03T10:11:05.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6100854873657227
2025-11-03T10:11:05.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:05
2025-11-03T10:11:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6316344738006592s
2025-11-03T10:11:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6316344738006592
2025-11-03T10:11:06.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:06
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9753637313842773s
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:06.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:06.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:06.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4090487;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42881;2460982.84105049;10.18519139;1.3;_
2025-11-03T10:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4090487;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42881;2460982.84105049;10.18519139;1.3;_
2025-11-03T10:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:06.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4090487, teldec = -24.256593
2025-11-03T10:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4090487 -24.256593
2025-11-03T10:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4090487 -24.256593
2025-11-03T10:11:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4090487 -24.256593
2025-11-03T10:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4090487;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42881;2460982.84105051;10.18519139;1.3;_15.3839780423662 -24.1649099840364
2025-11-03T10:11:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3839780423662     dec_j2k = -24.1649099840364
2025-11-03T10:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968526525085147;171.162357330327;_
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968526525085147;171.162357330327;_
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45109)
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:06.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:06.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:06.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84105049, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968526525085147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4090487, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42881, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3839780423662, telescope_dec_j2k=-24.1649099840364, observability=1)
2025-11-03T10:11:07.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:07
2025-11-03T10:11:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6199855804443359s
2025-11-03T10:11:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6199855804443359
2025-11-03T10:11:07.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:07
2025-11-03T10:11:07.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:07.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6415877342224121s
2025-11-03T10:11:07.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6415877342224121
2025-11-03T10:11:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:08
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.990267038345337s
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4096097;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42937;2460982.84107369;10.18575083;1.3;_
2025-11-03T10:11:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4096097;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42937;2460982.84107369;10.18575083;1.3;_
2025-11-03T10:11:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4096097, teldec = -24.256593
2025-11-03T10:11:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4096097 -24.256593
2025-11-03T10:11:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4096097 -24.256593
2025-11-03T10:11:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4096097 -24.256593
2025-11-03T10:11:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4096097;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42937;2460982.84107373;10.18575083;1.3;_15.3845386247719 -24.1649258836508
2025-11-03T10:11:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3845386247719     dec_j2k = -24.1649258836508
2025-11-03T10:11:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968523316129722;171.162362694745;_
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968523316129722;171.162362694745;_
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:08.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60847)
2025-11-03T10:11:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:08.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:08.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:08.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:08.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:08.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84107369, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968523316129722, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4096097, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42937, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3845386247719, telescope_dec_j2k=-24.1649258836508, observability=1)
2025-11-03T10:11:09.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:09
2025-11-03T10:11:09.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:09.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6111104488372803s
2025-11-03T10:11:09.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6111104488372803
2025-11-03T10:11:09.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:09
2025-11-03T10:11:09.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:09.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6327414512634277s
2025-11-03T10:11:09.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6327414512634277
2025-11-03T10:11:09.424 [DEBUG] [Thread-88835 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:09.424 [DEBUG] [Thread-88835 (handle)] [server.py] [get_status()] Status age = 0.6388273239135742s
2025-11-03T10:11:09.424 [DEBUG] [Thread-88835 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6388273239135742
2025-11-03T10:11:10.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:10
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9754385948181152s
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:10.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:10.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4101696;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42993;2460982.84109678;10.18630917;1.3;_
2025-11-03T10:11:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4101696;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42993;2460982.84109678;10.18630917;1.3;_
2025-11-03T10:11:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:10.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4101696, teldec = -24.256593
2025-11-03T10:11:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4101696 -24.256593
2025-11-03T10:11:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4101696 -24.256593
2025-11-03T10:11:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4101696 -24.256593
2025-11-03T10:11:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4101696;-24.256593;50.108527;89.993047;50.08601;90.12017;12.42993;2460982.84109681;10.18630917;1.3;_15.3850981080586 -24.164941754094
2025-11-03T10:11:10.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3850981080586     dec_j2k = -24.164941754094
2025-11-03T10:11:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968528129562859;171.162357330327;_
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968528129562859;171.162357330327;_
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58247)
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:10.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:10.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:10.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84109678, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968528129562859, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4101696, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.42993, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3850981080586, telescope_dec_j2k=-24.164941754094, observability=1)
2025-11-03T10:11:11.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:11
2025-11-03T10:11:11.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:11.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9711604118347168s
2025-11-03T10:11:11.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9711604118347168
2025-11-03T10:11:11.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:11
2025-11-03T10:11:11.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:11.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9935216903686523s
2025-11-03T10:11:11.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9935216903686523
2025-11-03T10:11:12.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:12
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0084056854248047s
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:12.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4107216;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43049;2460982.84112029;10.18685972;1.3;_
2025-11-03T10:11:12.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4107216;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43049;2460982.84112029;10.18685972;1.3;_
2025-11-03T10:11:12.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:12.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:12.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:12.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:12.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:12.795 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4107216, teldec = -24.256593
2025-11-03T10:11:12.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4107216 -24.256593
2025-11-03T10:11:12.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4107216 -24.256593
2025-11-03T10:11:12.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4107216 -24.256593
2025-11-03T10:11:12.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4107216;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43049;2460982.84112032;10.18685972;1.3;_15.3856496972858 -24.1649574025708
2025-11-03T10:11:12.796 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3856496972858     dec_j2k = -24.1649574025708
2025-11-03T10:11:12.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:12.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:12.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968520909413154;171.162346601491;_
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968520909413154;171.162346601491;_
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:12.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:12.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:12.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:12.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:12.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44801)
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:12.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:12.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:12.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84112029, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968520909413154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4107216, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43049, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3856496972858, telescope_dec_j2k=-24.1649574025708, observability=1)
2025-11-03T10:11:13.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:13
2025-11-03T10:11:13.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:13.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6342484951019287s
2025-11-03T10:11:13.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6342484951019287
2025-11-03T10:11:13.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:13
2025-11-03T10:11:13.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:13.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6554648876190186s
2025-11-03T10:11:13.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6554648876190186
2025-11-03T10:11:14.675 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:11:14
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8651621341705322s
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:14.675 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:14.676 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:14.676 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:14.676 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:14.677 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:14.678 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.4112553;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43102;2460982.84114211;10.18739194;1.3;_
2025-11-03T10:11:14.678 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.4112553;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43102;2460982.84114211;10.18739194;1.3;_
2025-11-03T10:11:14.678 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:14.678 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:14.678 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:14.679 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:14.679 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:14.679 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.4112553, teldec = -24.256593
2025-11-03T10:11:14.679 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4112553 -24.256593
2025-11-03T10:11:14.679 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4112553 -24.256593
2025-11-03T10:11:14.679 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4112553 -24.256593
2025-11-03T10:11:14.680 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.4112553;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43102;2460982.84114213;10.18739194;1.3;_15.3861830001884 -24.1649725341167
2025-11-03T10:11:14.680 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.3861830001884     dec_j2k = -24.1649725341167
2025-11-03T10:11:14.680 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:14.680 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:14.680 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968525321726862;171.162368059163;_
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968525321726862;171.162368059163;_
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:14.681 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:14.682 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:14.683 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:14.683 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35615)
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:14.688 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:14.695 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:14.695 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84114211, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968525321726862, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4112553, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3861830001884, telescope_dec_j2k=-24.1649725341167, observability=1)
2025-11-03T10:11:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:14
2025-11-03T10:11:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07088804244995117s
2025-11-03T10:11:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07088804244995117
2025-11-03T10:11:15.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:15
2025-11-03T10:11:15.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:15.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7065637111663818s
2025-11-03T10:11:15.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7065637111663818
2025-11-03T10:11:15.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:15
2025-11-03T10:11:15.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:15.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7281417846679688s
2025-11-03T10:11:15.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7281417846679688
2025-11-03T10:11:16.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:16
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0724692344665527s
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:16.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:16.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4118347;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4316;2460982.84116632;10.18796972;1.3;_
2025-11-03T10:11:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4118347;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4316;2460982.84116632;10.18796972;1.3;_
2025-11-03T10:11:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:16.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4118347, teldec = -24.256593
2025-11-03T10:11:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4118347 -24.256593
2025-11-03T10:11:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4118347 -24.256593
2025-11-03T10:11:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4118347 -24.256593
2025-11-03T10:11:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4118347;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4316;2460982.84116634;10.18796972;1.3;_15.386761969152 -24.164988963415
2025-11-03T10:11:16.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.386761969152     dec_j2k = -24.164988963415
2025-11-03T10:11:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968526926204575;171.162362694745;_
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968526926204575;171.162362694745;_
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47953)
2025-11-03T10:11:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:16.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:16.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:16.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84116632, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968526926204575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4118347, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.386761969152, telescope_dec_j2k=-24.164988963415, observability=1)
2025-11-03T10:11:17.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:17
2025-11-03T10:11:17.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:17.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6108763217926025s
2025-11-03T10:11:17.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6108763217926025
2025-11-03T10:11:17.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:17
2025-11-03T10:11:17.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:17.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6324272155761719s
2025-11-03T10:11:17.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6324272155761719
2025-11-03T10:11:18.190 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:11:18.190 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.4073646068572998s
2025-11-03T10:11:18.190 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:18.191 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:18.192 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:18.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.412228;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43199;2460982.84118279;10.18836194;1.3;_
2025-11-03T10:11:18.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.412228;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43199;2460982.84118279;10.18836194;1.3;_
2025-11-03T10:11:18.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:18.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:18.193 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:18.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:18.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:18.194 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.412228, teldec = -24.256593
2025-11-03T10:11:18.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.412228 -24.256593
2025-11-03T10:11:18.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.412228 -24.256593
2025-11-03T10:11:18.194 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.412228 -24.256593
2025-11-03T10:11:18.195 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.412228;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43199;2460982.84118281;10.18836194;1.3;_15.3871549766001 -24.1650001169369
2025-11-03T10:11:18.195 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.3871549766001     dec_j2k = -24.1650001169369
2025-11-03T10:11:18.195 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:18.195 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:18.195 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968526525085147;171.162351965909;_
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968526525085147;171.162351965909;_
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:18.196 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:18.197 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59863)
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:18.205 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:18.212 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:11:18.213 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84118279, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968526525085147, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.412228, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43199, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3871549766001, telescope_dec_j2k=-24.1650001169369, observability=1)
2025-11-03T10:11:18.213 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5374252796173096 seconds ago
2025-11-03T10:11:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:18
2025-11-03T10:11:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5541167259216309s
2025-11-03T10:11:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5541167259216309
2025-11-03T10:11:19.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:19
2025-11-03T10:11:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1830377578735352s
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:19.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4125645;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43233;2460982.84119672;10.1886975;1.3;_
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4125645;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43233;2460982.84119672;10.1886975;1.3;_
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:19.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:19.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:19.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:19.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:19.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4125645, teldec = -24.256593
2025-11-03T10:11:19.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4125645 -24.256593
2025-11-03T10:11:19.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4125645 -24.256593
2025-11-03T10:11:19.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4125645 -24.256593
2025-11-03T10:11:19.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4125645;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43233;2460982.84119676;10.1886975;1.3;_15.3874912263225 -24.1650096604619
2025-11-03T10:11:19.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3874912263225     dec_j2k = -24.1650096604619
2025-11-03T10:11:19.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:19.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:19.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096851970605487;171.162351965909;_
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096851970605487;171.162351965909;_
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:19.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:19.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:19.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:19.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:19.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45257)
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:19.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:19.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:19.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84119672, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096851970605487, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4125645, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43233, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3874912263225, telescope_dec_j2k=-24.1650096604619, observability=1)
2025-11-03T10:11:19.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:19
2025-11-03T10:11:19.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:19.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02260446548461914s
2025-11-03T10:11:19.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02260446548461914
2025-11-03T10:11:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:20
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3493125438690186s
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4129564;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43272;2460982.84121257;10.18908833;1.3;_
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4129564;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43272;2460982.84121257;10.18908833;1.3;_
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4129564, teldec = -24.256593
2025-11-03T10:11:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4129564 -24.256593
2025-11-03T10:11:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4129564 -24.256593
2025-11-03T10:11:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4129564 -24.256593
2025-11-03T10:11:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4129564;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43272;2460982.84121259;10.18908833;1.3;_15.3878828348685 -24.1650207761052
2025-11-03T10:11:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3878828348685     dec_j2k = -24.1650207761052
2025-11-03T10:11:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33209)
2025-11-03T10:11:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:20.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84121257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852371724915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4129564, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43272, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:10:20.830176', telescope_ra_j2k=15.3878828348685, telescope_dec_j2k=-24.1650207761052, observability=1)
2025-11-03T10:11:20.971 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:20.971 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:20.972 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:20.972 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:20.973 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:20.973 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:20.973 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:20.973 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:20.973 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:11:20.974 [INFO] [ThreadPoolExecutor-3447_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:11:20.974 [INFO] [ThreadPoolExecutor-3447_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:11:21.616 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:21
2025-11-03T10:11:21.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:21.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8360862731933594s
2025-11-03T10:11:21.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8360862731933594
2025-11-03T10:11:21.665 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:21
2025-11-03T10:11:21.665 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:21.665 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8853273391723633s
2025-11-03T10:11:21.665 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8853273391723633
2025-11-03T10:11:22.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:22
2025-11-03T10:11:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9874014854431152s
2025-11-03T10:11:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4135073;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43327;2460982.84123575;10.18963778;1.3;_
2025-11-03T10:11:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4135073;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43327;2460982.84123575;10.18963778;1.3;_
2025-11-03T10:11:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4135073, teldec = -24.256593
2025-11-03T10:11:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4135073 -24.256593
2025-11-03T10:11:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4135073 -24.256593
2025-11-03T10:11:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4135073 -24.256593
2025-11-03T10:11:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4135073;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43327;2460982.84123579;10.18963778;1.3;_15.3884333252186 -24.1650364031973
2025-11-03T10:11:22.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3884333252186     dec_j2k = -24.1650364031973
2025-11-03T10:11:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56011)
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:22.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:22.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84123575, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852371724915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4135073, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43327, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3884333252186, telescope_dec_j2k=-24.1650364031973, observability=1)
2025-11-03T10:11:23.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:23
2025-11-03T10:11:23.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:23.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6125426292419434s
2025-11-03T10:11:23.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6125426292419434
2025-11-03T10:11:23.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:23
2025-11-03T10:11:23.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:23.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.634657621383667s
2025-11-03T10:11:23.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.634657621383667
2025-11-03T10:11:24.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:24
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830496311187744s
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.414068;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43383;2460982.84125894;10.19019694;1.3;_
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.414068;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43383;2460982.84125894;10.19019694;1.3;_
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:24.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.414068, teldec = -24.256593
2025-11-03T10:11:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.414068 -24.256593
2025-11-03T10:11:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.414068 -24.256593
2025-11-03T10:11:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.414068 -24.256593
2025-11-03T10:11:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.414068;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43383;2460982.84125896;10.19019694;1.3;_15.3889936083432 -24.1650523102694
2025-11-03T10:11:24.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3889936083432     dec_j2k = -24.1650523102694
2025-11-03T10:11:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968531739637711;171.162357330327;_
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968531739637711;171.162357330327;_
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:24.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43853)
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:24.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:24.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:24.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:24.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:24.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:24.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84125894, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968531739637711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.414068, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43383, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3889936083432, telescope_dec_j2k=-24.1650523102694, observability=1)
2025-11-03T10:11:25.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:25
2025-11-03T10:11:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6140673160552979s
2025-11-03T10:11:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6140673160552979
2025-11-03T10:11:25.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:25
2025-11-03T10:11:25.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:25.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6360900402069092s
2025-11-03T10:11:25.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6360900402069092
2025-11-03T10:11:26.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:26
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9794788360595703s
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4145998;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43436;2460982.84128207;10.19072722;1.3;_
2025-11-03T10:11:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4145998;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43436;2460982.84128207;10.19072722;1.3;_
2025-11-03T10:11:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4145998, teldec = -24.256593
2025-11-03T10:11:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4145998 -24.256593
2025-11-03T10:11:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4145998 -24.256593
2025-11-03T10:11:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4145998 -24.256593
2025-11-03T10:11:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4146276;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43439;2460982.84128209;10.190755;1.3;_15.3895250130124 -24.1650673993009
2025-11-03T10:11:26.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3895250130124     dec_j2k = -24.1650673993009
2025-11-03T10:11:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968526926204575;171.162357330327;_
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968526926204575;171.162357330327;_
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:26.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33595)
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:26.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:26.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84128207, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968526926204575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4145998, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3895250130124, telescope_dec_j2k=-24.1650673993009, observability=1)
2025-11-03T10:11:27.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:27
2025-11-03T10:11:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6027593612670898s
2025-11-03T10:11:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6027593612670898
2025-11-03T10:11:27.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:27
2025-11-03T10:11:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6245982646942139s
2025-11-03T10:11:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6245982646942139
2025-11-03T10:11:27.535 [DEBUG] [Thread-88836 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:27.535 [DEBUG] [Thread-88836 (handle)] [server.py] [get_status()] Status age = 0.7442989349365234s
2025-11-03T10:11:27.535 [DEBUG] [Thread-88836 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7442989349365234
2025-11-03T10:11:28.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:28
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9757640361785889s
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4151786;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43494;2460982.8413052;10.19130444;1.3;_
2025-11-03T10:11:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4151786;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43494;2460982.8413052;10.19130444;1.3;_
2025-11-03T10:11:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4151786, teldec = -24.256593
2025-11-03T10:11:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4151786 -24.256593
2025-11-03T10:11:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4151786 -24.256593
2025-11-03T10:11:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4151786 -24.256593
2025-11-03T10:11:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4151786;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43494;2460982.84130522;10.19130444;1.3;_15.3901033828063 -24.1650838239375
2025-11-03T10:11:28.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3901033828063     dec_j2k = -24.1650838239375
2025-11-03T10:11:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968528530682287;171.162362694745;_
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968528530682287;171.162362694745;_
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60209)
2025-11-03T10:11:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:28.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:28.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:28.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8413052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968528530682287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4151786, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43494, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3901033828063, telescope_dec_j2k=-24.1650838239375, observability=1)
2025-11-03T10:11:29.566 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:29
2025-11-03T10:11:29.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:29.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7769043445587158s
2025-11-03T10:11:29.566 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7769043445587158
2025-11-03T10:11:29.588 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:29
2025-11-03T10:11:29.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:29.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7990772724151611s
2025-11-03T10:11:29.588 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7990772724151611
2025-11-03T10:11:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:30
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9743707180023193s
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4157393;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4355;2460982.8413283;10.19186361;1.3;_
2025-11-03T10:11:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4157393;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4355;2460982.8413283;10.19186361;1.3;_
2025-11-03T10:11:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4157393, teldec = -24.256593
2025-11-03T10:11:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4157393 -24.256593
2025-11-03T10:11:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4157393 -24.256593
2025-11-03T10:11:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4157393 -24.256593
2025-11-03T10:11:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4157393;-24.256593;50.108527;89.993047;50.08601;90.12017;12.4355;2460982.84132833;10.19186361;1.3;_15.3906636661168 -24.1650997369868
2025-11-03T10:11:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3906636661168     dec_j2k = -24.1650997369868
2025-11-03T10:11:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968532140757139;171.162357330327;_
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968532140757139;171.162357330327;_
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42925)
2025-11-03T10:11:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8413283, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968532140757139, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4157393, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4355, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3906636661168, telescope_dec_j2k=-24.1650997369868, observability=1)
2025-11-03T10:11:31.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:31
2025-11-03T10:11:31.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:31.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6171181201934814s
2025-11-03T10:11:31.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6171181201934814
2025-11-03T10:11:31.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:31
2025-11-03T10:11:31.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:31.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6394507884979248s
2025-11-03T10:11:31.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6394507884979248
2025-11-03T10:11:32.807 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:32
2025-11-03T10:11:32.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:32.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0260729789733887s
2025-11-03T10:11:32.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:32.807 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:32.808 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:32.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:32.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:32.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:32.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:32.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4162991;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43606;2460982.84135197;10.19242194;1.3;_
2025-11-03T10:11:32.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4162991;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43606;2460982.84135197;10.19242194;1.3;_
2025-11-03T10:11:32.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:32.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:32.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:32.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:32.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:32.811 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4162991, teldec = -24.256593
2025-11-03T10:11:32.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4162991 -24.256593
2025-11-03T10:11:32.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4162991 -24.256593
2025-11-03T10:11:32.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4162991 -24.256593
2025-11-03T10:11:32.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4162991;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43606;2460982.84135199;10.19242194;1.3;_15.3912230501585 -24.1651156264932
2025-11-03T10:11:32.812 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3912230501585     dec_j2k = -24.1651156264932
2025-11-03T10:11:32.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:32.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:32.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968528530682287;171.162351965909;_
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968528530682287;171.162351965909;_
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:32.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:32.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:32.820 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43457)
2025-11-03T10:11:32.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:32.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:32.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:32.821 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:32.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:32.829 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:32.829 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84135197, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968528530682287, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4162991, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43606, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3912230501585, telescope_dec_j2k=-24.1651156264932, observability=1)
2025-11-03T10:11:33.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:33
2025-11-03T10:11:33.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:33.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5763828754425049s
2025-11-03T10:11:33.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5763828754425049
2025-11-03T10:11:33.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:33
2025-11-03T10:11:33.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:33.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5984845161437988s
2025-11-03T10:11:33.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5984845161437988
2025-11-03T10:11:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:34
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9332034587860107s
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4168498;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43661;2460982.84137458;10.19297111;1.3;_
2025-11-03T10:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4168498;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43661;2460982.84137458;10.19297111;1.3;_
2025-11-03T10:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:34.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4168498, teldec = -24.256593
2025-11-03T10:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4168498 -24.256593
2025-11-03T10:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4168498 -24.256593
2025-11-03T10:11:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4168498 -24.256593
2025-11-03T10:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4168498;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43661;2460982.84137461;10.19297111;1.3;_15.3917733410225 -24.1651312596523
2025-11-03T10:11:34.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3917733410225     dec_j2k = -24.1651312596523
2025-11-03T10:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968528129562859;171.162351965909;_
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968528129562859;171.162351965909;_
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46099)
2025-11-03T10:11:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:34.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:34.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:34.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:34.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84137458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968528129562859, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4168498, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43661, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3917733410225, telescope_dec_j2k=-24.1651312596523, observability=1)
2025-11-03T10:11:35.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:35
2025-11-03T10:11:35.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:35.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6662423610687256s
2025-11-03T10:11:35.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6662423610687256
2025-11-03T10:11:35.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:35
2025-11-03T10:11:35.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:35.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6880431175231934s
2025-11-03T10:11:35.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6880431175231934
2025-11-03T10:11:36.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:36
2025-11-03T10:11:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9854342937469482s
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4174105;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43717;2460982.84139777;10.19353028;1.3;_
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4174105;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43717;2460982.84139777;10.19353028;1.3;_
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:36.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4174105, teldec = -24.256593
2025-11-03T10:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4174105 -24.256593
2025-11-03T10:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4174105 -24.256593
2025-11-03T10:11:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4174105 -24.256593
2025-11-03T10:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4174105;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43717;2460982.84139779;10.19353028;1.3;_15.3923336245191 -24.1651471786754
2025-11-03T10:11:36.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3923336245191     dec_j2k = -24.1651471786754
2025-11-03T10:11:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096853414635428;171.162357330327;_
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096853414635428;171.162357330327;_
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38623)
2025-11-03T10:11:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84139777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096853414635428, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4174105, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43717, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3923336245191, telescope_dec_j2k=-24.1651471786754, observability=1)
2025-11-03T10:11:37.548 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:37
2025-11-03T10:11:37.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:37.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7611896991729736s
2025-11-03T10:11:37.548 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7611896991729736
2025-11-03T10:11:37.571 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:37
2025-11-03T10:11:37.571 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:37.571 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7843291759490967s
2025-11-03T10:11:37.571 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7843291759490967
2025-11-03T10:11:38.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:38
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9852399826049805s
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4179706;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43773;2460982.841421;10.19408889;1.3;_
2025-11-03T10:11:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4179706;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43773;2460982.841421;10.19408889;1.3;_
2025-11-03T10:11:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:38.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:38.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4179706, teldec = -24.256593
2025-11-03T10:11:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4179706 -24.256593
2025-11-03T10:11:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4179706 -24.256593
2025-11-03T10:11:38.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4179706 -24.256593
2025-11-03T10:11:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4179706;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43773;2460982.84142103;10.19408889;1.3;_15.3928933085236 -24.1651630826641
2025-11-03T10:11:38.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3928933085236     dec_j2k = -24.1651630826641
2025-11-03T10:11:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:38.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968528931801715;171.162357330327;_
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968528931801715;171.162357330327;_
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:38.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:38.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:38.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33473)
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:38.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:38.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:38.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:38.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:38.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:38.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:38.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:38.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:38.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:38.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.841421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968528931801715, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4179706, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43773, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3928933085236, telescope_dec_j2k=-24.1651630826641, observability=1)
2025-11-03T10:11:39.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:39
2025-11-03T10:11:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6055986881256104s
2025-11-03T10:11:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6055986881256104
2025-11-03T10:11:39.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:39
2025-11-03T10:11:39.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:39.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6269662380218506s
2025-11-03T10:11:39.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6269662380218506
2025-11-03T10:11:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:40
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9700183868408203s
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4185213;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43828;2460982.84144403;10.19463806;1.3;_
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4185213;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43828;2460982.84144403;10.19463806;1.3;_
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4185213, teldec = -24.256593
2025-11-03T10:11:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4185213 -24.256593
2025-11-03T10:11:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4185213 -24.256593
2025-11-03T10:11:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4185213 -24.256593
2025-11-03T10:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4185213;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43828;2460982.84144406;10.19463806;1.3;_15.3934435995704 -24.1651787216896
2025-11-03T10:11:40.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3934435995704     dec_j2k = -24.1651787216896
2025-11-03T10:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096852371724915;171.162351965909;_
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60907)
2025-11-03T10:11:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:40.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:40.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84144403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096852371724915, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4185213, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43828, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3934435995704, telescope_dec_j2k=-24.1651787216896, observability=1)
2025-11-03T10:11:41.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:41
2025-11-03T10:11:41.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:41.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6238303184509277s
2025-11-03T10:11:41.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6238303184509277
2025-11-03T10:11:41.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:41
2025-11-03T10:11:41.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:41.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6458895206451416s
2025-11-03T10:11:41.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6458895206451416
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.851 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:11:41.852 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:41.853 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:41.854 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:11:41.855 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:41.856 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Park
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:11:41.857 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:11:41.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 29;15.4188291;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43859;2460982.84145669;10.194945;1.3;_Park Command Successful
2025-11-03T10:11:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:42
2025-11-03T10:11:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833025932312012s
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4190815;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43885;2460982.8414672;10.19519667;1.3;_
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4190815;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43885;2460982.8414672;10.19519667;1.3;_
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4190815, teldec = -24.256593
2025-11-03T10:11:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4190815 -24.256593
2025-11-03T10:11:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4190815 -24.256593
2025-11-03T10:11:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4190815 -24.256593
2025-11-03T10:11:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4190815;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43885;2460982.84146722;10.19519667;1.3;_15.3940033836243 -24.1651946324827
2025-11-03T10:11:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3940033836243     dec_j2k = -24.1651946324827
2025-11-03T10:11:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968524118368578;171.162362694745;_
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968524118368578;171.162362694745;_
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39727)
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:42.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:42.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:42.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8414672, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968524118368578, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4190815, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43885, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3940033836243, telescope_dec_j2k=-24.1651946324827, observability=1)
2025-11-03T10:11:42.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:11:42.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:11:42.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:11:42.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:11:42.858 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:11:43.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:43
2025-11-03T10:11:43.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:43.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6213123798370361s
2025-11-03T10:11:43.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6213123798370361
2025-11-03T10:11:43.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:43
2025-11-03T10:11:43.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:43.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6426067352294922s
2025-11-03T10:11:43.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6426067352294922
2025-11-03T10:11:43.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:11:43.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:11:43.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:11:43.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:11:43.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:11:44.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:44
2025-11-03T10:11:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98294997215271s
2025-11-03T10:11:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:44.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4196419;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43941;2460982.84149035;10.19575556;1.3;_
2025-11-03T10:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4196419;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43941;2460982.84149035;10.19575556;1.3;_
2025-11-03T10:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:44.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4196419, teldec = -24.256593
2025-11-03T10:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4196419 -24.256593
2025-11-03T10:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4196419 -24.256593
2025-11-03T10:11:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4196419 -24.256593
2025-11-03T10:11:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4196419;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43941;2460982.84149037;10.19575556;1.3;_15.394563367592 -24.1652105509563
2025-11-03T10:11:44.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.394563367592     dec_j2k = -24.1652105509563
2025-11-03T10:11:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968527327324003;171.162368059163;_
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968527327324003;171.162368059163;_
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47807)
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:44.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84149035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968527327324003, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4196419, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43941, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.394563367592, telescope_dec_j2k=-24.1652105509563, observability=1)
2025-11-03T10:11:44.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:11:44.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:11:44.859 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:11:44.860 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:11:44.860 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:11:45.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:45
2025-11-03T10:11:45.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:45.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6226253509521484s
2025-11-03T10:11:45.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6226253509521484
2025-11-03T10:11:45.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:45
2025-11-03T10:11:45.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:45.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6454651355743408s
2025-11-03T10:11:45.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6454651355743408
2025-11-03T10:11:45.599 [DEBUG] [Thread-88837 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:45.599 [DEBUG] [Thread-88837 (handle)] [server.py] [get_status()] Status age = 0.8162846565246582s
2025-11-03T10:11:45.599 [DEBUG] [Thread-88837 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8162846565246582
2025-11-03T10:11:45.860 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:11:45.860 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:11:45.860 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:45.861 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:45.862 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:45.862 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:45.862 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:45.862 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:45.863 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:45.863 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:11:45.863 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:11:45.863 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:11:45.863 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:46
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.989316463470459s
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4201733;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43994;2460982.84151359;10.19628556;1.3;_
2025-11-03T10:11:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4201733;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43994;2460982.84151359;10.19628556;1.3;_
2025-11-03T10:11:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:46.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4201733, teldec = -24.256593
2025-11-03T10:11:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4201733 -24.256593
2025-11-03T10:11:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4201733 -24.256593
2025-11-03T10:11:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4201733 -24.256593
2025-11-03T10:11:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4202015;-24.256593;50.108527;89.993047;50.08601;90.12017;12.43997;2460982.84151362;10.19631361;1.3;_15.3950943731466 -24.1652256475163
2025-11-03T10:11:46.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3950943731466     dec_j2k = -24.1652256475163
2025-11-03T10:11:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968527728443431;171.162346601491;_
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968527728443431;171.162346601491;_
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60935)
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:46.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:46.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:46.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84151359, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968527728443431, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4201733, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.43994, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3950943731466, telescope_dec_j2k=-24.1652256475163, observability=1)
2025-11-03T10:11:46.864 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:46.864 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:46.864 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:46.864 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:46.864 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:11:46.865 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:11:46.866 [DEBUG] [ThreadPoolExecutor-3446_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:46.866 [INFO] [ThreadPoolExecutor-3446_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:11:47.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:47
2025-11-03T10:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113739013671875s
2025-11-03T10:11:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113739013671875
2025-11-03T10:11:47.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:47
2025-11-03T10:11:47.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:47.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6379134654998779s
2025-11-03T10:11:47.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6379134654998779
2025-11-03T10:11:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:48
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9755358695983887s
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4207524;-24.256593;50.108527;89.993047;50.08601;90.12017;12.44052;2460982.84153666;10.19686306;1.3;_
2025-11-03T10:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4207524;-24.256593;50.108527;89.993047;50.08601;90.12017;12.44052;2460982.84153666;10.19686306;1.3;_
2025-11-03T10:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4207524, teldec = -24.256593
2025-11-03T10:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4207524 -24.256593
2025-11-03T10:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4207524 -24.256593
2025-11-03T10:11:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4207524 -24.256593
2025-11-03T10:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4207524;-24.256593;50.108527;89.993047;50.08601;90.12017;12.44052;2460982.84153668;10.19686306;1.3;_15.3956730433584 -24.1652421012347
2025-11-03T10:11:48.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3956730433584     dec_j2k = -24.1652421012347
2025-11-03T10:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968526926204575;171.162357330327;_
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968526926204575;171.162357330327;_
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42601)
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:48.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:48.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84153666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968526926204575, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.4207524, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44052, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3956730433584, telescope_dec_j2k=-24.1652421012347, observability=1)
2025-11-03T10:11:49.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:49
2025-11-03T10:11:49.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:49.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.612842321395874s
2025-11-03T10:11:49.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.612842321395874
2025-11-03T10:11:49.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:49
2025-11-03T10:11:49.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:49.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6365840435028076s
2025-11-03T10:11:49.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6365840435028076
2025-11-03T10:11:50.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:50
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814403057098389s
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.421285;-24.256593;50.108527;89.993047;50.08601;90.12017;12.44105;2460982.84155983;10.19739417;1.3;_
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.421285;-24.256593;50.108527;89.993047;50.08601;90.12017;12.44105;2460982.84155983;10.19739417;1.3;_
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.421285, teldec = -24.256593
2025-11-03T10:11:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.421285 -24.256593
2025-11-03T10:11:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.421285 -24.256593
2025-11-03T10:11:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.421285 -24.256593
2025-11-03T10:11:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4213131;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44108;2460982.84155985;10.19742222;1.3;_15.3962052481398 -24.1652572356534
2025-11-03T10:11:50.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3962052481398     dec_j2k = -24.1652572356534
2025-11-03T10:11:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968529734040571;171.162362694745;_
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968529734040571;171.162362694745;_
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37981)
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:50.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:50.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84155983, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968529734040571, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108527, telescope_az=89.993047, telescope_ra=15.421285, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3962052481398, telescope_dec_j2k=-24.1652572356534, observability=1)
2025-11-03T10:11:50.810 [DEBUG] [Thread-88838 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:50.810 [DEBUG] [Thread-88838 (handle)] [server.py] [get_status()] Status age = 0.026111125946044922s
2025-11-03T10:11:50.810 [DEBUG] [Thread-88838 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026111125946044922
2025-11-03T10:11:51.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:51
2025-11-03T10:11:51.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:51.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6124942302703857s
2025-11-03T10:11:51.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6124942302703857
2025-11-03T10:11:51.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:51
2025-11-03T10:11:51.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:51.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6344399452209473s
2025-11-03T10:11:51.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6344399452209473
2025-11-03T10:11:52.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:52
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9826054573059082s
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4218448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44161;2460982.84158296;10.1979525;1.3;_
2025-11-03T10:11:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4218448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44161;2460982.84158296;10.1979525;1.3;_
2025-11-03T10:11:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:52.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4218448, teldec = -24.256593
2025-11-03T10:11:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4218448 -24.256593
2025-11-03T10:11:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4218448 -24.256593
2025-11-03T10:11:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4218448 -24.256593
2025-11-03T10:11:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4218448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44161;2460982.84158299;10.1979525;1.3;_15.396764632798 -24.1652731449366
2025-11-03T10:11:52.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.396764632798     dec_j2k = -24.1652731449366
2025-11-03T10:11:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968529734040571;171.162351965909;_
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968529734040571;171.162351965909;_
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53255)
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:52.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:52.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84158296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968529734040571, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4218448, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.396764632798, telescope_dec_j2k=-24.1652731449366, observability=1)
2025-11-03T10:11:53.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:53
2025-11-03T10:11:53.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:53.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6222414970397949s
2025-11-03T10:11:53.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6222414970397949
2025-11-03T10:11:53.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:53
2025-11-03T10:11:53.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:53.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6445508003234863s
2025-11-03T10:11:53.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6445508003234863
2025-11-03T10:11:54.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:54
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976325511932373s
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4223952;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44219;2460982.8416061;10.19852944;1.3;_
2025-11-03T10:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4223952;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44219;2460982.8416061;10.19852944;1.3;_
2025-11-03T10:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:54.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4223952, teldec = -24.256593
2025-11-03T10:11:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4223952 -24.256593
2025-11-03T10:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4223952 -24.256593
2025-11-03T10:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4223952 -24.256593
2025-11-03T10:11:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4224234;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44219;2460982.84160612;10.19852944;1.3;_15.3973146244913 -24.1652887890202
2025-11-03T10:11:54.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3973146244913     dec_j2k = -24.1652887890202
2025-11-03T10:11:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37423)
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:54.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8416061, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968530937398855, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4223952, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44219, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3973146244913, telescope_dec_j2k=-24.1652887890202, observability=1)
2025-11-03T10:11:55.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:55
2025-11-03T10:11:55.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:55.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.626950740814209s
2025-11-03T10:11:55.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.626950740814209
2025-11-03T10:11:55.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:55
2025-11-03T10:11:55.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:55.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6486279964447021s
2025-11-03T10:11:55.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6486279964447021
2025-11-03T10:11:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:56
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848473072052002s
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4229838;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44275;2460982.84162927;10.19908833;1.3;_
2025-11-03T10:11:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4229838;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44275;2460982.84162927;10.19908833;1.3;_
2025-11-03T10:11:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:56.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4229838, teldec = -24.256593
2025-11-03T10:11:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4229838 -24.256593
2025-11-03T10:11:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4229838 -24.256593
2025-11-03T10:11:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4229838 -24.256593
2025-11-03T10:11:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4229838;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44275;2460982.84162929;10.19908833;1.3;_15.397902787913 -24.1653055209999
2025-11-03T10:11:56.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.397902787913     dec_j2k = -24.1653055209999
2025-11-03T10:11:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968530135159999;171.162351965909;_
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968530135159999;171.162351965909;_
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33831)
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:56.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:56.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:56.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84162927, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968530135159999, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4229838, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44275, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.397902787913, telescope_dec_j2k=-24.1653055209999, observability=1)
2025-11-03T10:11:57.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:57
2025-11-03T10:11:57.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:57.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.611931562423706s
2025-11-03T10:11:57.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.611931562423706
2025-11-03T10:11:57.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:57
2025-11-03T10:11:57.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:57.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6347410678863525s
2025-11-03T10:11:57.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6347410678863525
2025-11-03T10:11:57.461 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:57.461 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6724050045013428s
2025-11-03T10:11:57.461 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6724050045013428
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2169809341430664s
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4233203;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44308;2460982.8416436;10.19942389;1.3;_
2025-11-03T10:11:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4233203;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44308;2460982.8416436;10.19942389;1.3;_
2025-11-03T10:11:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:58.009 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4233203, teldec = -24.256593
2025-11-03T10:11:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4233203 -24.256593
2025-11-03T10:11:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4233203 -24.256593
2025-11-03T10:11:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4233203 -24.256593
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4233203;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44308;2460982.84164363;10.19942389;1.3;_15.3982390383541 -24.1653150875885
2025-11-03T10:11:58.010 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.3982390383541     dec_j2k = -24.1653150875885
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968536553070848;171.162357330327;_
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968536553070848;171.162357330327;_
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51559)
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:58.017 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:58.024 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:58.025 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8416436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968536553070848, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4233203, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44308, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3982390383541, telescope_dec_j2k=-24.1653150875885, observability=1)
2025-11-03T10:11:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:58
2025-11-03T10:11:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7410364151000977s
2025-11-03T10:11:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7410364151000977
2025-11-03T10:11:59.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:59
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3726294040679932s
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:11:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:11:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:11:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4237116;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44348;2460982.84165972;10.19981417;1.3;_
2025-11-03T10:11:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4237116;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44348;2460982.84165972;10.19981417;1.3;_
2025-11-03T10:11:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:11:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:11:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:11:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:11:59.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4237116, teldec = -24.256593
2025-11-03T10:11:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4237116 -24.256593
2025-11-03T10:11:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4237116 -24.256593
2025-11-03T10:11:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4237116 -24.256593
2025-11-03T10:11:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4237116;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44348;2460982.84165975;10.19981417;1.3;_15.3986300481822 -24.1653262130296
2025-11-03T10:11:59.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3986300481822     dec_j2k = -24.1653262130296
2025-11-03T10:11:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:11:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968531739637711;171.162346601491;_
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968531739637711;171.162346601491;_
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:11:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:11:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:11:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:11:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:11:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:11:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40593)
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:11:59.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:11:59.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:11:59.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:11:59.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84165972, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968531739637711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4237116, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3986300481822, telescope_dec_j2k=-24.1653262130296, observability=1)
2025-11-03T10:11:59.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:11:59
2025-11-03T10:11:59.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:11:59.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022429227828979492s
2025-11-03T10:11:59.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022429227828979492
2025-11-03T10:12:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:00
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3448894023895264s
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4240943;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44386;2460982.84167552;10.20019583;1.3;_
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4240943;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44386;2460982.84167552;10.20019583;1.3;_
2025-11-03T10:12:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4240943, teldec = -24.256593
2025-11-03T10:12:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4240943 -24.256593
2025-11-03T10:12:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4240943 -24.256593
2025-11-03T10:12:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4240943 -24.256593
2025-11-03T10:12:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4240943;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44386;2460982.84167556;10.20019583;1.3;_15.3990124644171 -24.1653370948977
2025-11-03T10:12:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3990124644171     dec_j2k = -24.1653370948977
2025-11-03T10:12:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968532140757139;171.162357330327;_
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968532140757139;171.162357330327;_
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34865)
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:00.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:00.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:00.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84167552, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968532140757139, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4240943, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44386, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3990124644171, telescope_dec_j2k=-24.1653370948977, observability=1)
2025-11-03T10:12:01.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:01
2025-11-03T10:12:01.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:01.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6217398643493652s
2025-11-03T10:12:01.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6217398643493652
2025-11-03T10:12:01.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:01
2025-11-03T10:12:01.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:01.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.646573543548584s
2025-11-03T10:12:01.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.646573543548584
2025-11-03T10:12:02.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:02
2025-11-03T10:12:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978834867477417s
2025-11-03T10:12:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:02.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4246269;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44439;2460982.84169866;10.20072694;1.3;_
2025-11-03T10:12:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4246269;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44439;2460982.84169866;10.20072694;1.3;_
2025-11-03T10:12:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4246269, teldec = -24.256593
2025-11-03T10:12:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4246269 -24.256593
2025-11-03T10:12:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4246269 -24.256593
2025-11-03T10:12:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4246269 -24.256593
2025-11-03T10:12:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4246269;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44439;2460982.84169868;10.20072694;1.3;_15.3995446695523 -24.1653522406415
2025-11-03T10:12:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.3995446695523     dec_j2k = -24.1653522406415
2025-11-03T10:12:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968535750831992;171.162357330327;_
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968535750831992;171.162357330327;_
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:02.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32951)
2025-11-03T10:12:02.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:02.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:02.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84169866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968535750831992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4246269, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44439, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.3995446695523, telescope_dec_j2k=-24.1653522406415, observability=1)
2025-11-03T10:12:03.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:03
2025-11-03T10:12:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6110098361968994s
2025-11-03T10:12:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6110098361968994
2025-11-03T10:12:03.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:03
2025-11-03T10:12:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6332533359527588s
2025-11-03T10:12:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6332533359527588
2025-11-03T10:12:03.750 [DEBUG] [Thread-88839 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:03.750 [DEBUG] [Thread-88839 (handle)] [server.py] [get_status()] Status age = 0.9657518863677979s
2025-11-03T10:12:03.750 [DEBUG] [Thread-88839 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9657518863677979
2025-11-03T10:12:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:04
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811058044433594s
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4251873;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44495;2460982.84172184;10.20128583;1.3;_
2025-11-03T10:12:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4251873;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44495;2460982.84172184;10.20128583;1.3;_
2025-11-03T10:12:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:04.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4251873, teldec = -24.256593
2025-11-03T10:12:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4251873 -24.256593
2025-11-03T10:12:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4251873 -24.256593
2025-11-03T10:12:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4251873 -24.256593
2025-11-03T10:12:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4251873;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44495;2460982.84172188;10.20128583;1.3;_15.4001046541378 -24.1653681788918
2025-11-03T10:12:04.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4001046541378     dec_j2k = -24.1653681788918
2025-11-03T10:12:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968532140757139;171.162362694745;_
2025-11-03T10:12:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968532140757139;171.162362694745;_
2025-11-03T10:12:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:04.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36057)
2025-11-03T10:12:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:04.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:04.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:04.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:04.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84172184, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968532140757139, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4251873, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44495, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4001046541378, telescope_dec_j2k=-24.1653681788918, observability=1)
2025-11-03T10:12:05.454 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:05
2025-11-03T10:12:05.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:05.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6678149700164795s
2025-11-03T10:12:05.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6678149700164795
2025-11-03T10:12:05.476 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:05
2025-11-03T10:12:05.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:05.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6900384426116943s
2025-11-03T10:12:05.476 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6900384426116943
2025-11-03T10:12:06.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:06
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786772727966309s
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4257661;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44553;2460982.84174499;10.20186306;1.3;_
2025-11-03T10:12:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4257661;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44553;2460982.84174499;10.20186306;1.3;_
2025-11-03T10:12:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:06.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4257661, teldec = -24.256593
2025-11-03T10:12:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4257661 -24.256593
2025-11-03T10:12:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4257661 -24.256593
2025-11-03T10:12:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4257661 -24.256593
2025-11-03T10:12:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4257661;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44553;2460982.84174501;10.20186306;1.3;_15.4006830251494 -24.1653846425497
2025-11-03T10:12:06.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4006830251494     dec_j2k = -24.1653846425497
2025-11-03T10:12:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968535750831992;171.162357330327;_
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968535750831992;171.162357330327;_
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42881)
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:06.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:06.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:06.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84174499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968535750831992, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4257661, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44553, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4006830251494, telescope_dec_j2k=-24.1653846425497, observability=1)
2025-11-03T10:12:07.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:07
2025-11-03T10:12:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6161391735076904s
2025-11-03T10:12:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6161391735076904
2025-11-03T10:12:07.505 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:07
2025-11-03T10:12:07.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:07.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7212402820587158s
2025-11-03T10:12:07.506 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7212402820587158
2025-11-03T10:12:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:08
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817907810211182s
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4263268;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44609;2460982.84176815;10.20242222;1.3;_
2025-11-03T10:12:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4263268;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44609;2460982.84176815;10.20242222;1.3;_
2025-11-03T10:12:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4263268, teldec = -24.256593
2025-11-03T10:12:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4263268 -24.256593
2025-11-03T10:12:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4263268 -24.256593
2025-11-03T10:12:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4263268 -24.256593
2025-11-03T10:12:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4263268;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44609;2460982.84176817;10.20242222;1.3;_15.4012433096396 -24.1654005933936
2025-11-03T10:12:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4012433096396     dec_j2k = -24.1654005933936
2025-11-03T10:12:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968537355309704;171.162362694745;_
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968537355309704;171.162362694745;_
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48935)
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:08.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:08.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:08.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:08.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:08.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84176815, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968537355309704, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4263268, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4012433096396, telescope_dec_j2k=-24.1654005933936, observability=1)
2025-11-03T10:12:09.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:09
2025-11-03T10:12:09.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:09.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6147170066833496s
2025-11-03T10:12:09.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6147170066833496
2025-11-03T10:12:09.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:09
2025-11-03T10:12:09.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:09.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6369919776916504s
2025-11-03T10:12:09.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6369919776916504
2025-11-03T10:12:10.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:10
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9939205646514893s
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:10.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:10.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:10.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4268608;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44662;2460982.84179148;10.20295472;1.3;_
2025-11-03T10:12:10.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4268608;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44662;2460982.84179148;10.20295472;1.3;_
2025-11-03T10:12:10.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:10.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:10.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:10.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:10.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:10.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4268608, teldec = -24.256593
2025-11-03T10:12:10.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4268608 -24.256593
2025-11-03T10:12:10.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4268608 -24.256593
2025-11-03T10:12:10.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4268608 -24.256593
2025-11-03T10:12:10.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4268608;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44662;2460982.8417915;10.20295472;1.3;_15.4017769139741 -24.1654157865311
2025-11-03T10:12:10.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4017769139741     dec_j2k = -24.1654157865311
2025-11-03T10:12:10.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:10.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968534547473708;171.162362694745;_
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968534547473708;171.162362694745;_
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:10.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:10.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:10.793 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53053)
2025-11-03T10:12:10.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:10.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:10.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:10.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:10.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:10.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:10.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84179148, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968534547473708, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4268608, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44662, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4017769139741, telescope_dec_j2k=-24.1654157865311, observability=1)
2025-11-03T10:12:11.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:11
2025-11-03T10:12:11.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:11.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6048233509063721s
2025-11-03T10:12:11.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6048233509063721
2025-11-03T10:12:11.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:11
2025-11-03T10:12:11.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:11.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6437606811523438s
2025-11-03T10:12:11.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6437606811523438
2025-11-03T10:12:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:12
2025-11-03T10:12:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.963205099105835s
2025-11-03T10:12:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.427412;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44718;2460982.84181442;10.20350444;1.3;_
2025-11-03T10:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.427412;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44718;2460982.84181442;10.20350444;1.3;_
2025-11-03T10:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:12.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.427412, teldec = -24.256593
2025-11-03T10:12:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.427412 -24.256593
2025-11-03T10:12:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.427412 -24.256593
2025-11-03T10:12:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.427412 -24.256593
2025-11-03T10:12:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.427412;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44718;2460982.84181444;10.20350444;1.3;_15.402327705624 -24.1654314709362
2025-11-03T10:12:12.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.402327705624     dec_j2k = -24.1654314709362
2025-11-03T10:12:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968532541876568;171.162346601491;_
2025-11-03T10:12:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968532541876568;171.162346601491;_
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47339)
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:12.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:12.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:12.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84181442, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968532541876568, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.427412, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44718, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.402327705624, telescope_dec_j2k=-24.1654314709362, observability=1)
2025-11-03T10:12:13.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:13
2025-11-03T10:12:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.618157148361206s
2025-11-03T10:12:13.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.618157148361206
2025-11-03T10:12:13.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:13
2025-11-03T10:12:13.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:13.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.661846399307251s
2025-11-03T10:12:13.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.661846399307251
2025-11-03T10:12:14.756 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:12:14
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.9744596481323242s
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:14.756 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.84183747;10.20406417;1.3;_
2025-11-03T10:12:14.757 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.84183747;10.20406417;1.3;_
2025-11-03T10:12:14.758 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:14.758 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:14.758 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:14.758 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:14.759 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:14.759 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.4279733, teldec = -24.256593
2025-11-03T10:12:14.759 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.759 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.759 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.760 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.8418375;10.20406417;1.3;_15.4028885898535 -24.1654474447207
2025-11-03T10:12:14.760 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.4028885898535     dec_j2k = -24.1654474447207
2025-11-03T10:12:14.760 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:14.760 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:14.760 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:14.761 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:14.762 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:14.763 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.763 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.763 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44777)
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:14.764 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:14
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9844534397125244s
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.84183759;10.20406417;1.3;_
2025-11-03T10:12:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.84183759;10.20406417;1.3;_
2025-11-03T10:12:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:14.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4279733, teldec = -24.256593
2025-11-03T10:12:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4279733 -24.256593
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4279733;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44774;2460982.84183762;10.20406417;1.3;_15.4028885898535 -24.1654474447207
2025-11-03T10:12:14.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4028885898535     dec_j2k = -24.1654474447207
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968530937398855;171.162351965909;_
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:14.772 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:14.772 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84183747, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968530937398855, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4279733, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4028885898535, telescope_dec_j2k=-24.1654474447207, observability=1)
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40139)
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:14.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:14.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:14.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:14.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:14.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:14.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84183759, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968530937398855, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4279733, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4028885898535, telescope_dec_j2k=-24.1654474447207, observability=1)
2025-11-03T10:12:15.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:15
2025-11-03T10:12:15.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:15.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6632950305938721s
2025-11-03T10:12:15.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6632950305938721
2025-11-03T10:12:15.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:15
2025-11-03T10:12:15.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:15.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.686293363571167s
2025-11-03T10:12:15.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.686293363571167
2025-11-03T10:12:16.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:16
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9849541187286377s
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4285329;-24.256593;50.108526;89.993047;50.08601;90.12017;12.4483;2460982.8418608;10.20462222;1.3;_
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4285329;-24.256593;50.108526;89.993047;50.08601;90.12017;12.4483;2460982.8418608;10.20462222;1.3;_
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:16.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4285329, teldec = -24.256593
2025-11-03T10:12:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4285329 -24.256593
2025-11-03T10:12:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4285329 -24.256593
2025-11-03T10:12:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4285329 -24.256593
2025-11-03T10:12:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4285329;-24.256593;50.108526;89.993047;50.08601;90.12017;12.4483;2460982.84186082;10.20462222;1.3;_15.4034477754046 -24.165463372118
2025-11-03T10:12:16.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4034477754046     dec_j2k = -24.165463372118
2025-11-03T10:12:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968541366503985;171.162362694745;_
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968541366503985;171.162362694745;_
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60859)
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:16.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:16.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8418608, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968541366503985, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4285329, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4483, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4034477754046, telescope_dec_j2k=-24.165463372118, observability=1)
2025-11-03T10:12:17.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:17
2025-11-03T10:12:17.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:17.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6128411293029785s
2025-11-03T10:12:17.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6128411293029785
2025-11-03T10:12:17.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:17
2025-11-03T10:12:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6343483924865723s
2025-11-03T10:12:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6343483924865723
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.4852566719055176s
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:18.273 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4289721;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44874;2460982.84187817;10.20506028;1.3;_
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.4289721;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44874;2460982.84187817;10.20506028;1.3;_
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:18.274 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:18.275 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:18.275 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:18.275 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.4289721, teldec = -24.256593
2025-11-03T10:12:18.276 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.4289721 -24.256593
2025-11-03T10:12:18.276 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.4289721 -24.256593
2025-11-03T10:12:18.276 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4289721 -24.256593
2025-11-03T10:12:18.277 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4289721;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44874;2460982.84187819;10.20506028;1.3;_15.4038866501697 -24.1654758740702
2025-11-03T10:12:18.277 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.4038866501697     dec_j2k = -24.1654758740702
2025-11-03T10:12:18.277 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:18.277 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:18.277 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968536553070848;171.162362694745;_
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968536553070848;171.162362694745;_
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:18.278 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:18.279 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60711)
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:18.286 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:18.293 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:18.293 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:18.293 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:18.293 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:18.293 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:18.294 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:18.294 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:18.294 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:18.294 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:12:18.294 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84187817, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968536553070848, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4289721, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44874, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4038866501697, telescope_dec_j2k=-24.1654758740702, observability=1)
2025-11-03T10:12:18.294 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5381040573120117 seconds ago
2025-11-03T10:12:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:18
2025-11-03T10:12:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4728689193725586s
2025-11-03T10:12:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4728689193725586
2025-11-03T10:12:19.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:19
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1124584674835205s
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:19.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:19.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:19.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4292805;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44904;2460982.8418913;10.20536778;1.3;_
2025-11-03T10:12:19.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4292805;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44904;2460982.8418913;10.20536778;1.3;_
2025-11-03T10:12:19.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:19.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:19.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:19.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:19.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:19.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4292805, teldec = -24.256593
2025-11-03T10:12:19.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4292805 -24.256593
2025-11-03T10:12:19.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4292805 -24.256593
2025-11-03T10:12:19.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4292805 -24.256593
2025-11-03T10:12:19.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4292805;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44904;2460982.84189132;10.20536778;1.3;_15.4041948218173 -24.1654846534956
2025-11-03T10:12:19.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4041948218173     dec_j2k = -24.1654846534956
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968541767623413;171.162357330327;_
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968541767623413;171.162357330327;_
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52231)
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:19.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:19.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:19.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:19.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:19.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:19.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:19.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:19.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:19.427 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:19.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:19.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8418913, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968541767623413, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4292805, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44904, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4041948218173, telescope_dec_j2k=-24.1654846534956, observability=1)
2025-11-03T10:12:19.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:19
2025-11-03T10:12:19.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:19.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02267313003540039s
2025-11-03T10:12:19.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02267313003540039
2025-11-03T10:12:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:20
2025-11-03T10:12:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3358018398284912s
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4296448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44941;2460982.841907;10.20573111;1.3;_
2025-11-03T10:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4296448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44941;2460982.841907;10.20573111;1.3;_
2025-11-03T10:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:20.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4296448, teldec = -24.256593
2025-11-03T10:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4296448 -24.256593
2025-11-03T10:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4296448 -24.256593
2025-11-03T10:12:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4296448 -24.256593
2025-11-03T10:12:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4296448;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44941;2460982.84190703;10.20573111;1.3;_15.4045588520985 -24.165495025041
2025-11-03T10:12:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4045588520985     dec_j2k = -24.165495025041
2025-11-03T10:12:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968537756429132;171.162357330327;_
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968537756429132;171.162357330327;_
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52287)
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:20.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:20.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.841907, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968537756429132, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4296448, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44941, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:11:20.971323', telescope_ra_j2k=15.4045588520985, telescope_dec_j2k=-24.165495025041, observability=1)
2025-11-03T10:12:21.112 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:21.112 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:21.112 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:21.112 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:21.112 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:21.113 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:21.113 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:21.114 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:21.114 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:21.114 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:21.114 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:12:21.114 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:21.114 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:21.114 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:21.114 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:21.114 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:12:21.115 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:12:21.116 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Status age = 1.0048670768737793s
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:21.789 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:21.790 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:21.791 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:21.791 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:21.791 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 17;15.4299529;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44972;2460982.84191888;10.20603833;1.3;_
2025-11-03T10:12:21.791 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response 17;15.4299529;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44972;2460982.84191888;10.20603833;1.3;_
2025-11-03T10:12:21.792 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:21.792 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:21.792 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:21.793 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:21.793 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:21.793 [INFO] [Thread-88840 (handle)] [driver.py] [get_status()] Telra = 15.4299529, teldec = -24.256593
2025-11-03T10:12:21.793 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4299529 -24.256593
2025-11-03T10:12:21.793 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4299529 -24.256593
2025-11-03T10:12:21.793 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4299529 -24.256593
2025-11-03T10:12:21.794 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 17;15.4299529;-24.256593;50.108526;89.993047;50.08601;90.12017;12.44972;2460982.84191891;10.20603833;1.3;_15.4048667240095 -24.1655037972418
2025-11-03T10:12:21.794 [INFO] [Thread-88840 (handle)] [driver.py] [get_status()] ra_j2k = 15.4048667240095     dec_j2k = -24.1655037972418
2025-11-03T10:12:21.794 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:21.794 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:21.794 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 140;0.0968539360906844;171.162351965909;_
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response 140;0.0968539360906844;171.162351965909;_
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:21.795 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:21.796 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:21.797 [DEBUG] [Thread-88840 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:21.797 [DEBUG] [Thread-88840 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:21.797 [DEBUG] [Thread-88840 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48449)
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:21.799 [DEBUG] [Thread-88840 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:21.806 [DEBUG] [Thread-88840 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:21.806 [INFO] [Thread-88840 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84191888, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968539360906844, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4299529, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.44972, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4048667240095, telescope_dec_j2k=-24.1655037972418, observability=1)
2025-11-03T10:12:21.949 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:21
2025-11-03T10:12:21.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:21.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1427292823791504s
2025-11-03T10:12:21.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1427292823791504
2025-11-03T10:12:22.057 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:22
2025-11-03T10:12:22.058 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:22.058 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25145983695983887s
2025-11-03T10:12:22.058 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25145983695983887
2025-11-03T10:12:22.116 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:22.116 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:22.116 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:22.116 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:22.116 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:12:22.117 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:22.118 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:22.119 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:22.119 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:22.119 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:22.119 [DEBUG] [ThreadPoolExecutor-3448_0] [payload.py] [to_registers()] [0]
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47497)
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:22.121 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:22.129 [DEBUG] [ThreadPoolExecutor-3448_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:22
2025-11-03T10:12:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.956812858581543s
2025-11-03T10:12:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.956812858581543
2025-11-03T10:12:23.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:23
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.58988356590271s
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:23.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:23.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4303723;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45014;2460982.84193748;10.20645667;1.3;_
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4303723;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45014;2460982.84193748;10.20645667;1.3;_
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:23.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4303723, teldec = -24.256593
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4303723 -24.256593
2025-11-03T10:12:23.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4303723 -24.256593
2025-11-03T10:12:23.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4303723 -24.256593
2025-11-03T10:12:23.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4304005;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45016;2460982.84193749;10.20648472;1.3;_15.4052858135546 -24.1655157393366
2025-11-03T10:12:23.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4052858135546     dec_j2k = -24.1655157393366
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968543372101125;171.162351965909;_
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968543372101125;171.162351965909;_
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:23.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:23.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:23.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35361)
2025-11-03T10:12:23.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:23.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:23.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:23.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:23.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:23.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:23.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84193748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968543372101125, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4303723, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45014, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4052858135546, telescope_dec_j2k=-24.1655157393366, observability=1)
2025-11-03T10:12:23.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:23
2025-11-03T10:12:23.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:23.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02265310287475586s
2025-11-03T10:12:23.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02265310287475586
2025-11-03T10:12:24.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:24
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3566062450408936s
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4307553;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45052;2460982.84195333;10.20683861;1.3;_
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4307553;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45052;2460982.84195333;10.20683861;1.3;_
2025-11-03T10:12:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4307553, teldec = -24.256593
2025-11-03T10:12:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4307553 -24.256593
2025-11-03T10:12:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4307553 -24.256593
2025-11-03T10:12:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4307553 -24.256593
2025-11-03T10:12:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4307553;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45052;2460982.84195337;10.20683861;1.3;_15.4056685300748 -24.1655266459446
2025-11-03T10:12:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4056685300748     dec_j2k = -24.1655266459446
2025-11-03T10:12:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968543773220553;171.162351965909;_
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968543773220553;171.162351965909;_
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42637)
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:24.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:24.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:24.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:24.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:24.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84195333, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968543773220553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4307553, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45052, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4056685300748, telescope_dec_j2k=-24.1655266459446, observability=1)
2025-11-03T10:12:25.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:25
2025-11-03T10:12:25.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:25.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6158084869384766s
2025-11-03T10:12:25.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6158084869384766
2025-11-03T10:12:25.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:25
2025-11-03T10:12:25.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:25.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6377897262573242s
2025-11-03T10:12:25.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6377897262573242
2025-11-03T10:12:26.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:26
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979801893234253s
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.431316;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45108;2460982.84197644;10.20739778;1.3;_
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.431316;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45108;2460982.84197644;10.20739778;1.3;_
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:26.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.431316, teldec = -24.256593
2025-11-03T10:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.431316 -24.256593
2025-11-03T10:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.431316 -24.256593
2025-11-03T10:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.431316 -24.256593
2025-11-03T10:12:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.431316;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45108;2460982.84197646;10.20739778;1.3;_15.4062288151221 -24.1655426145562
2025-11-03T10:12:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4062288151221     dec_j2k = -24.1655426145562
2025-11-03T10:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53927)
2025-11-03T10:12:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:26.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:26.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84197644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968538959787416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.431316, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45108, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4062288151221, telescope_dec_j2k=-24.1655426145562, observability=1)
2025-11-03T10:12:27.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:27
2025-11-03T10:12:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.618229866027832s
2025-11-03T10:12:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.618229866027832
2025-11-03T10:12:27.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:27
2025-11-03T10:12:27.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:27.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6395301818847656s
2025-11-03T10:12:27.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6395301818847656
2025-11-03T10:12:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:28
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808027744293213s
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.431877;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45164;2460982.84199962;10.20795722;1.3;_
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.431877;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45164;2460982.84199962;10.20795722;1.3;_
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.431877, teldec = -24.256593
2025-11-03T10:12:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.431877 -24.256593
2025-11-03T10:12:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.431877 -24.256593
2025-11-03T10:12:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.431877 -24.256593
2025-11-03T10:12:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.431877;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45164;2460982.84199965;10.20795722;1.3;_15.40678940001 -24.1655585937084
2025-11-03T10:12:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.40678940001     dec_j2k = -24.1655585937084
2025-11-03T10:12:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968540564265129;171.162368059163;_
2025-11-03T10:12:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968540564265129;171.162368059163;_
2025-11-03T10:12:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59479)
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:28.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:28.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:28.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84199962, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968540564265129, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.431877, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45164, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.40678940001, telescope_dec_j2k=-24.1655585937084, observability=1)
2025-11-03T10:12:29.458 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:29
2025-11-03T10:12:29.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:29.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6713299751281738s
2025-11-03T10:12:29.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6713299751281738
2025-11-03T10:12:29.479 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:29
2025-11-03T10:12:29.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:29.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6926419734954834s
2025-11-03T10:12:29.479 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6926419734954834
2025-11-03T10:12:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:30
2025-11-03T10:12:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781088829040527s
2025-11-03T10:12:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4324282;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45219;2460982.84202275;10.20850694;1.3;_
2025-11-03T10:12:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4324282;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45219;2460982.84202275;10.20850694;1.3;_
2025-11-03T10:12:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4324282, teldec = -24.256593
2025-11-03T10:12:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4324282 -24.256593
2025-11-03T10:12:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4324282 -24.256593
2025-11-03T10:12:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4324282 -24.256593
2025-11-03T10:12:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4324282;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45219;2460982.84202278;10.20850694;1.3;_15.4073401922105 -24.1655742956688
2025-11-03T10:12:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4073401922105     dec_j2k = -24.1655742956688
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968539762026272;171.162357330327;_
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968539762026272;171.162357330327;_
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38069)
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:30.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:30.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84202275, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968539762026272, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4324282, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45219, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4073401922105, telescope_dec_j2k=-24.1655742956688, observability=1)
2025-11-03T10:12:31.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:31
2025-11-03T10:12:31.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:31.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.641594409942627s
2025-11-03T10:12:31.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.641594409942627
2025-11-03T10:12:31.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:31
2025-11-03T10:12:31.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:31.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6861832141876221s
2025-11-03T10:12:31.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6861832141876221
2025-11-03T10:12:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:32
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9825270175933838s
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4329889;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45275;2460982.8420459;10.20906611;1.3;_
2025-11-03T10:12:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4329889;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45275;2460982.8420459;10.20906611;1.3;_
2025-11-03T10:12:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4329889, teldec = -24.256593
2025-11-03T10:12:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4329889 -24.256593
2025-11-03T10:12:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4329889 -24.256593
2025-11-03T10:12:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4329889 -24.256593
2025-11-03T10:12:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4329889;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45275;2460982.84204593;10.20906611;1.3;_15.4079004774447 -24.1655902702319
2025-11-03T10:12:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4079004774447     dec_j2k = -24.1655902702319
2025-11-03T10:12:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968540965384557;171.162362694745;_
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968540965384557;171.162362694745;_
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57655)
2025-11-03T10:12:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:32.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8420459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968540965384557, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4329889, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45275, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4079004774447, telescope_dec_j2k=-24.1655902702319, observability=1)
2025-11-03T10:12:33.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:33
2025-11-03T10:12:33.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:33.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6670839786529541s
2025-11-03T10:12:33.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6670839786529541
2025-11-03T10:12:33.472 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:33
2025-11-03T10:12:33.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:33.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6889867782592773s
2025-11-03T10:12:33.472 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6889867782592773
2025-11-03T10:12:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:34
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9788029193878174s
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:34.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4335482;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45331;2460982.84206903;10.20962389;1.3;_
2025-11-03T10:12:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4335482;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45331;2460982.84206903;10.20962389;1.3;_
2025-11-03T10:12:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:34.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4335482, teldec = -24.256593
2025-11-03T10:12:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4335482 -24.256593
2025-11-03T10:12:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4335482 -24.256593
2025-11-03T10:12:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4335482 -24.256593
2025-11-03T10:12:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4335482;-24.256593;50.108526;89.993047;50.08601;90.12017;12.45331;2460982.84206906;10.20962389;1.3;_15.4084593637769 -24.1656062068951
2025-11-03T10:12:34.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4084593637769     dec_j2k = -24.1656062068951
2025-11-03T10:12:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46819)
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:34.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:34.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:34.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84206903, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968538959787416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4335482, telescope_dec=-24.256593, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45331, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4084593637769, telescope_dec_j2k=-24.1656062068951, observability=1)
2025-11-03T10:12:35.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:35
2025-11-03T10:12:35.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:35.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6225106716156006s
2025-11-03T10:12:35.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6225106716156006
2025-11-03T10:12:35.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:35
2025-11-03T10:12:35.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:35.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6456460952758789s
2025-11-03T10:12:35.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6456460952758789
2025-11-03T10:12:36.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:36
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839427471160889s
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4340992;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45386;2460982.84209222;10.21017333;1.3;_
2025-11-03T10:12:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4340992;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45386;2460982.84209222;10.21017333;1.3;_
2025-11-03T10:12:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:36.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4340992, teldec = -24.256592
2025-11-03T10:12:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4340992 -24.256592
2025-11-03T10:12:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4340992 -24.256592
2025-11-03T10:12:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4340992 -24.256592
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4340992;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45386;2460982.84209226;10.21017333;1.3;_15.4090099564612 -24.1656209090241
2025-11-03T10:12:36.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4090099564612     dec_j2k = -24.1656209090241
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968542569862269;171.162362694745;_
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968542569862269;171.162362694745;_
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46215)
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84209222, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968542569862269, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4340992, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45386, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4090099564612, telescope_dec_j2k=-24.1656209090241, observability=1)
2025-11-03T10:12:37.616 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:37
2025-11-03T10:12:37.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:37.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8284969329833984s
2025-11-03T10:12:37.616 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8284969329833984
2025-11-03T10:12:37.671 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:37
2025-11-03T10:12:37.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:37.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.88393235206604s
2025-11-03T10:12:37.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.88393235206604
2025-11-03T10:12:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:38
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775192737579346s
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4346599;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45442;2460982.84211536;10.2107325;1.3;_
2025-11-03T10:12:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4346599;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45442;2460982.84211536;10.2107325;1.3;_
2025-11-03T10:12:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4346599, teldec = -24.256592
2025-11-03T10:12:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4346599 -24.256592
2025-11-03T10:12:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4346599 -24.256592
2025-11-03T10:12:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4346599 -24.256592
2025-11-03T10:12:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4346599;-24.256592;50.108526;89.993047;50.08601;90.12017;12.45442;2460982.84211538;10.2107325;1.3;_15.4095702418822 -24.1656368895289
2025-11-03T10:12:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4095702418822     dec_j2k = -24.1656368895289
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968547383295405;171.162351965909;_
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968547383295405;171.162351965909;_
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38011)
2025-11-03T10:12:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:38.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:38.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84211536, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968547383295405, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108526, telescope_az=89.993047, telescope_ra=15.4346599, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45442, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4095702418822, telescope_dec_j2k=-24.1656368895289, observability=1)
2025-11-03T10:12:39.503 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:39
2025-11-03T10:12:39.503 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:39.503 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7168033123016357s
2025-11-03T10:12:39.503 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7168033123016357
2025-11-03T10:12:39.527 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:39
2025-11-03T10:12:39.528 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:39.528 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7413208484649658s
2025-11-03T10:12:39.528 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7413208484649658
2025-11-03T10:12:39.879 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:39.879 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Status age = 1.0929982662200928s
2025-11-03T10:12:39.879 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:39.879 [DEBUG] [Thread-88841 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:39.879 [DEBUG] [Thread-88841 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:39.880 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:39.880 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:39.880 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:39.881 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:39.882 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 17;15.434968;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45473;2460982.84212826;10.21103972;1.3;_
2025-11-03T10:12:39.882 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response 17;15.434968;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45473;2460982.84212826;10.21103972;1.3;_
2025-11-03T10:12:39.882 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:39.882 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:39.882 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:39.883 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:39.883 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:39.883 [INFO] [Thread-88841 (handle)] [driver.py] [get_status()] Telra = 15.434968, teldec = -24.256592
2025-11-03T10:12:39.883 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] UnCookCoordinates 15.434968 -24.256592
2025-11-03T10:12:39.883 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.434968 -24.256592
2025-11-03T10:12:39.883 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.434968 -24.256592
2025-11-03T10:12:39.884 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 17;15.434968;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45473;2460982.84212829;10.21103972;1.3;_15.4098781141012 -24.1656456715323
2025-11-03T10:12:39.884 [INFO] [Thread-88841 (handle)] [driver.py] [get_status()] ra_j2k = 15.4098781141012     dec_j2k = -24.1656456715323
2025-11-03T10:12:39.884 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:39.884 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:39.884 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 140;0.0968543773220553;171.162357330327;_
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response 140;0.0968543773220553;171.162357330327;_
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:39.885 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:39.886 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:39.887 [DEBUG] [Thread-88841 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:39.887 [DEBUG] [Thread-88841 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:39.887 [DEBUG] [Thread-88841 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51391)
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:39.893 [DEBUG] [Thread-88841 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:39.900 [DEBUG] [Thread-88841 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:39.900 [DEBUG] [Thread-88841 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:39.901 [DEBUG] [Thread-88841 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:39.901 [INFO] [Thread-88841 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84212826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968543773220553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.434968, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45473, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4098781141012, telescope_dec_j2k=-24.1656456715323, observability=1)
2025-11-03T10:12:40.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:40
2025-11-03T10:12:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8771042823791504s
2025-11-03T10:12:40.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8771042823791504
2025-11-03T10:12:41.604 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:41
2025-11-03T10:12:41.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:41.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7032358646392822s
2025-11-03T10:12:41.604 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:41.604 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:41.606 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4354713;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45523;2460982.84214823;10.21154167;1.3;_
2025-11-03T10:12:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4354713;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45523;2460982.84214823;10.21154167;1.3;_
2025-11-03T10:12:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:41.608 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4354713, teldec = -24.256592
2025-11-03T10:12:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4354713 -24.256592
2025-11-03T10:12:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4354713 -24.256592
2025-11-03T10:12:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4354713 -24.256592
2025-11-03T10:12:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4354713;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45523;2460982.84214825;10.21154167;1.3;_15.4103810420478 -24.1656600187607
2025-11-03T10:12:41.609 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4103810420478     dec_j2k = -24.1656600187607
2025-11-03T10:12:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968543773220553;171.162357330327;_
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968543773220553;171.162357330327;_
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:41.610 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:41.611 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:41.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:41.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:41.612 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32823)
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:41.616 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:41.623 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:41.623 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:41.623 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:41.624 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:41.624 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84214823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968543773220553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4354713, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45523, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4103810420478, telescope_dec_j2k=-24.1656600187607, observability=1)
2025-11-03T10:12:41.646 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:41
2025-11-03T10:12:41.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:41.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022221088409423828s
2025-11-03T10:12:41.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022221088409423828
2025-11-03T10:12:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:42
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1409077644348145s
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4357699;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45553;2460982.84216164;10.21183944;1.3;_
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4357699;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45553;2460982.84216164;10.21183944;1.3;_
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4357699, teldec = -24.256592
2025-11-03T10:12:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4357699 -24.256592
2025-11-03T10:12:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4357699 -24.256592
2025-11-03T10:12:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4357699 -24.256592
2025-11-03T10:12:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4357699;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45553;2460982.84216167;10.21183944;1.3;_15.4106794213383 -24.1656685315052
2025-11-03T10:12:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4106794213383     dec_j2k = -24.1656685315052
2025-11-03T10:12:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968546179937121;171.162362694745;_
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968546179937121;171.162362694745;_
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48647)
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:42.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:42.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84216164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968546179937121, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4357699, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45553, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4106794213383, telescope_dec_j2k=-24.1656685315052, observability=1)
2025-11-03T10:12:43.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:43
2025-11-03T10:12:43.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:43.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6147263050079346s
2025-11-03T10:12:43.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6147263050079346
2025-11-03T10:12:43.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:43
2025-11-03T10:12:43.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:43.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6369996070861816s
2025-11-03T10:12:43.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6369996070861816
2025-11-03T10:12:44.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:44
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838697910308838s
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4363306;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45609;2460982.8421848;10.21239861;1.3;_
2025-11-03T10:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4363306;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45609;2460982.8421848;10.21239861;1.3;_
2025-11-03T10:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:44.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4363306, teldec = -24.256592
2025-11-03T10:12:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4363306 -24.256592
2025-11-03T10:12:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4363306 -24.256592
2025-11-03T10:12:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4363306 -24.256592
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4363306;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45609;2460982.84218483;10.21239861;1.3;_15.4112397069461 -24.1656845179477
2025-11-03T10:12:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4112397069461     dec_j2k = -24.1656845179477
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968538959787416;171.162351965909;_
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45053)
2025-11-03T10:12:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8421848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968538959787416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4363306, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4112397069461, telescope_dec_j2k=-24.1656845179477, observability=1)
2025-11-03T10:12:45.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:45
2025-11-03T10:12:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113677024841309s
2025-11-03T10:12:45.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113677024841309
2025-11-03T10:12:45.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:45
2025-11-03T10:12:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6323647499084473s
2025-11-03T10:12:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6323647499084473
2025-11-03T10:12:46.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:46
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9774219989776611s
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:46.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:46.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.436891;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45665;2460982.84220789;10.2129575;1.3;_
2025-11-03T10:12:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.436891;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45665;2460982.84220789;10.2129575;1.3;_
2025-11-03T10:12:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:46.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:46.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.436891, teldec = -24.256592
2025-11-03T10:12:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.436891 -24.256592
2025-11-03T10:12:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.436891 -24.256592
2025-11-03T10:12:46.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.436891 -24.256592
2025-11-03T10:12:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.436891;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45665;2460982.84220792;10.2129575;1.3;_15.4117996928383 -24.165700497827
2025-11-03T10:12:46.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4117996928383     dec_j2k = -24.165700497827
2025-11-03T10:12:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:46.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968544575459409;171.162357330327;_
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968544575459409;171.162357330327;_
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:46.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:46.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:46.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41997)
2025-11-03T10:12:46.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:46.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:46.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:46.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:46.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84220789, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968544575459409, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.436891, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45665, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4117996928383, telescope_dec_j2k=-24.165700497827, observability=1)
2025-11-03T10:12:47.129 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:47.129 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:47.129 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:47.129 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:47.129 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:47.131 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:12:47.132 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:12:47.133 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:47.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:47
2025-11-03T10:12:47.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:47.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6273260116577148s
2025-11-03T10:12:47.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6273260116577148
2025-11-03T10:12:47.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:47
2025-11-03T10:12:47.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:47.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6663303375244141s
2025-11-03T10:12:47.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6663303375244141
2025-11-03T10:12:48.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:48
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.011631727218628s
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:48.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:48.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:48.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4374506;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45721;2460982.84223142;10.21351556;1.3;_
2025-11-03T10:12:48.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4374506;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45721;2460982.84223142;10.21351556;1.3;_
2025-11-03T10:12:48.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:48.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:48.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:48.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:48.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:48.796 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4374506, teldec = -24.256592
2025-11-03T10:12:48.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4374506 -24.256592
2025-11-03T10:12:48.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4374506 -24.256592
2025-11-03T10:12:48.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4374506 -24.256592
2025-11-03T10:12:48.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4374506;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45721;2460982.84223145;10.21351556;1.3;_15.4123588793842 -24.1657164568796
2025-11-03T10:12:48.797 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4123588793842     dec_j2k = -24.1657164568796
2025-11-03T10:12:48.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:48.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:48.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545377698265;171.162357330327;_
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545377698265;171.162357330327;_
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:48.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:48.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:48.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:48.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:48.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49983)
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:48.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:48.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:48.814 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84223142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545377698265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4374506, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45721, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4123588793842, telescope_dec_j2k=-24.1657164568796, observability=1)
2025-11-03T10:12:49.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:49
2025-11-03T10:12:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6350586414337158s
2025-11-03T10:12:49.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6350586414337158
2025-11-03T10:12:49.471 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:49
2025-11-03T10:12:49.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:49.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6571049690246582s
2025-11-03T10:12:49.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6571049690246582
2025-11-03T10:12:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:50
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9494779109954834s
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4380015;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45777;2460982.84225422;10.214065;1.3;_
2025-11-03T10:12:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4380015;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45777;2460982.84225422;10.214065;1.3;_
2025-11-03T10:12:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:50.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4380015, teldec = -24.256592
2025-11-03T10:12:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4380015 -24.256592
2025-11-03T10:12:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4380015 -24.256592
2025-11-03T10:12:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4380015 -24.256592
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4380015;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45777;2460982.84225426;10.214065;1.3;_15.4129093724191 -24.1657321697571
2025-11-03T10:12:50.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4129093724191     dec_j2k = -24.1657321697571
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968548987773118;171.162357330327;_
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968548987773118;171.162357330327;_
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54145)
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:50.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:50.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:50.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:50.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:50.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:50.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:50.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84225422, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968548987773118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4380015, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45777, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4129093724191, telescope_dec_j2k=-24.1657321697571, observability=1)
2025-11-03T10:12:51.049 [DEBUG] [Thread-88842 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:51.049 [DEBUG] [Thread-88842 (handle)] [server.py] [get_status()] Status age = 0.2659945487976074s
2025-11-03T10:12:51.049 [DEBUG] [Thread-88842 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2659945487976074
2025-11-03T10:12:51.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:51
2025-11-03T10:12:51.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:51.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6182520389556885s
2025-11-03T10:12:51.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6182520389556885
2025-11-03T10:12:51.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:51
2025-11-03T10:12:51.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:51.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6403048038482666s
2025-11-03T10:12:51.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6403048038482666
2025-11-03T10:12:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:52
2025-11-03T10:12:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817359447479248s
2025-11-03T10:12:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4385622;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45833;2460982.84227738;10.21462417;1.3;_
2025-11-03T10:12:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4385622;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45833;2460982.84227738;10.21462417;1.3;_
2025-11-03T10:12:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4385622, teldec = -24.256592
2025-11-03T10:12:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4385622 -24.256592
2025-11-03T10:12:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4385622 -24.256592
2025-11-03T10:12:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4385622 -24.256592
2025-11-03T10:12:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4385622;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45833;2460982.84227741;10.21462417;1.3;_15.4134696582766 -24.1657481641258
2025-11-03T10:12:52.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4134696582766     dec_j2k = -24.1657481641258
2025-11-03T10:12:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545377698265;171.162357330327;_
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545377698265;171.162357330327;_
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42689)
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:52.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:52.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:52.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84227738, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545377698265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4385622, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4134696582766, telescope_dec_j2k=-24.1657481641258, observability=1)
2025-11-03T10:12:53.651 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:53
2025-11-03T10:12:53.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:53.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8664698600769043s
2025-11-03T10:12:53.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8664698600769043
2025-11-03T10:12:53.677 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:53
2025-11-03T10:12:53.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:53.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.892686128616333s
2025-11-03T10:12:53.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.892686128616333
2025-11-03T10:12:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:54
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782686233520508s
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4391215;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45889;2460982.84230052;10.21518194;1.3;_
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4391215;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45889;2460982.84230052;10.21518194;1.3;_
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4391215, teldec = -24.256592
2025-11-03T10:12:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4391215 -24.256592
2025-11-03T10:12:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4391215 -24.256592
2025-11-03T10:12:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4391215 -24.256592
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4391215;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45889;2460982.84230054;10.21518194;1.3;_15.4140285452308 -24.1657641205417
2025-11-03T10:12:54.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4140285452308     dec_j2k = -24.1657641205417
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968546581056549;171.162357330327;_
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968546581056549;171.162357330327;_
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47433)
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84230052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968546581056549, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4391215, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45889, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4140285452308, telescope_dec_j2k=-24.1657641205417, observability=1)
2025-11-03T10:12:55.654 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:55
2025-11-03T10:12:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8740622997283936s
2025-11-03T10:12:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8740622997283936
2025-11-03T10:12:55.678 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:55
2025-11-03T10:12:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8976724147796631s
2025-11-03T10:12:55.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8976724147796631
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.7694625854492188s
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:56.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:56.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:56.552 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4396165;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45938;2460982.8423212;10.21567556;1.3;_
2025-11-03T10:12:56.552 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.4396165;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45938;2460982.8423212;10.21567556;1.3;_
2025-11-03T10:12:56.552 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:56.552 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:56.553 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:56.553 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:56.553 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:56.553 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.4396165, teldec = -24.256592
2025-11-03T10:12:56.554 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4396165 -24.256592
2025-11-03T10:12:56.554 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4396165 -24.256592
2025-11-03T10:12:56.554 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4396165 -24.256592
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4396165;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45938;2460982.84232123;10.21567556;1.3;_15.4145231797229 -24.165778244178
2025-11-03T10:12:56.555 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.4145231797229     dec_j2k = -24.165778244178
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968544976578837;171.162357330327;_
2025-11-03T10:12:56.555 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968544976578837;171.162357330327;_
2025-11-03T10:12:56.556 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:56.556 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:56.556 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:56.556 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:56.557 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49687)
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:56.559 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:56.566 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:56.567 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:56.567 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:56.567 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:56.567 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8423212, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968544976578837, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4396165, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4145231797229, telescope_dec_j2k=-24.165778244178, observability=1)
2025-11-03T10:12:56.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:56
2025-11-03T10:12:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1981511116027832s
2025-11-03T10:12:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1981511116027832
2025-11-03T10:12:57.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:57
2025-11-03T10:12:57.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:57.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8368771076202393s
2025-11-03T10:12:57.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8368771076202393
2025-11-03T10:12:57.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:57
2025-11-03T10:12:57.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:57.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8586668968200684s
2025-11-03T10:12:57.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8586668968200684
2025-11-03T10:12:57.974 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.407818078994751s
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:57.975 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:57.976 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:57.976 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4400087;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45977;2460982.8423377;10.21606667;1.3;_
2025-11-03T10:12:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4400087;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45977;2460982.8423377;10.21606667;1.3;_
2025-11-03T10:12:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:57.977 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:57.978 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4400087, teldec = -24.256592
2025-11-03T10:12:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4400087 -24.256592
2025-11-03T10:12:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4400087 -24.256592
2025-11-03T10:12:57.978 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4400087 -24.256592
2025-11-03T10:12:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4400087;-24.256592;50.108525;89.993047;50.08601;90.12017;12.45977;2460982.84233772;10.21606667;1.3;_15.4149150901572 -24.1657894357645
2025-11-03T10:12:57.979 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4149150901572     dec_j2k = -24.1657894357645
2025-11-03T10:12:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:57.979 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968543773220553;171.162362694745;_
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968543773220553;171.162362694745;_
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41127)
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:57.982 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:57.989 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:57.990 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8423377, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968543773220553, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4400087, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.45977, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4149150901572, telescope_dec_j2k=-24.1657894357645, observability=1)
2025-11-03T10:12:58.089 [DEBUG] [Thread-88843 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:58.089 [DEBUG] [Thread-88843 (handle)] [server.py] [get_status()] Status age = 0.09902763366699219s
2025-11-03T10:12:58.089 [DEBUG] [Thread-88843 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09902763366699219
2025-11-03T10:12:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:58
2025-11-03T10:12:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.775517463684082s
2025-11-03T10:12:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.775517463684082
2025-11-03T10:12:59.657 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:59
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6670689582824707s
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:12:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:12:59.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:12:59.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:12:59.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.440485;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46025;2460982.84235716;10.21654167;1.3;_
2025-11-03T10:12:59.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.440485;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46025;2460982.84235716;10.21654167;1.3;_
2025-11-03T10:12:59.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:12:59.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:12:59.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:12:59.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:59.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:12:59.661 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.440485, teldec = -24.256592
2025-11-03T10:12:59.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.440485 -24.256592
2025-11-03T10:12:59.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.440485 -24.256592
2025-11-03T10:12:59.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.440485 -24.256592
2025-11-03T10:12:59.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.440485;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46025;2460982.8423572;10.21654167;1.3;_15.4153910385409 -24.1658030284877
2025-11-03T10:12:59.662 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4153910385409     dec_j2k = -24.1658030284877
2025-11-03T10:12:59.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:12:59.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:12:59.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968542168742841;171.162357330327;_
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968542168742841;171.162357330327;_
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:59.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:12:59.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:12:59.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:59.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:12:59.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44199)
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:12:59.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:12:59.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:12:59.676 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:12:59.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:12:59.676 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84235716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968542168742841, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.440485, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46025, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4153910385409, telescope_dec_j2k=-24.1658030284877, observability=1)
2025-11-03T10:12:59.698 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:12:59
2025-11-03T10:12:59.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:12:59.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022470474243164062s
2025-11-03T10:12:59.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022470474243164062
2025-11-03T10:13:00.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:00
2025-11-03T10:13:00.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0879287719726562s
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4407928;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46056;2460982.84236997;10.21684861;1.3;_
2025-11-03T10:13:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4407928;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46056;2460982.84236997;10.21684861;1.3;_
2025-11-03T10:13:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:00.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4407928, teldec = -24.256592
2025-11-03T10:13:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4407928 -24.256592
2025-11-03T10:13:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4407928 -24.256592
2025-11-03T10:13:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4407928 -24.256592
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4407928;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46056;2460982.84236999;10.21684861;1.3;_15.4156986113394 -24.1658118132954
2025-11-03T10:13:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4156986113394     dec_j2k = -24.1658118132954
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545377698265;171.162351965909;_
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545377698265;171.162351965909;_
2025-11-03T10:13:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50295)
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:00.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:00.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84236997, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545377698265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4407928, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4156986113394, telescope_dec_j2k=-24.1658118132954, observability=1)
2025-11-03T10:13:01.647 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:01
2025-11-03T10:13:01.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:01.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8653247356414795s
2025-11-03T10:13:01.647 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8653247356414795
2025-11-03T10:13:01.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:01
2025-11-03T10:13:01.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:01.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8868317604064941s
2025-11-03T10:13:01.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8868317604064941
2025-11-03T10:13:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:02
2025-11-03T10:13:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853315353393555s
2025-11-03T10:13:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4413446;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46111;2460982.84239315;10.21739889;1.3;_
2025-11-03T10:13:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4413446;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46111;2460982.84239315;10.21739889;1.3;_
2025-11-03T10:13:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4413446, teldec = -24.256592
2025-11-03T10:13:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4413446 -24.256592
2025-11-03T10:13:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4413446 -24.256592
2025-11-03T10:13:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4413446 -24.256592
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4413446;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46111;2460982.84239318;10.21739889;1.3;_15.4162500040777 -24.165827563519
2025-11-03T10:13:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4162500040777     dec_j2k = -24.165827563519
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968546179937121;171.162351965909;_
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968546179937121;171.162351965909;_
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45393)
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:02.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84239315, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968546179937121, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4413446, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4162500040777, telescope_dec_j2k=-24.165827563519, observability=1)
2025-11-03T10:13:03.649 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:03
2025-11-03T10:13:03.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:03.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.864558219909668s
2025-11-03T10:13:03.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.864558219909668
2025-11-03T10:13:03.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:03
2025-11-03T10:13:03.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:03.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8876049518585205s
2025-11-03T10:13:03.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8876049518585205
2025-11-03T10:13:04.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:04
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9882030487060547s
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4419053;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46167;2460982.84241638;10.21795806;1.3;_
2025-11-03T10:13:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4419053;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46167;2460982.84241638;10.21795806;1.3;_
2025-11-03T10:13:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:04.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4419053, teldec = -24.256592
2025-11-03T10:13:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4419053 -24.256592
2025-11-03T10:13:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4419053 -24.256592
2025-11-03T10:13:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4419053 -24.256592
2025-11-03T10:13:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4419053;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46167;2460982.8424164;10.21795806;1.3;_15.4168102903096 -24.1658435697515
2025-11-03T10:13:04.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4168102903096     dec_j2k = -24.1658435697515
2025-11-03T10:13:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968550191131402;171.162357330327;_
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968550191131402;171.162357330327;_
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:04.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:04.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:04.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47791)
2025-11-03T10:13:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:04.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:04.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:04.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84241638, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968550191131402, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4419053, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4168102903096, telescope_dec_j2k=-24.1658435697515, observability=1)
2025-11-03T10:13:05.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:05
2025-11-03T10:13:05.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:05.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8979194164276123s
2025-11-03T10:13:05.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8979194164276123
2025-11-03T10:13:05.721 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:05
2025-11-03T10:13:05.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:05.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9260048866271973s
2025-11-03T10:13:05.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9260048866271973
2025-11-03T10:13:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:06
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.971083402633667s
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4424651;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46223;2460982.84243944;10.21851639;1.3;_
2025-11-03T10:13:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4424651;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46223;2460982.84243944;10.21851639;1.3;_
2025-11-03T10:13:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:06.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4424651, teldec = -24.256592
2025-11-03T10:13:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4424651 -24.256592
2025-11-03T10:13:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4424651 -24.256592
2025-11-03T10:13:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4424651 -24.256592
2025-11-03T10:13:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4424651;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46223;2460982.84243947;10.21851639;1.3;_15.4173696772683 -24.1658595522757
2025-11-03T10:13:06.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4173696772683     dec_j2k = -24.1658595522757
2025-11-03T10:13:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968548987773118;171.162346601491;_
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968548987773118;171.162346601491;_
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52703)
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:06.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:06.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84243944, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968548987773118, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4424651, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4173696772683, telescope_dec_j2k=-24.1658595522757, observability=1)
2025-11-03T10:13:07.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:07
2025-11-03T10:13:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6121053695678711s
2025-11-03T10:13:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6121053695678711
2025-11-03T10:13:07.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:07
2025-11-03T10:13:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.633441686630249s
2025-11-03T10:13:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.633441686630249
2025-11-03T10:13:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:08
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9783515930175781s
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4430166;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46278;2460982.84246259;10.21906639;1.3;_
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4430166;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46278;2460982.84246259;10.21906639;1.3;_
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4430166, teldec = -24.256592
2025-11-03T10:13:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4430166 -24.256592
2025-11-03T10:13:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4430166 -24.256592
2025-11-03T10:13:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4430166 -24.256592
2025-11-03T10:13:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4430166;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46278;2460982.84246263;10.21906639;1.3;_15.4179207704122 -24.1658752997695
2025-11-03T10:13:08.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4179207704122     dec_j2k = -24.1658752997695
2025-11-03T10:13:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545377698265;171.162351965909;_
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545377698265;171.162351965909;_
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60447)
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:08.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84246259, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545377698265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4430166, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46278, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4179207704122, telescope_dec_j2k=-24.1658752997695, observability=1)
2025-11-03T10:13:09.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:09
2025-11-03T10:13:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6075458526611328s
2025-11-03T10:13:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6075458526611328
2025-11-03T10:13:09.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:09
2025-11-03T10:13:09.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:09.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6290490627288818s
2025-11-03T10:13:09.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6290490627288818
2025-11-03T10:13:10.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:10
2025-11-03T10:13:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808807373046875s
2025-11-03T10:13:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4435772;-24.256586;50.108525;89.993036;50.08601;90.12016;12.46334;2460982.84248576;10.21962556;1.3;_
2025-11-03T10:13:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4435772;-24.256586;50.108525;89.993036;50.08601;90.12016;12.46334;2460982.84248576;10.21962556;1.3;_
2025-11-03T10:13:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:10.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4435772, teldec = -24.256586
2025-11-03T10:13:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4435772 -24.256586
2025-11-03T10:13:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4435772 -24.256586
2025-11-03T10:13:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4435772 -24.256586
2025-11-03T10:13:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4435772;-24.256586;50.108525;89.993036;50.08601;90.12016;12.46334;2460982.84248579;10.21962556;1.3;_15.4184809578207 -24.1658853092308
2025-11-03T10:13:10.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4184809578207     dec_j2k = -24.1658853092308
2025-11-03T10:13:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545778817693;171.162357330327;_
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545778817693;171.162357330327;_
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:10.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:10.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:10.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:10.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:10.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48155)
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:10.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:10.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84248576, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545778817693, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993036, telescope_ra=15.4435772, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4184809578207, telescope_dec_j2k=-24.1658853092308, observability=1)
2025-11-03T10:13:11.646 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:11
2025-11-03T10:13:11.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:11.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8581573963165283s
2025-11-03T10:13:11.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8581573963165283
2025-11-03T10:13:11.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:11
2025-11-03T10:13:11.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:11.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8796951770782471s
2025-11-03T10:13:11.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8796951770782471
2025-11-03T10:13:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:12
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.974665880203247s
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4441369;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4639;2460982.84250884;10.22018361;1.3;_
2025-11-03T10:13:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4441369;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4639;2460982.84250884;10.22018361;1.3;_
2025-11-03T10:13:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:12.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4441369, teldec = -24.256592
2025-11-03T10:13:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4441369 -24.256592
2025-11-03T10:13:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4441369 -24.256592
2025-11-03T10:13:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4441369 -24.256592
2025-11-03T10:13:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4441369;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4639;2460982.84250888;10.22018361;1.3;_15.4190402441247 -24.1659072946611
2025-11-03T10:13:12.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4190402441247     dec_j2k = -24.1659072946611
2025-11-03T10:13:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968544976578837;171.162357330327;_
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968544976578837;171.162357330327;_
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:12.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49071)
2025-11-03T10:13:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:12.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:12.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:12.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84250884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968544976578837, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4441369, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4639, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4190402441247, telescope_dec_j2k=-24.1659072946611, observability=1)
2025-11-03T10:13:13.652 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:13
2025-11-03T10:13:13.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:13.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.869213342666626s
2025-11-03T10:13:13.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.869213342666626
2025-11-03T10:13:13.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:13
2025-11-03T10:13:13.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:13.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8909120559692383s
2025-11-03T10:13:13.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8909120559692383
2025-11-03T10:13:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:14
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836466312408447s
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.444689;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46445;2460982.84253205;10.22073417;1.3;_
2025-11-03T10:13:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.444689;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46445;2460982.84253205;10.22073417;1.3;_
2025-11-03T10:13:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:14.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.444689, teldec = -24.256592
2025-11-03T10:13:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.444689 -24.256592
2025-11-03T10:13:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.444689 -24.256592
2025-11-03T10:13:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.444689 -24.256592
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.444689;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46445;2460982.84253207;10.22073417;1.3;_15.4195919370105 -24.1659230651235
2025-11-03T10:13:14.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4195919370105     dec_j2k = -24.1659230651235
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968545778817693;171.162362694745;_
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968545778817693;171.162362694745;_
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60197)
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84253205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968545778817693, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.444689, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46445, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4195919370105, telescope_dec_j2k=-24.1659230651235, observability=1)
2025-11-03T10:13:14.833 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:13:14
2025-11-03T10:13:14.833 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:14.833 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.04867291450500488s
2025-11-03T10:13:14.833 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04867291450500488
2025-11-03T10:13:15.654 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:15
2025-11-03T10:13:15.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:15.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8697609901428223s
2025-11-03T10:13:15.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8697609901428223
2025-11-03T10:13:15.676 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:15
2025-11-03T10:13:15.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:15.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8915166854858398s
2025-11-03T10:13:15.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8915166854858398
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Status age = 1.2550013065338135s
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:16.039 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:16.040 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:16.040 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:16.040 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:16.041 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:16.042 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 17;15.4450536;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46482;2460982.84254678;10.22109778;1.3;_
2025-11-03T10:13:16.042 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response 17;15.4450536;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46482;2460982.84254678;10.22109778;1.3;_
2025-11-03T10:13:16.042 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:16.042 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:16.042 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:16.043 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:16.043 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:16.043 [INFO] [Thread-88844 (handle)] [driver.py] [get_status()] Telra = 15.4450536, teldec = -24.256592
2025-11-03T10:13:16.043 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4450536 -24.256592
2025-11-03T10:13:16.043 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4450536 -24.256592
2025-11-03T10:13:16.043 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4450536 -24.256592
2025-11-03T10:13:16.044 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 17;15.4450536;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46482;2460982.84254681;10.22109778;1.3;_15.4199562681908 -24.1659334807977
2025-11-03T10:13:16.044 [INFO] [Thread-88844 (handle)] [driver.py] [get_status()] ra_j2k = 15.4199562681908     dec_j2k = -24.1659334807977
2025-11-03T10:13:16.044 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:16.044 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:16.044 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 140;0.0968540564265129;171.162357330327;_
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response 140;0.0968540564265129;171.162357330327;_
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:16.045 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:16.046 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:16.047 [DEBUG] [Thread-88844 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:16.047 [DEBUG] [Thread-88844 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:16.047 [DEBUG] [Thread-88844 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:16.048 [DEBUG] [Thread-88844 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44769)
2025-11-03T10:13:16.048 [DEBUG] [Thread-88844 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:16.048 [DEBUG] [Thread-88844 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:16.048 [DEBUG] [Thread-88844 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:16.049 [DEBUG] [Thread-88844 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:16.049 [DEBUG] [Thread-88844 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:16.056 [DEBUG] [Thread-88844 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:16.056 [INFO] [Thread-88844 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84254678, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968540564265129, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4450536, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46482, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4199562681908, telescope_dec_j2k=-24.1659334807977, observability=1)
2025-11-03T10:13:16.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:16
2025-11-03T10:13:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7137725353240967s
2025-11-03T10:13:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7137725353240967
2025-11-03T10:13:17.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:17
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3396778106689453s
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:17.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:17.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:17.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:17.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:17.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4454182;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46518;2460982.84256248;10.22146139;1.3;_
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4454182;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46518;2460982.84256248;10.22146139;1.3;_
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:17.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:17.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:17.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:17.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4454182, teldec = -24.256592
2025-11-03T10:13:17.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4454182 -24.256592
2025-11-03T10:13:17.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4454182 -24.256592
2025-11-03T10:13:17.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4454182 -24.256592
2025-11-03T10:13:17.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4454182;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46518;2460982.8425625;10.22146139;1.3;_15.4203205993977 -24.1659438973119
2025-11-03T10:13:17.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4203205993977     dec_j2k = -24.1659438973119
2025-11-03T10:13:17.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:17.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:17.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968542168742841;171.162357330327;_
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968542168742841;171.162357330327;_
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:17.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:17.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37603)
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:17.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:17.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:17.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:17.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:17.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:17.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:17.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:17.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:17.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:17.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:17.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84256248, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968542168742841, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4454182, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46518, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4203205993977, telescope_dec_j2k=-24.1659438973119, observability=1)
2025-11-03T10:13:17.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:17
2025-11-03T10:13:17.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:17.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02174544334411621s
2025-11-03T10:13:17.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02174544334411621
2025-11-03T10:13:18.354 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:13:18.354 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.9400534629821777s
2025-11-03T10:13:18.354 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.9400534629821777
2025-11-03T10:13:18.354 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5211150646209717 seconds ago
2025-11-03T10:13:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:18
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.351865530014038s
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4458018;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46557;2460982.84257832;10.22184389;1.3;_
2025-11-03T10:13:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4458018;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46557;2460982.84257832;10.22184389;1.3;_
2025-11-03T10:13:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4458018, teldec = -24.256592
2025-11-03T10:13:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4458018 -24.256592
2025-11-03T10:13:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4458018 -24.256592
2025-11-03T10:13:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4458018 -24.256592
2025-11-03T10:13:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4458018;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46557;2460982.84257834;10.22184389;1.3;_15.4207039166259 -24.1659548575573
2025-11-03T10:13:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4207039166259     dec_j2k = -24.1659548575573
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096855059225083;171.162368059163;_
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096855059225083;171.162368059163;_
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36331)
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84257832, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096855059225083, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4458018, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46557, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4207039166259, telescope_dec_j2k=-24.1659548575573, observability=1)
2025-11-03T10:13:19.651 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:19
2025-11-03T10:13:19.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:19.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8656661510467529s
2025-11-03T10:13:19.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8656661510467529
2025-11-03T10:13:19.675 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:19
2025-11-03T10:13:19.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:19.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8904719352722168s
2025-11-03T10:13:19.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8904719352722168
2025-11-03T10:13:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:20
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979809284210205s
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4463636;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46613;2460982.84260147;10.22240417;1.3;_
2025-11-03T10:13:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4463636;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46613;2460982.84260147;10.22240417;1.3;_
2025-11-03T10:13:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4463636, teldec = -24.256592
2025-11-03T10:13:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4463636 -24.256592
2025-11-03T10:13:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4463636 -24.256592
2025-11-03T10:13:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4463636 -24.256592
2025-11-03T10:13:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4463636;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46613;2460982.84260149;10.22240417;1.3;_15.4212653025466 -24.1659709110229
2025-11-03T10:13:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4212653025466     dec_j2k = -24.1659709110229
2025-11-03T10:13:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968551795609114;171.162357330327;_
2025-11-03T10:13:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968551795609114;171.162357330327;_
2025-11-03T10:13:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56173)
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:20.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:20.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:20.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:20.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:20.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:20.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84260147, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968551795609114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4463636, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:12:21.112036', telescope_ra_j2k=15.4212653025466, telescope_dec_j2k=-24.1659709110229, observability=1)
2025-11-03T10:13:21.254 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:21.254 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:21.254 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:21.254 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:21.254 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:21.255 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:21.255 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:21.256 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:21.256 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:21.257 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:21.257 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:13:21.257 [INFO] [ThreadPoolExecutor-3449_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:13:21.257 [INFO] [ThreadPoolExecutor-3449_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:13:21.565 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:21
2025-11-03T10:13:21.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:21.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.78291916847229s
2025-11-03T10:13:21.565 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.78291916847229
2025-11-03T10:13:21.587 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:21
2025-11-03T10:13:21.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:21.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8051855564117432s
2025-11-03T10:13:21.587 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8051855564117432
2025-11-03T10:13:22.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:22
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801409244537354s
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4469243;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46669;2460982.84262458;10.22296333;1.3;_
2025-11-03T10:13:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4469243;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46669;2460982.84262458;10.22296333;1.3;_
2025-11-03T10:13:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4469243, teldec = -24.256592
2025-11-03T10:13:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4469243 -24.256592
2025-11-03T10:13:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4469243 -24.256592
2025-11-03T10:13:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4469243 -24.256592
2025-11-03T10:13:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4469243;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46669;2460982.84262461;10.22296333;1.3;_15.421825589341 -24.1659869350438
2025-11-03T10:13:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.421825589341     dec_j2k = -24.1659869350438
2025-11-03T10:13:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096854858665369;171.162362694745;_
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096854858665369;171.162362694745;_
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:22.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42889)
2025-11-03T10:13:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:22.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:22.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:22.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84262458, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096854858665369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4469243, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46669, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.421825589341, telescope_dec_j2k=-24.1659869350438, observability=1)
2025-11-03T10:13:23.649 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:23
2025-11-03T10:13:23.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:23.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8677463531494141s
2025-11-03T10:13:23.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8677463531494141
2025-11-03T10:13:23.673 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:23
2025-11-03T10:13:23.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:23.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8911747932434082s
2025-11-03T10:13:23.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8911747932434082
2025-11-03T10:13:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:24
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833388328552246s
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4474763;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46724;2460982.84264777;10.22351389;1.3;_
2025-11-03T10:13:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4474763;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46724;2460982.84264777;10.22351389;1.3;_
2025-11-03T10:13:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4474763, teldec = -24.256592
2025-11-03T10:13:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4474763 -24.256592
2025-11-03T10:13:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4474763 -24.256592
2025-11-03T10:13:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4474763 -24.256592
2025-11-03T10:13:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4474763;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46724;2460982.84264779;10.22351389;1.3;_15.4223771826084 -24.1660027123704
2025-11-03T10:13:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4223771826084     dec_j2k = -24.1660027123704
2025-11-03T10:13:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968546581056549;171.162368059163;_
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968546581056549;171.162368059163;_
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:24.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36129)
2025-11-03T10:13:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:24.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:24.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84264777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968546581056549, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4474763, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46724, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4223771826084, telescope_dec_j2k=-24.1660027123704, observability=1)
2025-11-03T10:13:25.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:25
2025-11-03T10:13:25.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:25.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6072521209716797s
2025-11-03T10:13:25.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6072521209716797
2025-11-03T10:13:25.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:25
2025-11-03T10:13:25.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:25.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6291744709014893s
2025-11-03T10:13:25.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6291744709014893
2025-11-03T10:13:26.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:26
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782264232635498s
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4480379;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4678;2460982.84267093;10.22407389;1.3;_
2025-11-03T10:13:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4480379;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4678;2460982.84267093;10.22407389;1.3;_
2025-11-03T10:13:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4480379, teldec = -24.256592
2025-11-03T10:13:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4480379 -24.256592
2025-11-03T10:13:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4480379 -24.256592
2025-11-03T10:13:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4480379 -24.256592
2025-11-03T10:13:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4480379;-24.256592;50.108525;89.993047;50.08601;90.12017;12.4678;2460982.84267095;10.22407389;1.3;_15.4229383688646 -24.1660187660598
2025-11-03T10:13:26.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4229383688646     dec_j2k = -24.1660187660598
2025-11-03T10:13:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096855059225083;171.162357330327;_
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096855059225083;171.162357330327;_
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55235)
2025-11-03T10:13:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:26.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84267093, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096855059225083, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4480379, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4229383688646, telescope_dec_j2k=-24.1660187660598, observability=1)
2025-11-03T10:13:27.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:27
2025-11-03T10:13:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.620689868927002s
2025-11-03T10:13:27.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.620689868927002
2025-11-03T10:13:27.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:27
2025-11-03T10:13:27.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:27.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6438558101654053s
2025-11-03T10:13:27.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6438558101654053
2025-11-03T10:13:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:28
2025-11-03T10:13:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983426570892334s
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4485894;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46835;2460982.84269406;10.22462389;1.3;_
2025-11-03T10:13:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4485894;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46835;2460982.84269406;10.22462389;1.3;_
2025-11-03T10:13:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4485894, teldec = -24.256592
2025-11-03T10:13:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4485894 -24.256592
2025-11-03T10:13:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4485894 -24.256592
2025-11-03T10:13:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4485894 -24.256592
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4485894;-24.256592;50.108525;89.993047;50.08601;90.12017;12.46835;2460982.8426941;10.22462389;1.3;_15.4234894626232 -24.1660345329722
2025-11-03T10:13:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4234894626232     dec_j2k = -24.1660345329722
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968549388892546;171.162357330327;_
2025-11-03T10:13:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968549388892546;171.162357330327;_
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36113)
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:28.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84269406, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968549388892546, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108525, telescope_az=89.993047, telescope_ra=15.4485894, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46835, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4234894626232, telescope_dec_j2k=-24.1660345329722, observability=1)
2025-11-03T10:13:29.650 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:29
2025-11-03T10:13:29.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:29.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8690533638000488s
2025-11-03T10:13:29.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8690533638000488
2025-11-03T10:13:29.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:29
2025-11-03T10:13:29.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:29.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8907420635223389s
2025-11-03T10:13:29.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8907420635223389
2025-11-03T10:13:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:30
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.985180139541626s
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4491509;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46891;2460982.84271722;10.22518389;1.3;_
2025-11-03T10:13:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4491509;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46891;2460982.84271722;10.22518389;1.3;_
2025-11-03T10:13:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4491509, teldec = -24.256592
2025-11-03T10:13:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4491509 -24.256592
2025-11-03T10:13:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4491509 -24.256592
2025-11-03T10:13:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4491509 -24.256592
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4491509;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46891;2460982.84271726;10.22518389;1.3;_15.4240505490782 -24.1660505877484
2025-11-03T10:13:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4240505490782     dec_j2k = -24.1660505877484
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968547383295405;171.162346601491;_
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968547383295405;171.162346601491;_
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58603)
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:30.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:30.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:30.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:30.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84271722, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968547383295405, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4491509, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46891, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4240505490782, telescope_dec_j2k=-24.1660505877484, observability=1)
2025-11-03T10:13:31.653 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:31
2025-11-03T10:13:31.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:31.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8673925399780273s
2025-11-03T10:13:31.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8673925399780273
2025-11-03T10:13:31.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:31
2025-11-03T10:13:31.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:31.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8883016109466553s
2025-11-03T10:13:31.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8883016109466553
2025-11-03T10:13:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:32
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977419137954712s
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4497027;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46947;2460982.84274034;10.22573417;1.3;_
2025-11-03T10:13:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4497027;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46947;2460982.84274034;10.22573417;1.3;_
2025-11-03T10:13:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4497027, teldec = -24.256592
2025-11-03T10:13:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4497027 -24.256592
2025-11-03T10:13:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4497027 -24.256592
2025-11-03T10:13:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4497027 -24.256592
2025-11-03T10:13:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4497027;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46947;2460982.84274037;10.22573417;1.3;_15.4246019427387 -24.1660663671145
2025-11-03T10:13:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4246019427387     dec_j2k = -24.1660663671145
2025-11-03T10:13:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096855460344511;171.162357330327;_
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096855460344511;171.162357330327;_
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58419)
2025-11-03T10:13:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84274034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096855460344511, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4497027, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46947, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4246019427387, telescope_dec_j2k=-24.1660663671145, observability=1)
2025-11-03T10:13:33.653 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:33
2025-11-03T10:13:33.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:33.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8716998100280762s
2025-11-03T10:13:33.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8716998100280762
2025-11-03T10:13:33.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:33
2025-11-03T10:13:33.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:33.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8931233882904053s
2025-11-03T10:13:33.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8931233882904053
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Status age = 1.316640853881836s
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:34.098 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:34.099 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 17;15.4500673;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46983;2460982.84275578;10.22609778;1.3;_
2025-11-03T10:13:34.100 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response 17;15.4500673;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46983;2460982.84275578;10.22609778;1.3;_
2025-11-03T10:13:34.100 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:34.100 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:34.100 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:34.101 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:34.101 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:34.101 [INFO] [Thread-88845 (handle)] [driver.py] [get_status()] Telra = 15.4500673, teldec = -24.256592
2025-11-03T10:13:34.101 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4500673 -24.256592
2025-11-03T10:13:34.101 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4500673 -24.256592
2025-11-03T10:13:34.101 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4500673 -24.256592
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 17;15.4500954;-24.256592;50.108524;89.993047;50.08601;90.12017;12.46986;2460982.84275581;10.22612583;1.3;_15.4249662742848 -24.1660767943319
2025-11-03T10:13:34.102 [INFO] [Thread-88845 (handle)] [driver.py] [get_status()] ra_j2k = 15.4249662742848     dec_j2k = -24.1660767943319
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 140;0.0968556207922823;171.162351965909;_
2025-11-03T10:13:34.102 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response 140;0.0968556207922823;171.162351965909;_
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:34.103 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:34.104 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:34.104 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:34.104 [DEBUG] [Thread-88845 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:34.104 [DEBUG] [Thread-88845 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:34.104 [DEBUG] [Thread-88845 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49693)
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:34.109 [DEBUG] [Thread-88845 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:34.116 [DEBUG] [Thread-88845 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:34.117 [DEBUG] [Thread-88845 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:34.117 [DEBUG] [Thread-88845 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:34.117 [DEBUG] [Thread-88845 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:34.117 [INFO] [Thread-88845 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84275578, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968556207922823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4500673, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.46983, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4249662742848, telescope_dec_j2k=-24.1660767943319, observability=1)
2025-11-03T10:13:34.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:34
2025-11-03T10:13:34.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:34.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6573529243469238s
2025-11-03T10:13:34.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6573529243469238
2025-11-03T10:13:35.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:35
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5764095783233643s
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:35.693 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:35.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:35.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4505166;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47028;2460982.84277425;10.22654583;1.3;_
2025-11-03T10:13:35.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4505166;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47028;2460982.84277425;10.22654583;1.3;_
2025-11-03T10:13:35.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:35.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:35.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:35.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:35.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:35.697 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4505166, teldec = -24.256592
2025-11-03T10:13:35.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4505166 -24.256592
2025-11-03T10:13:35.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4505166 -24.256592
2025-11-03T10:13:35.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4505166 -24.256592
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4505166;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47028;2460982.84277428;10.22654583;1.3;_15.425415243503 -24.1660896450433
2025-11-03T10:13:35.698 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.425415243503     dec_j2k = -24.1660896450433
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096854858665369;171.162351965909;_
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096854858665369;171.162351965909;_
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:35.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:35.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:35.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:35.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:35.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:35.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57783)
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:35.703 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:35.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:35.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:35.710 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:35.710 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:35.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:35.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:35.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:35.711 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:35.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:35.711 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84277425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096854858665369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4505166, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47028, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.425415243503, telescope_dec_j2k=-24.1660896450433, observability=1)
2025-11-03T10:13:35.733 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:35
2025-11-03T10:13:35.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:35.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022158384323120117s
2025-11-03T10:13:35.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022158384323120117
2025-11-03T10:13:36.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:36
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0582771301269531s
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4508249;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47059;2460982.8427867;10.22685333;1.3;_
2025-11-03T10:13:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4508249;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47059;2460982.8427867;10.22685333;1.3;_
2025-11-03T10:13:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:36.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4508249, teldec = -24.256592
2025-11-03T10:13:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4508249 -24.256592
2025-11-03T10:13:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4508249 -24.256592
2025-11-03T10:13:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4508249 -24.256592
2025-11-03T10:13:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4508249;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47059;2460982.84278672;10.22685333;1.3;_15.425723316551 -24.1660984636619
2025-11-03T10:13:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.425723316551     dec_j2k = -24.1660984636619
2025-11-03T10:13:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968551795609114;171.162346601491;_
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968551795609114;171.162346601491;_
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57443)
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:36.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:36.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8427867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968551795609114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4508249, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47059, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.425723316551, telescope_dec_j2k=-24.1660984636619, observability=1)
2025-11-03T10:13:37.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:37
2025-11-03T10:13:37.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:37.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6135416030883789s
2025-11-03T10:13:37.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6135416030883789
2025-11-03T10:13:37.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:37
2025-11-03T10:13:37.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:37.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6351370811462402s
2025-11-03T10:13:37.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6351370811462402
2025-11-03T10:13:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:38
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9748785495758057s
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.451377;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47114;2460982.8428098;10.22740389;1.3;_
2025-11-03T10:13:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.451377;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47114;2460982.8428098;10.22740389;1.3;_
2025-11-03T10:13:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.451377, teldec = -24.256592
2025-11-03T10:13:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.451377 -24.256592
2025-11-03T10:13:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.451377 -24.256592
2025-11-03T10:13:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.451377 -24.256592
2025-11-03T10:13:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.451377;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47114;2460982.84280983;10.22740389;1.3;_15.4262750101757 -24.1661142574382
2025-11-03T10:13:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4262750101757     dec_j2k = -24.1661142574382
2025-11-03T10:13:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968557812400535;171.162368059163;_
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968557812400535;171.162368059163;_
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33225)
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:38.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:38.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8428098, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968557812400535, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.451377, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47114, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4262750101757, telescope_dec_j2k=-24.1661142574382, observability=1)
2025-11-03T10:13:39.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:39
2025-11-03T10:13:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6144695281982422s
2025-11-03T10:13:39.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6144695281982422
2025-11-03T10:13:39.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:39
2025-11-03T10:13:39.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:39.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6355817317962646s
2025-11-03T10:13:39.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6355817317962646
2025-11-03T10:13:40.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:40
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793121814727783s
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4519383;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4717;2460982.84283293;10.22796361;1.3;_
2025-11-03T10:13:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4519383;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4717;2460982.84283293;10.22796361;1.3;_
2025-11-03T10:13:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4519383, teldec = -24.256592
2025-11-03T10:13:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4519383 -24.256592
2025-11-03T10:13:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4519383 -24.256592
2025-11-03T10:13:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4519383 -24.256592
2025-11-03T10:13:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4519383;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4717;2460982.84283295;10.22796361;1.3;_15.4268358970913 -24.1661303163672
2025-11-03T10:13:40.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4268358970913     dec_j2k = -24.1661303163672
2025-11-03T10:13:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968551795609114;171.162357330327;_
2025-11-03T10:13:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968551795609114;171.162357330327;_
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:40.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36147)
2025-11-03T10:13:40.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:40.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:40.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:40.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84283293, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968551795609114, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4519383, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4717, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4268358970913, telescope_dec_j2k=-24.1661303163672, observability=1)
2025-11-03T10:13:41.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:41
2025-11-03T10:13:41.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:41.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6149208545684814s
2025-11-03T10:13:41.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6149208545684814
2025-11-03T10:13:41.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:41
2025-11-03T10:13:41.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:41.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6367909908294678s
2025-11-03T10:13:41.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6367909908294678
2025-11-03T10:13:42.133 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.133 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.133 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:42.133 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:42.133 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:13:42.134 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:42.135 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:42.136 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:13:42.137 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:42.138 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Park
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:13:42.139 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:13:42.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 29;15.4523215;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47208;2460982.84284884;10.22834583;1.3;_Park Command Successful
2025-11-03T10:13:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:42
2025-11-03T10:13:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984057903289795s
2025-11-03T10:13:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4524898;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47225;2460982.84285609;10.22851361;1.3;_
2025-11-03T10:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4524898;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47225;2460982.84285609;10.22851361;1.3;_
2025-11-03T10:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4524898, teldec = -24.256592
2025-11-03T10:13:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4524898 -24.256592
2025-11-03T10:13:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4524898 -24.256592
2025-11-03T10:13:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4524898 -24.256592
2025-11-03T10:13:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4524898;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47225;2460982.84285611;10.22851361;1.3;_15.4273869912806 -24.1661460968508
2025-11-03T10:13:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4273869912806     dec_j2k = -24.1661460968508
2025-11-03T10:13:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968554202325682;171.162357330327;_
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968554202325682;171.162357330327;_
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36845)
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84285609, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968554202325682, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4524898, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47225, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4273869912806, telescope_dec_j2k=-24.1661460968508, observability=1)
2025-11-03T10:13:43.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:13:43.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:13:43.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:13:43.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:13:43.140 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:13:43.645 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:43
2025-11-03T10:13:43.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:43.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8621425628662109s
2025-11-03T10:13:43.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8621425628662109
2025-11-03T10:13:43.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:43
2025-11-03T10:13:43.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:43.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8836226463317871s
2025-11-03T10:13:43.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8836226463317871
2025-11-03T10:13:44.141 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:13:44.141 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:13:44.141 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:13:44.142 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:13:44.142 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:13:44.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:44
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824497699737549s
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4530515;-24.256598;50.108524;89.993057;50.08601;90.12018;12.47281;2460982.84287926;10.22907361;1.3;_
2025-11-03T10:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4530515;-24.256598;50.108524;89.993057;50.08601;90.12018;12.47281;2460982.84287926;10.22907361;1.3;_
2025-11-03T10:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4530515, teldec = -24.256598
2025-11-03T10:13:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4530515 -24.256598
2025-11-03T10:13:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4530515 -24.256598
2025-11-03T10:13:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4530515 -24.256598
2025-11-03T10:13:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4530515;-24.256598;50.108524;89.993057;50.08601;90.12018;12.47281;2460982.84287928;10.22907361;1.3;_15.4279482771095 -24.1661681710086
2025-11-03T10:13:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4279482771095     dec_j2k = -24.1661681710086
2025-11-03T10:13:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968552998967398;171.162362694745;_
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968552998967398;171.162362694745;_
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59341)
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:44.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:44.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84287926, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968552998967398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993057, telescope_ra=15.4530515, telescope_dec=-24.256598, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47281, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4279482771095, telescope_dec_j2k=-24.1661681710086, observability=1)
2025-11-03T10:13:45.142 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:13:45.142 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:13:45.142 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:13:45.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:13:45.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:13:45.655 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:45
2025-11-03T10:13:45.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:45.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8737533092498779s
2025-11-03T10:13:45.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8737533092498779
2025-11-03T10:13:45.676 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:45
2025-11-03T10:13:45.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:45.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8952891826629639s
2025-11-03T10:13:45.677 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8952891826629639
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:46.143 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:46.144 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:46.144 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:46.144 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:13:46.145 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:46.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:46
2025-11-03T10:13:46.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.989175796508789s
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4536031;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47337;2460982.84290245;10.22962389;1.3;_
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4536031;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47337;2460982.84290245;10.22962389;1.3;_
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:46.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4536031, teldec = -24.256592
2025-11-03T10:13:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4536031 -24.256592
2025-11-03T10:13:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4536031 -24.256592
2025-11-03T10:13:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4536031 -24.256592
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4536031;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47337;2460982.84290249;10.22962389;1.3;_15.4284994722657 -24.1661779583818
2025-11-03T10:13:46.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4284994722657     dec_j2k = -24.1661779583818
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968547383295405;171.162346601491;_
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968547383295405;171.162346601491;_
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37811)
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:46.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:46.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84290245, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968547383295405, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4536031, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47337, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4284994722657, telescope_dec_j2k=-24.1661779583818, observability=1)
2025-11-03T10:13:47.146 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:47.146 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:47.146 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:47.146 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:47.146 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:13:47.147 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:13:47.148 [DEBUG] [ThreadPoolExecutor-3448_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:47.148 [INFO] [ThreadPoolExecutor-3448_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:13:47.646 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:47
2025-11-03T10:13:47.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:47.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.854651689529419s
2025-11-03T10:13:47.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.854651689529419
2025-11-03T10:13:47.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:47
2025-11-03T10:13:47.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:47.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8758742809295654s
2025-11-03T10:13:47.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8758742809295654
2025-11-03T10:13:48.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:48
2025-11-03T10:13:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779002666473389s
2025-11-03T10:13:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:48.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4541644;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47393;2460982.84292559;10.23018361;1.3;_
2025-11-03T10:13:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4541644;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47393;2460982.84292559;10.23018361;1.3;_
2025-11-03T10:13:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:48.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4541644, teldec = -24.256592
2025-11-03T10:13:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4541644 -24.256592
2025-11-03T10:13:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4541644 -24.256592
2025-11-03T10:13:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4541644 -24.256592
2025-11-03T10:13:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4541644;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47393;2460982.84292561;10.23018361;1.3;_15.4290603594316 -24.1661940251879
2025-11-03T10:13:48.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4290603594316     dec_j2k = -24.1661940251879
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968550191131402;171.162351965909;_
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968550191131402;171.162351965909;_
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48771)
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:48.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:48.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:48.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:48.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:48.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:48.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84292559, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968550191131402, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4541644, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4290603594316, telescope_dec_j2k=-24.1661940251879, observability=1)
2025-11-03T10:13:49.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:49
2025-11-03T10:13:49.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:49.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6177246570587158s
2025-11-03T10:13:49.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6177246570587158
2025-11-03T10:13:49.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:49
2025-11-03T10:13:49.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:49.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6390762329101562s
2025-11-03T10:13:49.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6390762329101562
2025-11-03T10:13:50.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:50
2025-11-03T10:13:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834043979644775s
2025-11-03T10:13:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4547253;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47449;2460982.84294873;10.23074306;1.3;_
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4547253;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47449;2460982.84294873;10.23074306;1.3;_
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:50.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4547253, teldec = -24.256592
2025-11-03T10:13:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4547253 -24.256592
2025-11-03T10:13:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4547253 -24.256592
2025-11-03T10:13:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4547253 -24.256592
2025-11-03T10:13:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4547253;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47449;2460982.84294875;10.23074306;1.3;_15.4296208469548 -24.1662100825274
2025-11-03T10:13:50.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4296208469548     dec_j2k = -24.1662100825274
2025-11-03T10:13:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968553400086826;171.162362694745;_
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968553400086826;171.162362694745;_
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39473)
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:50.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:50.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84294873, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968553400086826, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4547253, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47449, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4296208469548, telescope_dec_j2k=-24.1662100825274, observability=1)
2025-11-03T10:13:51.467 [DEBUG] [Thread-88846 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:51.467 [DEBUG] [Thread-88846 (handle)] [server.py] [get_status()] Status age = 0.6776154041290283s
2025-11-03T10:13:51.467 [DEBUG] [Thread-88846 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6776154041290283
2025-11-03T10:13:51.652 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:51
2025-11-03T10:13:51.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:51.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8631742000579834s
2025-11-03T10:13:51.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8631742000579834
2025-11-03T10:13:51.673 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:51
2025-11-03T10:13:51.673 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:51.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8844780921936035s
2025-11-03T10:13:51.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8844780921936035
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Status age = 1.4439170360565186s
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:52.233 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:52.234 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:52.235 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 17;15.4551367;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4749;2460982.84296568;10.23115333;1.3;_
2025-11-03T10:13:52.235 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response 17;15.4551367;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4749;2460982.84296568;10.23115333;1.3;_
2025-11-03T10:13:52.235 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:52.235 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:52.235 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:52.236 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:52.236 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:52.236 [INFO] [Thread-88847 (handle)] [driver.py] [get_status()] Telra = 15.4551367, teldec = -24.256592
2025-11-03T10:13:52.236 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4551367 -24.256592
2025-11-03T10:13:52.237 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4551367 -24.256592
2025-11-03T10:13:52.237 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4551367 -24.256592
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 17;15.4551367;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4749;2460982.84296571;10.23115333;1.3;_15.430031944458 -24.1662218612692
2025-11-03T10:13:52.238 [INFO] [Thread-88847 (handle)] [driver.py] [get_status()] ra_j2k = 15.430031944458     dec_j2k = -24.1662218612692
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 140;0.0968553400086826;171.162357330327;_
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response 140;0.0968553400086826;171.162357330327;_
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:52.238 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:52.239 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:52.240 [DEBUG] [Thread-88847 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:52.240 [DEBUG] [Thread-88847 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:52.240 [DEBUG] [Thread-88847 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34933)
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:52.245 [DEBUG] [Thread-88847 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:52.252 [DEBUG] [Thread-88847 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:52.253 [INFO] [Thread-88847 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84296568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968553400086826, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4551367, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4749, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.430031944458, telescope_dec_j2k=-24.1662218612692, observability=1)
2025-11-03T10:13:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:52
2025-11-03T10:13:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5109260082244873s
2025-11-03T10:13:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5109260082244873
2025-11-03T10:13:53.649 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:53
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3966903686523438s
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:53.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:53.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4555295;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47529;2460982.84298206;10.231545;1.3;_
2025-11-03T10:13:53.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4555295;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47529;2460982.84298206;10.231545;1.3;_
2025-11-03T10:13:53.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:53.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:53.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:53.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:53.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:53.652 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4555295, teldec = -24.256592
2025-11-03T10:13:53.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4555295 -24.256592
2025-11-03T10:13:53.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4555295 -24.256592
2025-11-03T10:13:53.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4555295 -24.256592
2025-11-03T10:13:53.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4555295;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47529;2460982.84298209;10.231545;1.3;_15.4304244556691 -24.1662331084717
2025-11-03T10:13:53.653 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4304244556691     dec_j2k = -24.1662331084717
2025-11-03T10:13:53.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:53.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:53.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968555004564539;171.162362694745;_
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968555004564539;171.162362694745;_
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:53.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:53.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:53.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:53.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:53.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49481)
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:53.658 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:53.665 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:53.665 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:53.665 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:53.665 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:53.665 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:53.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:53.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:53.666 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:53.666 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:53.666 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84298206, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968555004564539, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4555295, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47529, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4304244556691, telescope_dec_j2k=-24.1662331084717, observability=1)
2025-11-03T10:13:53.689 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:53
2025-11-03T10:13:53.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:53.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023340225219726562s
2025-11-03T10:13:53.689 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023340225219726562
2025-11-03T10:13:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:54
2025-11-03T10:13:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0998084545135498s
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4558384;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4756;2460982.84299499;10.23185306;1.3;_
2025-11-03T10:13:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4558384;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4756;2460982.84299499;10.23185306;1.3;_
2025-11-03T10:13:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:54.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4558384, teldec = -24.256592
2025-11-03T10:13:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4558384 -24.256592
2025-11-03T10:13:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4558384 -24.256592
2025-11-03T10:13:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4558384 -24.256592
2025-11-03T10:13:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4558384;-24.256592;50.108524;89.993047;50.08601;90.12017;12.4756;2460982.84299501;10.23185306;1.3;_15.4307331285858 -24.1662419540139
2025-11-03T10:13:54.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4307331285858     dec_j2k = -24.1662419540139
2025-11-03T10:13:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096855059225083;171.162346601491;_
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096855059225083;171.162346601491;_
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:54.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48833)
2025-11-03T10:13:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:54.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:54.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:54.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:54.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:54.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84299499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096855059225083, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4558384, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4756, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4307331285858, telescope_dec_j2k=-24.1662419540139, observability=1)
2025-11-03T10:13:55.654 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:55
2025-11-03T10:13:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8703553676605225s
2025-11-03T10:13:55.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8703553676605225
2025-11-03T10:13:55.660 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:55.660 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8763630390167236s
2025-11-03T10:13:55.660 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8763630390167236
2025-11-03T10:13:55.675 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:55
2025-11-03T10:13:55.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:55.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8915202617645264s
2025-11-03T10:13:55.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8915202617645264
2025-11-03T10:13:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:56
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804039001464844s
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:56.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4563899;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47615;2460982.84301814;10.23240306;1.3;_
2025-11-03T10:13:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4563899;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47615;2460982.84301814;10.23240306;1.3;_
2025-11-03T10:13:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4563899, teldec = -24.256592
2025-11-03T10:13:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4563899 -24.256592
2025-11-03T10:13:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4563899 -24.256592
2025-11-03T10:13:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4563899 -24.256592
2025-11-03T10:13:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4563899;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47615;2460982.84301816;10.23240306;1.3;_15.4312842232062 -24.1662577480512
2025-11-03T10:13:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4312842232062     dec_j2k = -24.1662577480512
2025-11-03T10:13:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968559416878247;171.162362694745;_
2025-11-03T10:13:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968559416878247;171.162362694745;_
2025-11-03T10:13:56.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33789)
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:56.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:56.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84301814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968559416878247, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4563899, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47615, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4312842232062, telescope_dec_j2k=-24.1662577480512, observability=1)
2025-11-03T10:13:57.648 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:57
2025-11-03T10:13:57.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:57.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8624260425567627s
2025-11-03T10:13:57.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8624260425567627
2025-11-03T10:13:57.670 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:57
2025-11-03T10:13:57.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:57.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8841233253479004s
2025-11-03T10:13:57.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8841233253479004
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3511254787445068s
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4567832;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47655;2460982.84303403;10.23279528;1.3;_
2025-11-03T10:13:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4567832;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47655;2460982.84303403;10.23279528;1.3;_
2025-11-03T10:13:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:58.141 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4567832, teldec = -24.256592
2025-11-03T10:13:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4567832 -24.256592
2025-11-03T10:13:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4567832 -24.256592
2025-11-03T10:13:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4567832 -24.256592
2025-11-03T10:13:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4567832;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47655;2460982.84303405;10.23279528;1.3;_15.4316772341486 -24.1662690126752
2025-11-03T10:13:58.142 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4316772341486     dec_j2k = -24.1662690126752
2025-11-03T10:13:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968556207922823;171.162357330327;_
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968556207922823;171.162357330327;_
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:58.143 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41929)
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:58.147 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:58.155 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:58.155 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84303403, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968556207922823, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4567832, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47655, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4316772341486, telescope_dec_j2k=-24.1662690126752, observability=1)
2025-11-03T10:13:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:58
2025-11-03T10:13:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6095695495605469s
2025-11-03T10:13:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6095695495605469
2025-11-03T10:13:59.652 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:59
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4966809749603271s
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:13:59.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4572041;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47697;2460982.84305154;10.233215;1.3;_
2025-11-03T10:13:59.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4572041;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47697;2460982.84305154;10.233215;1.3;_
2025-11-03T10:13:59.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:13:59.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:13:59.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:13:59.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:59.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:13:59.655 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4572041, teldec = -24.256592
2025-11-03T10:13:59.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4572041 -24.256592
2025-11-03T10:13:59.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4572041 -24.256592
2025-11-03T10:13:59.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4572041 -24.256592
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4572041;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47697;2460982.84305157;10.233215;1.3;_15.4320978248406 -24.1662810688779
2025-11-03T10:13:59.656 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4320978248406     dec_j2k = -24.1662810688779
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968555806803395;171.162362694745;_
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968555806803395;171.162362694745;_
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:59.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:13:59.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:13:59.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:59.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:13:59.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59839)
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:13:59.664 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:13:59.671 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:13:59.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84305154, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968555806803395, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4572041, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4320978248406, telescope_dec_j2k=-24.1662810688779, observability=1)
2025-11-03T10:13:59.694 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:13:59
2025-11-03T10:13:59.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:13:59.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02247762680053711s
2025-11-03T10:13:59.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02247762680053711
2025-11-03T10:14:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:00
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0926661491394043s
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4575124;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47728;2460982.84306442;10.2335225;1.3;_
2025-11-03T10:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4575124;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47728;2460982.84306442;10.2335225;1.3;_
2025-11-03T10:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4575124, teldec = -24.256592
2025-11-03T10:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4575124 -24.256592
2025-11-03T10:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4575124 -24.256592
2025-11-03T10:14:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4575124 -24.256592
2025-11-03T10:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4575124;-24.256592;50.108524;89.993047;50.08601;90.12017;12.47728;2460982.84306446;10.2335225;1.3;_15.4324058983018 -24.1662899004891
2025-11-03T10:14:00.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4324058983018     dec_j2k = -24.1662899004891
2025-11-03T10:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968552998967398;171.162362694745;_
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968552998967398;171.162362694745;_
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40261)
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:00.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84306442, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968552998967398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993047, telescope_ra=15.4575124, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47728, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4324058983018, telescope_dec_j2k=-24.1662899004891, observability=1)
2025-11-03T10:14:01.702 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:01
2025-11-03T10:14:01.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:01.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9169995784759521s
2025-11-03T10:14:01.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9169995784759521
2025-11-03T10:14:01.729 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:01
2025-11-03T10:14:01.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:01.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9442780017852783s
2025-11-03T10:14:01.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9442780017852783
2025-11-03T10:14:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:02
2025-11-03T10:14:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796037673950195s
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4580645;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47783;2460982.84308757;10.23407306;1.3;_
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4580645;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47783;2460982.84308757;10.23407306;1.3;_
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4580645, teldec = -24.256592
2025-11-03T10:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4580645 -24.256592
2025-11-03T10:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4580645 -24.256592
2025-11-03T10:14:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4580645 -24.256592
2025-11-03T10:14:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4580645;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47783;2460982.84308759;10.23407306;1.3;_15.4329575926665 -24.1663057175292
2025-11-03T10:14:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4329575926665     dec_j2k = -24.1663057175292
2025-11-03T10:14:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968554202325682;171.162346601491;_
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968554202325682;171.162346601491;_
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42647)
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:02.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84308757, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968554202325682, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4580645, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47783, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4329575926665, telescope_dec_j2k=-24.1663057175292, observability=1)
2025-11-03T10:14:03.657 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:03
2025-11-03T10:14:03.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:03.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8715178966522217s
2025-11-03T10:14:03.657 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8715178966522217
2025-11-03T10:14:03.678 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:03
2025-11-03T10:14:03.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:03.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8927426338195801s
2025-11-03T10:14:03.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8927426338195801
2025-11-03T10:14:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:04
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791135787963867s
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:04.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4586257;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47839;2460982.84311073;10.23463278;1.3;_
2025-11-03T10:14:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4586257;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47839;2460982.84311073;10.23463278;1.3;_
2025-11-03T10:14:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:04.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4586257, teldec = -24.256592
2025-11-03T10:14:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4586257 -24.256592
2025-11-03T10:14:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4586257 -24.256592
2025-11-03T10:14:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4586257 -24.256592
2025-11-03T10:14:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4586257;-24.256592;50.108524;89.993046;50.08601;90.12017;12.47839;2460982.84311075;10.23463278;1.3;_15.433518380408 -24.1663217972401
2025-11-03T10:14:04.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.433518380408     dec_j2k = -24.1663217972401
2025-11-03T10:14:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968551394489686;171.162368059163;_
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968551394489686;171.162368059163;_
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45187)
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:04.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:04.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:04.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84311073, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968551394489686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4586257, telescope_dec=-24.256592, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47839, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.433518380408, telescope_dec_j2k=-24.1663217972401, observability=1)
2025-11-03T10:14:05.645 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:05
2025-11-03T10:14:05.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:05.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8624269962310791s
2025-11-03T10:14:05.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8624269962310791
2025-11-03T10:14:05.672 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:05
2025-11-03T10:14:05.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:05.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8888700008392334s
2025-11-03T10:14:05.672 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8888700008392334
2025-11-03T10:14:06.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:06
2025-11-03T10:14:06.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805638790130615s
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4591772;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47894;2460982.84313387;10.23518278;1.3;_
2025-11-03T10:14:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4591772;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47894;2460982.84313387;10.23518278;1.3;_
2025-11-03T10:14:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:06.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4591772, teldec = -24.256591
2025-11-03T10:14:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4591772 -24.256591
2025-11-03T10:14:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4591772 -24.256591
2025-11-03T10:14:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4591772 -24.256591
2025-11-03T10:14:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4591772;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47894;2460982.84313389;10.23518278;1.3;_15.4340694754899 -24.1663366009802
2025-11-03T10:14:06.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4340694754899     dec_j2k = -24.1663366009802
2025-11-03T10:14:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968559015758819;171.162357330327;_
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968559015758819;171.162357330327;_
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37009)
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:06.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:06.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:06.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:06.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:06.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:06.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84313387, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968559015758819, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4591772, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47894, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4340694754899, telescope_dec_j2k=-24.1663366009802, observability=1)
2025-11-03T10:14:07.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:07
2025-11-03T10:14:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6198384761810303s
2025-11-03T10:14:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6198384761810303
2025-11-03T10:14:07.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:07
2025-11-03T10:14:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.641381025314331s
2025-11-03T10:14:07.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.641381025314331
2025-11-03T10:14:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:08
2025-11-03T10:14:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9845776557922363s
2025-11-03T10:14:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.459739;-24.256591;50.108524;89.993046;50.08601;90.12017;12.4795;2460982.84315701;10.23574306;1.3;_
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.459739;-24.256591;50.108524;89.993046;50.08601;90.12017;12.4795;2460982.84315701;10.23574306;1.3;_
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:08.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.459739, teldec = -24.256591
2025-11-03T10:14:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.459739 -24.256591
2025-11-03T10:14:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.459739 -24.256591
2025-11-03T10:14:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.459739 -24.256591
2025-11-03T10:14:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.459739;-24.256591;50.108524;89.993046;50.08601;90.12017;12.4795;2460982.84315704;10.23574306;1.3;_15.4346308629161 -24.1663527018169
2025-11-03T10:14:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4346308629161     dec_j2k = -24.1663527018169
2025-11-03T10:14:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968551394489686;171.162357330327;_
2025-11-03T10:14:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968551394489686;171.162357330327;_
2025-11-03T10:14:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55037)
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:08.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:08.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84315701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968551394489686, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.459739, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4795, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4346308629161, telescope_dec_j2k=-24.1663527018169, observability=1)
2025-11-03T10:14:09.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:09
2025-11-03T10:14:09.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:09.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6108369827270508s
2025-11-03T10:14:09.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6108369827270508
2025-11-03T10:14:09.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:09
2025-11-03T10:14:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6383614540100098s
2025-11-03T10:14:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6383614540100098
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Status age = 1.516676664352417s
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:10.301 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:10.302 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:10.303 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 17;15.4601521;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47992;2460982.8431748;10.236155;1.3;_
2025-11-03T10:14:10.303 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response 17;15.4601521;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47992;2460982.8431748;10.236155;1.3;_
2025-11-03T10:14:10.303 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:10.303 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:10.303 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:10.304 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:10.304 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:10.304 [INFO] [Thread-88848 (handle)] [driver.py] [get_status()] Telra = 15.4601521, teldec = -24.256591
2025-11-03T10:14:10.304 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4601521 -24.256591
2025-11-03T10:14:10.304 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4601521 -24.256591
2025-11-03T10:14:10.304 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4601521 -24.256591
2025-11-03T10:14:10.305 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 17;15.4601521;-24.256591;50.108524;89.993046;50.08601;90.12017;12.47992;2460982.84317483;10.236155;1.3;_15.4350436595848 -24.1663645422713
2025-11-03T10:14:10.305 [INFO] [Thread-88848 (handle)] [driver.py] [get_status()] ra_j2k = 15.4350436595848     dec_j2k = -24.1663645422713
2025-11-03T10:14:10.305 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:10.305 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:10.305 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 140;0.0968561422475387;171.162357330327;_
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response 140;0.0968561422475387;171.162357330327;_
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:10.306 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:10.307 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:10.309 [DEBUG] [Thread-88848 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:10.309 [DEBUG] [Thread-88848 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:10.309 [DEBUG] [Thread-88848 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60273)
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:10.314 [DEBUG] [Thread-88848 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:10.321 [DEBUG] [Thread-88848 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:10.321 [DEBUG] [Thread-88848 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:10.321 [DEBUG] [Thread-88848 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:10.321 [DEBUG] [Thread-88848 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:10.321 [DEBUG] [Thread-88848 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:10.322 [DEBUG] [Thread-88848 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:10.322 [DEBUG] [Thread-88848 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:10.322 [DEBUG] [Thread-88848 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:10.322 [DEBUG] [Thread-88848 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:10.322 [INFO] [Thread-88848 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8431748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968561422475387, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4601521, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.47992, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4350436595848, telescope_dec_j2k=-24.1663645422713, observability=1)
2025-11-03T10:14:10.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:10
2025-11-03T10:14:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4451117515563965s
2025-11-03T10:14:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4451117515563965
2025-11-03T10:14:11.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:11
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0740346908569336s
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4604608;-24.256585;50.108524;89.993036;50.08601;90.12016;12.48022;2460982.84318748;10.23646306;1.3;_
2025-11-03T10:14:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4604608;-24.256585;50.108524;89.993036;50.08601;90.12016;12.48022;2460982.84318748;10.23646306;1.3;_
2025-11-03T10:14:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:11.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4604608, teldec = -24.256585
2025-11-03T10:14:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4604608 -24.256585
2025-11-03T10:14:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4604608 -24.256585
2025-11-03T10:14:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4604608 -24.256585
2025-11-03T10:14:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4604608;-24.256585;50.108524;89.993036;50.08601;90.12016;12.48022;2460982.8431875;10.23646306;1.3;_15.4353521338537 -24.1663673912258
2025-11-03T10:14:11.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4353521338537     dec_j2k = -24.1663673912258
2025-11-03T10:14:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968560620236531;171.162362694745;_
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968560620236531;171.162362694745;_
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60765)
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:11.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:11.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:11.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:11.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84318748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968560620236531, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993036, telescope_ra=15.4604608, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48022, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4353521338537, telescope_dec_j2k=-24.1663673912258, observability=1)
2025-11-03T10:14:11.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:11
2025-11-03T10:14:11.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:11.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021599531173706055s
2025-11-03T10:14:11.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021599531173706055
2025-11-03T10:14:12.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:12
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3565254211425781s
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4608538;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48062;2460982.84320336;10.23685472;1.3;_
2025-11-03T10:14:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4608538;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48062;2460982.84320336;10.23685472;1.3;_
2025-11-03T10:14:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:12.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4608538, teldec = -24.256591
2025-11-03T10:14:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4608538 -24.256591
2025-11-03T10:14:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4608538 -24.256591
2025-11-03T10:14:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4608538 -24.256591
2025-11-03T10:14:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4608538;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48062;2460982.84320338;10.23685472;1.3;_15.4357448444186 -24.1663846571663
2025-11-03T10:14:12.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4357448444186     dec_j2k = -24.1663846571663
2025-11-03T10:14:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968558614639391;171.162357330327;_
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968558614639391;171.162357330327;_
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33189)
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:12.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:12.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84320336, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968558614639391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4608538, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48062, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4357448444186, telescope_dec_j2k=-24.1663846571663, observability=1)
2025-11-03T10:14:13.653 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:13
2025-11-03T10:14:13.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:13.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8686816692352295s
2025-11-03T10:14:13.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8686816692352295
2025-11-03T10:14:13.675 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:13
2025-11-03T10:14:13.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:13.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8901476860046387s
2025-11-03T10:14:13.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8901476860046387
2025-11-03T10:14:14.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:14
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9891746044158936s
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4614136;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48118;2460982.84322657;10.23741306;1.3;_
2025-11-03T10:14:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4614136;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48118;2460982.84322657;10.23741306;1.3;_
2025-11-03T10:14:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:14.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:14.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4614136, teldec = -24.256591
2025-11-03T10:14:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4614136 -24.256591
2025-11-03T10:14:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4614136 -24.256591
2025-11-03T10:14:14.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4614136 -24.256591
2025-11-03T10:14:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4614136;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48118;2460982.8432266;10.23741306;1.3;_15.4363042335019 -24.1664007065837
2025-11-03T10:14:14.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4363042335019     dec_j2k = -24.1664007065837
2025-11-03T10:14:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:14.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968554202325682;171.162357330327;_
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968554202325682;171.162357330327;_
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:14.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:14.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60175)
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:14.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:14.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:14.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:14.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:14.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84322657, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968554202325682, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4614136, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48118, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4363042335019, telescope_dec_j2k=-24.1664007065837, observability=1)
2025-11-03T10:14:14.894 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:14:14
2025-11-03T10:14:14.894 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:14.894 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.1022193431854248s
2025-11-03T10:14:14.894 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1022193431854248
2025-11-03T10:14:15.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:15
2025-11-03T10:14:15.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:15.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9011952877044678s
2025-11-03T10:14:15.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9011952877044678
2025-11-03T10:14:15.719 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:15
2025-11-03T10:14:15.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:15.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9270515441894531s
2025-11-03T10:14:15.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9270515441894531
2025-11-03T10:14:16.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:16
2025-11-03T10:14:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9775450229644775s
2025-11-03T10:14:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:16.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:16.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4619646;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48173;2460982.84324966;10.2379625;1.3;_
2025-11-03T10:14:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4619646;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48173;2460982.84324966;10.2379625;1.3;_
2025-11-03T10:14:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:16.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4619646, teldec = -24.256591
2025-11-03T10:14:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4619646 -24.256591
2025-11-03T10:14:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4619646 -24.256591
2025-11-03T10:14:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4619646 -24.256591
2025-11-03T10:14:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4619646;-24.256591;50.108524;89.993046;50.08601;90.12017;12.48173;2460982.84324969;10.2379625;1.3;_15.4368548291062 -24.16641650563
2025-11-03T10:14:16.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4368548291062     dec_j2k = -24.16641650563
2025-11-03T10:14:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968560219117103;171.162351965909;_
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968560219117103;171.162351965909;_
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43707)
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:16.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:16.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:16.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84324966, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968560219117103, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108524, telescope_az=89.993046, telescope_ra=15.4619646, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48173, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4368548291062, telescope_dec_j2k=-24.16641650563, observability=1)
2025-11-03T10:14:17.701 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:17
2025-11-03T10:14:17.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:17.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9140634536743164s
2025-11-03T10:14:17.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9140634536743164
2025-11-03T10:14:17.729 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:17
2025-11-03T10:14:17.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:17.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.941814661026001s
2025-11-03T10:14:17.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.941814661026001
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.6267743110656738s
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:18.414 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:18.415 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:18.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4624133;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48218;2460982.8432687;10.23841;1.3;_
2025-11-03T10:14:18.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.4624133;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48218;2460982.8432687;10.23841;1.3;_
2025-11-03T10:14:18.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:18.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:18.416 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:18.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:18.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:18.417 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.4624133, teldec = -24.256591
2025-11-03T10:14:18.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.4624133 -24.256591
2025-11-03T10:14:18.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.4624133 -24.256591
2025-11-03T10:14:18.417 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4624133 -24.256591
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4624133;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48218;2460982.84326873;10.23841;1.3;_15.4373031998366 -24.1664293727968
2025-11-03T10:14:18.418 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.4373031998366     dec_j2k = -24.1664293727968
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968557812400535;171.162351965909;_
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968557812400535;171.162351965909;_
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:18.418 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:18.419 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:18.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:18.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:18.420 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38201)
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:18.426 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:18.433 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:18.433 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:18.433 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:18.434 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:14:18.434 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8432687, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968557812400535, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4624133, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48218, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4373031998366, telescope_dec_j2k=-24.1664293727968, observability=1)
2025-11-03T10:14:18.434 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.540064573287964 seconds ago
2025-11-03T10:14:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:18
2025-11-03T10:14:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33563756942749023s
2025-11-03T10:14:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33563756942749023
2025-11-03T10:14:19.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:19
2025-11-03T10:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9614403247833252s
2025-11-03T10:14:19.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9614403247833252
2025-11-03T10:14:19.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:19
2025-11-03T10:14:19.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:19.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9832334518432617s
2025-11-03T10:14:19.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9832334518432617
2025-11-03T10:14:20.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:20
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.333277463912964s
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4630846;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48285;2460982.84329594;10.23907944;1.3;_
2025-11-03T10:14:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4630846;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48285;2460982.84329594;10.23907944;1.3;_
2025-11-03T10:14:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4630846, teldec = -24.256591
2025-11-03T10:14:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4630846 -24.256591
2025-11-03T10:14:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4630846 -24.256591
2025-11-03T10:14:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4630846 -24.256591
2025-11-03T10:14:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4630846;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48285;2460982.84329596;10.23907944;1.3;_15.4379740072919 -24.1664486257257
2025-11-03T10:14:20.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4379740072919     dec_j2k = -24.1664486257257
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968553400086826;171.162357330327;_
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968553400086826;171.162357330327;_
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49533)
2025-11-03T10:14:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84329594, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968553400086826, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4630846, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48285, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:13:21.253851', telescope_ra_j2k=15.4379740072919, telescope_dec_j2k=-24.1664486257257, observability=1)
2025-11-03T10:14:21.406 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:21.406 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:21.406 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:21.406 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:21.406 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:21.407 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:21.407 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:21.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:21.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:21.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:21.408 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:21.408 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:21.409 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:21.410 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:14:21.410 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:14:21.410 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:14:21.410 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:21.750 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:21
2025-11-03T10:14:21.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:21.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9636659622192383s
2025-11-03T10:14:21.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9636659622192383
2025-11-03T10:14:21.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:21
2025-11-03T10:14:21.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:21.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9886980056762695s
2025-11-03T10:14:21.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9886980056762695
2025-11-03T10:14:22.410 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:14:22.411 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:22.412 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:22.413 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:22.413 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:22.413 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:22.413 [DEBUG] [ThreadPoolExecutor-3450_0] [payload.py] [to_registers()] [0]
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46341)
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:22.418 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:22.425 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:22.425 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:14:22.425 [DEBUG] [ThreadPoolExecutor-3450_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:14:22.425 [DEBUG] [ThreadPoolExecutor-3450_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:14:22.426 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:22.426 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:22.426 [DEBUG] [ThreadPoolExecutor-3450_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:22
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785921573638916s
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4636358;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4834;2460982.84331906;10.23962917;1.3;_
2025-11-03T10:14:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4636358;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4834;2460982.84331906;10.23962917;1.3;_
2025-11-03T10:14:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4636358, teldec = -24.256591
2025-11-03T10:14:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4636358 -24.256591
2025-11-03T10:14:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4636358 -24.256591
2025-11-03T10:14:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4636358 -24.256591
2025-11-03T10:14:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4636358;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4834;2460982.84331909;10.23962917;1.3;_15.4385248029344 -24.1664644362959
2025-11-03T10:14:22.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4385248029344     dec_j2k = -24.1664644362959
2025-11-03T10:14:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968561823594815;171.162357330327;_
2025-11-03T10:14:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968561823594815;171.162357330327;_
2025-11-03T10:14:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52267)
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:22.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:22.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:22.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:22.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:22.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:22.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84331906, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968561823594815, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4636358, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4834, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4385248029344, telescope_dec_j2k=-24.1664644362959, observability=1)
2025-11-03T10:14:23.659 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:23
2025-11-03T10:14:23.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:23.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8733632564544678s
2025-11-03T10:14:23.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8733632564544678
2025-11-03T10:14:23.701 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:23
2025-11-03T10:14:23.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:23.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9151747226715088s
2025-11-03T10:14:23.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9151747226715088
2025-11-03T10:14:24.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:24
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9830904006958008s
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4641962;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48396;2460982.84334225;10.24018806;1.3;_
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4641962;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48396;2460982.84334225;10.24018806;1.3;_
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4641962, teldec = -24.256591
2025-11-03T10:14:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4641962 -24.256591
2025-11-03T10:14:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4641962 -24.256591
2025-11-03T10:14:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4641962 -24.256591
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4641962;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48396;2460982.84334227;10.24018806;1.3;_15.4390847918904 -24.1664805127149
2025-11-03T10:14:24.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4390847918904     dec_j2k = -24.1664805127149
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968558213519963;171.162351965909;_
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968558213519963;171.162351965909;_
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:24.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37463)
2025-11-03T10:14:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:24.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:24.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:24.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:24.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:24.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:24.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:24.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84334225, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968558213519963, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4641962, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48396, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4390847918904, telescope_dec_j2k=-24.1664805127149, observability=1)
2025-11-03T10:14:25.659 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:25
2025-11-03T10:14:25.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:25.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8745467662811279s
2025-11-03T10:14:25.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8745467662811279
2025-11-03T10:14:25.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:25
2025-11-03T10:14:25.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:25.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9084153175354004s
2025-11-03T10:14:25.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9084153175354004
2025-11-03T10:14:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:26
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9754865169525146s
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:26.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:26.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4647561;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48452;2460982.8433653;10.24074639;1.3;_
2025-11-03T10:14:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4647561;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48452;2460982.8433653;10.24074639;1.3;_
2025-11-03T10:14:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:26.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:26.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4647561, teldec = -24.256591
2025-11-03T10:14:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4647561 -24.256591
2025-11-03T10:14:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4647561 -24.256591
2025-11-03T10:14:26.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4647561 -24.256591
2025-11-03T10:14:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4647561;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48452;2460982.84336532;10.24074639;1.3;_15.4396442812761 -24.1664965767603
2025-11-03T10:14:26.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4396442812761     dec_j2k = -24.1664965767603
2025-11-03T10:14:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968561021355959;171.162357330327;_
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968561021355959;171.162357330327;_
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34797)
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:26.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:26.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:26.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8433653, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968561021355959, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4647561, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48452, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4396442812761, telescope_dec_j2k=-24.1664965767603, observability=1)
2025-11-03T10:14:27.656 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:27
2025-11-03T10:14:27.656 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:27.656 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.877551794052124s
2025-11-03T10:14:27.656 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.877551794052124
2025-11-03T10:14:27.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:27
2025-11-03T10:14:27.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:27.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9163930416107178s
2025-11-03T10:14:27.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9163930416107178
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Status age = 1.5954463481903076s
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:28.374 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 17;15.4651951;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48496;2460982.84338397;10.24118417;1.3;_
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response 17;15.4651951;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48496;2460982.84338397;10.24118417;1.3;_
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:28.375 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:28.376 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:28.376 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:28.377 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:28.377 [INFO] [Thread-88849 (handle)] [driver.py] [get_status()] Telra = 15.4651951, teldec = -24.256591
2025-11-03T10:14:28.377 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4651951 -24.256591
2025-11-03T10:14:28.377 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4651951 -24.256591
2025-11-03T10:14:28.377 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4651951 -24.256591
2025-11-03T10:14:28.378 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 17;15.4651951;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48496;2460982.843384;10.24118417;1.3;_15.4400829593705 -24.1665091734508
2025-11-03T10:14:28.378 [INFO] [Thread-88849 (handle)] [driver.py] [get_status()] ra_j2k = 15.4400829593705     dec_j2k = -24.1665091734508
2025-11-03T10:14:28.378 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:28.378 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:28.378 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 140;0.096856703814738;171.162362694745;_
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response 140;0.096856703814738;171.162362694745;_
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:28.379 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:28.380 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:28.381 [DEBUG] [Thread-88849 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:28.381 [DEBUG] [Thread-88849 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:28.381 [DEBUG] [Thread-88849 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53581)
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:28.388 [DEBUG] [Thread-88849 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:28.395 [DEBUG] [Thread-88849 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:28.395 [DEBUG] [Thread-88849 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:28.395 [DEBUG] [Thread-88849 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:28.395 [DEBUG] [Thread-88849 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:28.395 [DEBUG] [Thread-88849 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:28.396 [DEBUG] [Thread-88849 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:28.396 [DEBUG] [Thread-88849 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:28.396 [DEBUG] [Thread-88849 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:28.396 [DEBUG] [Thread-88849 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:28.396 [INFO] [Thread-88849 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84338397, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096856703814738, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4651951, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48496, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4400829593705, telescope_dec_j2k=-24.1665091734508, observability=1)
2025-11-03T10:14:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:28
2025-11-03T10:14:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3672370910644531s
2025-11-03T10:14:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3672370910644531
2025-11-03T10:14:29.700 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:29
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.304328203201294s
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:29.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:29.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:29.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.46556;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48532;2460982.84339933;10.24154806;1.3;_
2025-11-03T10:14:29.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.46556;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48532;2460982.84339933;10.24154806;1.3;_
2025-11-03T10:14:29.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:29.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:29.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:29.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:29.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:29.703 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.46556, teldec = -24.256591
2025-11-03T10:14:29.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.46556 -24.256591
2025-11-03T10:14:29.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.46556 -24.256591
2025-11-03T10:14:29.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.46556 -24.256591
2025-11-03T10:14:29.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.46556;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48532;2460982.84339935;10.24154806;1.3;_15.4404475918296 -24.1665196448328
2025-11-03T10:14:29.704 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4404475918296     dec_j2k = -24.1665196448328
2025-11-03T10:14:29.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:29.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:29.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968560620236531;171.162362694745;_
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968560620236531;171.162362694745;_
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:29.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:29.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:29.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:29.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:29.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55125)
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:29.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:29.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:29.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:29.718 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:29.718 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:29.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:29.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:29.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:29.719 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:29.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:29.719 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84339933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968560620236531, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.46556, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48532, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4404475918296, telescope_dec_j2k=-24.1665196448328, observability=1)
2025-11-03T10:14:29.741 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:29
2025-11-03T10:14:29.741 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:29.741 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021842241287231445s
2025-11-03T10:14:29.741 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021842241287231445
2025-11-03T10:14:30.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:30
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.048877477645874s
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4658689;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48563;2460982.84341168;10.24185611;1.3;_
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4658689;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48563;2460982.84341168;10.24185611;1.3;_
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4658689, teldec = -24.256591
2025-11-03T10:14:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4658689 -24.256591
2025-11-03T10:14:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4658689 -24.256591
2025-11-03T10:14:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4658689 -24.256591
2025-11-03T10:14:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4658689;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48563;2460982.8434117;10.24185611;1.3;_15.4407562653683 -24.1665285098597
2025-11-03T10:14:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4407562653683     dec_j2k = -24.1665285098597
2025-11-03T10:14:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09685630269531;171.162351965909;_
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09685630269531;171.162351965909;_
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51109)
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:30.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:30.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:30.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:30.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:30.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:30.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84341168, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09685630269531, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4658689, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48563, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4407562653683, telescope_dec_j2k=-24.1665285098597, observability=1)
2025-11-03T10:14:31.694 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:31
2025-11-03T10:14:31.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:31.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9075279235839844s
2025-11-03T10:14:31.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9075279235839844
2025-11-03T10:14:31.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:31
2025-11-03T10:14:31.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:31.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9293112754821777s
2025-11-03T10:14:31.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9293112754821777
2025-11-03T10:14:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:32
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778380393981934s
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4664204;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48618;2460982.84343479;10.24240611;1.3;_
2025-11-03T10:14:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4664204;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48618;2460982.84343479;10.24240611;1.3;_
2025-11-03T10:14:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4664204, teldec = -24.256591
2025-11-03T10:14:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4664204 -24.256591
2025-11-03T10:14:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4664204 -24.256591
2025-11-03T10:14:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4664204 -24.256591
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4664204;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48618;2460982.84343481;10.24240611;1.3;_15.4413073610993 -24.1665443386798
2025-11-03T10:14:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4413073610993     dec_j2k = -24.1665443386798
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968560620236531;171.162357330327;_
2025-11-03T10:14:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968560620236531;171.162357330327;_
2025-11-03T10:14:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47769)
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:32.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:32.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84343479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968560620236531, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4664204, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48618, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4413073610993, telescope_dec_j2k=-24.1665443386798, observability=1)
2025-11-03T10:14:33.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:33
2025-11-03T10:14:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6175048351287842s
2025-11-03T10:14:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6175048351287842
2025-11-03T10:14:33.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:33
2025-11-03T10:14:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6392300128936768s
2025-11-03T10:14:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6392300128936768
2025-11-03T10:14:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:34
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9838244915008545s
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4669814;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48674;2460982.84345794;10.24296556;1.3;_
2025-11-03T10:14:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4669814;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48674;2460982.84345794;10.24296556;1.3;_
2025-11-03T10:14:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:34.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4669814, teldec = -24.256591
2025-11-03T10:14:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4669814 -24.256591
2025-11-03T10:14:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4669814 -24.256591
2025-11-03T10:14:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4669814 -24.256591
2025-11-03T10:14:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4669814;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48674;2460982.84345797;10.24296556;1.3;_15.4418679499292 -24.166560442122
2025-11-03T10:14:34.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4418679499292     dec_j2k = -24.166560442122
2025-11-03T10:14:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968559416878247;171.162357330327;_
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968559416878247;171.162357330327;_
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:34.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41965)
2025-11-03T10:14:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:34.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:34.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:34.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:34.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:34.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84345794, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968559416878247, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4669814, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48674, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4418679499292, telescope_dec_j2k=-24.166560442122, observability=1)
2025-11-03T10:14:35.694 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:35
2025-11-03T10:14:35.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:35.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9103286266326904s
2025-11-03T10:14:35.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9103286266326904
2025-11-03T10:14:35.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:35
2025-11-03T10:14:35.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:35.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9321005344390869s
2025-11-03T10:14:35.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9321005344390869
2025-11-03T10:14:36.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:36
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9768767356872559s
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4675418;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48731;2460982.84348104;10.24352444;1.3;_
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4675418;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48731;2460982.84348104;10.24352444;1.3;_
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:36.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:36.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4675418, teldec = -24.256591
2025-11-03T10:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4675418 -24.256591
2025-11-03T10:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4675418 -24.256591
2025-11-03T10:14:36.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4675418 -24.256591
2025-11-03T10:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4675418;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48731;2460982.84348108;10.24352444;1.3;_15.442427939262 -24.1665765303133
2025-11-03T10:14:36.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.442427939262     dec_j2k = -24.1665765303133
2025-11-03T10:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:36.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968564230311384;171.162357330327;_
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968564230311384;171.162357330327;_
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:36.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36753)
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:36.768 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:36.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:36.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84348104, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968564230311384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4675418, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48731, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.442427939262, telescope_dec_j2k=-24.1665765303133, observability=1)
2025-11-03T10:14:37.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:37
2025-11-03T10:14:37.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:37.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6241259574890137s
2025-11-03T10:14:37.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6241259574890137
2025-11-03T10:14:37.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:37
2025-11-03T10:14:37.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:37.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6467289924621582s
2025-11-03T10:14:37.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6467289924621582
2025-11-03T10:14:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:38
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892628192901611s
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4681014;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48786;2460982.84350425;10.2440825;1.3;_
2025-11-03T10:14:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4681014;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48786;2460982.84350425;10.2440825;1.3;_
2025-11-03T10:14:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4681014, teldec = -24.256591
2025-11-03T10:14:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4681014 -24.256591
2025-11-03T10:14:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4681014 -24.256591
2025-11-03T10:14:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4681014 -24.256591
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4681014;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48786;2460982.84350428;10.2440825;1.3;_15.4429871292441 -24.1665925975044
2025-11-03T10:14:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4429871292441     dec_j2k = -24.1665925975044
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968567840386236;171.162351965909;_
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968567840386236;171.162351965909;_
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:38.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42951)
2025-11-03T10:14:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:38.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:38.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84350425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968567840386236, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4681014, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48786, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4429871292441, telescope_dec_j2k=-24.1665925975044, observability=1)
2025-11-03T10:14:39.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:39
2025-11-03T10:14:39.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:39.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.925501823425293s
2025-11-03T10:14:39.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.925501823425293
2025-11-03T10:14:39.729 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:39
2025-11-03T10:14:39.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:39.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9484798908233643s
2025-11-03T10:14:39.729 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9484798908233643
2025-11-03T10:14:40.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:40
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817967414855957s
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:40.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:40.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4686523;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48842;2460982.84352736;10.24463194;1.3;_
2025-11-03T10:14:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4686523;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48842;2460982.84352736;10.24463194;1.3;_
2025-11-03T10:14:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:40.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4686523, teldec = -24.256591
2025-11-03T10:14:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4686523 -24.256591
2025-11-03T10:14:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4686523 -24.256591
2025-11-03T10:14:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4686523 -24.256591
2025-11-03T10:14:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4686523;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48842;2460982.84352738;10.24463194;1.3;_15.4435376256622 -24.166608416821
2025-11-03T10:14:40.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4435376256622     dec_j2k = -24.166608416821
2025-11-03T10:14:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968558614639391;171.162351965909;_
2025-11-03T10:14:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968558614639391;171.162351965909;_
2025-11-03T10:14:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:40.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59439)
2025-11-03T10:14:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:40.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:40.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:40.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84352736, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968558614639391, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4686523, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4435376256622, telescope_dec_j2k=-24.166608416821, observability=1)
2025-11-03T10:14:41.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:41
2025-11-03T10:14:41.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:41.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9152066707611084s
2025-11-03T10:14:41.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9152066707611084
2025-11-03T10:14:41.717 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:41
2025-11-03T10:14:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9369547367095947s
2025-11-03T10:14:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9369547367095947
2025-11-03T10:14:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:42
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841740131378174s
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4692127;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48898;2460982.84355053;10.24519083;1.3;_
2025-11-03T10:14:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4692127;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48898;2460982.84355053;10.24519083;1.3;_
2025-11-03T10:14:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4692127, teldec = -24.256591
2025-11-03T10:14:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4692127 -24.256591
2025-11-03T10:14:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4692127 -24.256591
2025-11-03T10:14:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4692127 -24.256591
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4692127;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48898;2460982.84355057;10.24519083;1.3;_15.4440976151834 -24.1666245108872
2025-11-03T10:14:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4440976151834     dec_j2k = -24.1666245108872
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968563829191956;171.162351965909;_
2025-11-03T10:14:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968563829191956;171.162351965909;_
2025-11-03T10:14:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:42.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54005)
2025-11-03T10:14:42.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:42.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:42.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:42.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84355053, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968563829191956, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4692127, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48898, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4440976151834, telescope_dec_j2k=-24.1666245108872, observability=1)
2025-11-03T10:14:43.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:43
2025-11-03T10:14:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6099386215209961s
2025-11-03T10:14:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6099386215209961
2025-11-03T10:14:43.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:43
2025-11-03T10:14:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6317222118377686s
2025-11-03T10:14:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6317222118377686
2025-11-03T10:14:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:44
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9769001007080078s
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4697726;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48954;2460982.84357368;10.24574917;1.3;_
2025-11-03T10:14:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4697726;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48954;2460982.84357368;10.24574917;1.3;_
2025-11-03T10:14:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:44.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4697726, teldec = -24.256591
2025-11-03T10:14:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4697726 -24.256591
2025-11-03T10:14:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4697726 -24.256591
2025-11-03T10:14:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4697726 -24.256591
2025-11-03T10:14:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4697726;-24.256591;50.108523;89.993046;50.08601;90.12017;12.48954;2460982.8435737;10.24574917;1.3;_15.4446571051339 -24.1666405925611
2025-11-03T10:14:44.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4446571051339     dec_j2k = -24.1666405925611
2025-11-03T10:14:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968566637027952;171.162351965909;_
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968566637027952;171.162351965909;_
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48447)
2025-11-03T10:14:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:44.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84357368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968566637027952, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4697726, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.48954, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4446571051339, telescope_dec_j2k=-24.1666405925611, observability=1)
2025-11-03T10:14:45.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:45
2025-11-03T10:14:45.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:45.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6162183284759521s
2025-11-03T10:14:45.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6162183284759521
2025-11-03T10:14:45.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:45
2025-11-03T10:14:45.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:45.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6388139724731445s
2025-11-03T10:14:45.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6388139724731445
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Status age = 1.720139741897583s
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:46.503 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:46.504 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:46.505 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 17;15.4702397;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49;2460982.84359381;10.246215;1.3;_
2025-11-03T10:14:46.505 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response 17;15.4702397;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49;2460982.84359381;10.246215;1.3;_
2025-11-03T10:14:46.505 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:46.505 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:46.505 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:46.506 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:46.506 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:46.506 [INFO] [Thread-88850 (handle)] [driver.py] [get_status()] Telra = 15.4702397, teldec = -24.256591
2025-11-03T10:14:46.506 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4702397 -24.256591
2025-11-03T10:14:46.506 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4702397 -24.256591
2025-11-03T10:14:46.506 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4702397 -24.256591
2025-11-03T10:14:46.507 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 17;15.4702397;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49;2460982.84359383;10.246215;1.3;_15.4451238630958 -24.1666540102999
2025-11-03T10:14:46.507 [INFO] [Thread-88850 (handle)] [driver.py] [get_status()] ra_j2k = 15.4451238630958     dec_j2k = -24.1666540102999
2025-11-03T10:14:46.507 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:46.507 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:46.507 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 140;0.0968565834789096;171.162362694745;_
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response 140;0.0968565834789096;171.162362694745;_
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:46.508 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:46.509 [DEBUG] [Thread-88850 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55009)
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:46.510 [DEBUG] [Thread-88850 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:46.517 [DEBUG] [Thread-88850 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:46.517 [DEBUG] [Thread-88850 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:46.518 [DEBUG] [Thread-88850 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:46.518 [INFO] [Thread-88850 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84359381, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968565834789096, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4702397, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4451238630958, telescope_dec_j2k=-24.1666540102999, observability=1)
2025-11-03T10:14:46.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:46
2025-11-03T10:14:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24915146827697754s
2025-11-03T10:14:46.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24915146827697754
2025-11-03T10:14:47.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:47
2025-11-03T10:14:47.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:47.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8819215297698975s
2025-11-03T10:14:47.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8819215297698975
2025-11-03T10:14:47.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:47
2025-11-03T10:14:47.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:47.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9031031131744385s
2025-11-03T10:14:47.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9031031131744385
2025-11-03T10:14:47.426 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:47.426 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:47.426 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:47.426 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:47.426 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:47.427 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:14:47.428 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:14:47.429 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:48.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:48
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.24814510345459s
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4708842;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49065;2460982.84362;10.24685778;1.3;_
2025-11-03T10:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4708842;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49065;2460982.84362;10.24685778;1.3;_
2025-11-03T10:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:48.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4708842, teldec = -24.256591
2025-11-03T10:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4708842 -24.256591
2025-11-03T10:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4708842 -24.256591
2025-11-03T10:14:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4708842 -24.256591
2025-11-03T10:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4708842;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49065;2460982.84362004;10.24685778;1.3;_15.4457678912271 -24.1666725262104
2025-11-03T10:14:48.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4457678912271     dec_j2k = -24.1666725262104
2025-11-03T10:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58679)
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:48.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:48.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:48.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84362, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573857177657, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4708842, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49065, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4457678912271, telescope_dec_j2k=-24.1666725262104, observability=1)
2025-11-03T10:14:49.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:49
2025-11-03T10:14:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6068639755249023s
2025-11-03T10:14:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6068639755249023
2025-11-03T10:14:49.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:49
2025-11-03T10:14:49.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:49.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6319053173065186s
2025-11-03T10:14:49.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6319053173065186
2025-11-03T10:14:50.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:50
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983022928237915s
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4714441;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49121;2460982.84364322;10.24741611;1.3;_
2025-11-03T10:14:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4714441;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49121;2460982.84364322;10.24741611;1.3;_
2025-11-03T10:14:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:50.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4714441, teldec = -24.256591
2025-11-03T10:14:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4714441 -24.256591
2025-11-03T10:14:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4714441 -24.256591
2025-11-03T10:14:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4714441 -24.256591
2025-11-03T10:14:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4714441;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49121;2460982.84364324;10.24741611;1.3;_15.446327381366 -24.1666886137518
2025-11-03T10:14:50.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.446327381366     dec_j2k = -24.1666886137518
2025-11-03T10:14:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096856703814738;171.162357330327;_
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096856703814738;171.162357330327;_
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:50.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59847)
2025-11-03T10:14:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:50.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:50.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:50.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84364322, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096856703814738, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4714441, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49121, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.446327381366, telescope_dec_j2k=-24.1666886137518, observability=1)
2025-11-03T10:14:51.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:51
2025-11-03T10:14:51.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:51.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6020405292510986s
2025-11-03T10:14:51.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6020405292510986
2025-11-03T10:14:51.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:51
2025-11-03T10:14:51.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:51.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6240389347076416s
2025-11-03T10:14:51.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6240389347076416
2025-11-03T10:14:51.888 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:51.888 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Status age = 1.0961716175079346s
2025-11-03T10:14:51.888 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:51.888 [DEBUG] [Thread-88851 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:51.889 [DEBUG] [Thread-88851 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:51.889 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:51.889 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:51.889 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:51.889 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:51.890 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:51.891 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 17;15.4717516;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49151;2460982.84365613;10.24772278;1.3;_
2025-11-03T10:14:51.891 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response 17;15.4717516;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49151;2460982.84365613;10.24772278;1.3;_
2025-11-03T10:14:51.891 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:51.891 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:51.891 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:51.892 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:51.892 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:51.892 [INFO] [Thread-88851 (handle)] [driver.py] [get_status()] Telra = 15.4717516, teldec = -24.256591
2025-11-03T10:14:51.892 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4717516 -24.256591
2025-11-03T10:14:51.892 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4717516 -24.256591
2025-11-03T10:14:51.892 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4717516 -24.256591
2025-11-03T10:14:51.893 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 17;15.4717516;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49151;2460982.84365617;10.24772278;1.3;_15.4466346562949 -24.1666974499494
2025-11-03T10:14:51.893 [INFO] [Thread-88851 (handle)] [driver.py] [get_status()] ra_j2k = 15.4466346562949     dec_j2k = -24.1666974499494
2025-11-03T10:14:51.893 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:51.893 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:51.893 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:51.894 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:51.895 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:51.896 [DEBUG] [Thread-88851 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:51.896 [DEBUG] [Thread-88851 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:51.896 [DEBUG] [Thread-88851 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:51.897 [DEBUG] [Thread-88851 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60005)
2025-11-03T10:14:51.898 [DEBUG] [Thread-88851 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:51.898 [DEBUG] [Thread-88851 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:51.898 [DEBUG] [Thread-88851 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:51.898 [DEBUG] [Thread-88851 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:51.898 [DEBUG] [Thread-88851 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:51.905 [DEBUG] [Thread-88851 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:51.905 [INFO] [Thread-88851 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84365613, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573857177657, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4717516, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49151, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4466346562949, telescope_dec_j2k=-24.1666974499494, observability=1)
2025-11-03T10:14:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:52
2025-11-03T10:14:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.858661413192749s
2025-11-03T10:14:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.858661413192749
2025-11-03T10:14:53.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:53
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4924907684326172s
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:53.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:53.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:53.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4721625;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49193;2460982.84367361;10.2481325;1.3;_
2025-11-03T10:14:53.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4721625;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49193;2460982.84367361;10.2481325;1.3;_
2025-11-03T10:14:53.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:53.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:53.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:53.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:53.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:53.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4721625, teldec = -24.256591
2025-11-03T10:14:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4721625 -24.256591
2025-11-03T10:14:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4721625 -24.256591
2025-11-03T10:14:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4721625 -24.256591
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4721625;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49193;2460982.84367363;10.2481325;1.3;_15.4470452555711 -24.1667092583331
2025-11-03T10:14:53.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4470452555711     dec_j2k = -24.1667092583331
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968571851580517;171.162362694745;_
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968571851580517;171.162362694745;_
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:53.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:53.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48463)
2025-11-03T10:14:53.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:53.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:53.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:53.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:53.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:53.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:53.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:53.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:53.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84367361, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968571851580517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4721625, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49193, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4470452555711, telescope_dec_j2k=-24.1667092583331, observability=1)
2025-11-03T10:14:53.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:53
2025-11-03T10:14:53.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:53.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02185511589050293s
2025-11-03T10:14:53.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02185511589050293
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.3335096836090088s
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:54.754 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:54.755 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:54.756 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368931;10.24852361;1.3;_
2025-11-03T10:14:54.756 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368931;10.24852361;1.3;_
2025-11-03T10:14:54.756 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:54.756 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:54.756 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:54.757 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:54.757 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:54.757 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.4725546, teldec = -24.256591
2025-11-03T10:14:54.757 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.757 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.758 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.758 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368933;10.24852361;1.3;_15.4474370686382 -24.1667205274317
2025-11-03T10:14:54.758 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.4474370686382     dec_j2k = -24.1667205274317
2025-11-03T10:14:54.758 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968569444863949;171.162351965909;_
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968569444863949;171.162351965909;_
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:54.759 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:54.760 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.760 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.760 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:54.760 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:54.761 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:54.761 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:54.761 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.761 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.762 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:54
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3431909084320068s
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368941;10.24852361;1.3;_
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368941;10.24852361;1.3;_
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4725546, teldec = -24.256591
2025-11-03T10:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4725546 -24.256591
2025-11-03T10:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4725546;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49232;2460982.84368943;10.24852361;1.3;_15.4474370686382 -24.1667205274317
2025-11-03T10:14:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4474370686382     dec_j2k = -24.1667205274317
2025-11-03T10:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968569444863949;171.162351965909;_
2025-11-03T10:14:54.768 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33327)
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968569444863949;171.162351965909;_
2025-11-03T10:14:54.768 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:54.768 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:54.768 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:54.768 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:54.769 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:54.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58789)
2025-11-03T10:14:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:54.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:54.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:54.776 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:54.776 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84368931, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968569444863949, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4725546, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49232, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4474370686382, telescope_dec_j2k=-24.1667205274317, observability=1)
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:54.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:54.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84368941, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968569444863949, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4725546, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49232, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4474370686382, telescope_dec_j2k=-24.1667205274317, observability=1)
2025-11-03T10:14:55.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:55
2025-11-03T10:14:55.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:55.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9130339622497559s
2025-11-03T10:14:55.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9130339622497559
2025-11-03T10:14:55.718 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:55
2025-11-03T10:14:55.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:55.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9342591762542725s
2025-11-03T10:14:55.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9342591762542725
2025-11-03T10:14:56.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:56
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9893898963928223s
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4731151;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49288;2460982.84371269;10.2490825;1.3;_
2025-11-03T10:14:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4731151;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49288;2460982.84371269;10.2490825;1.3;_
2025-11-03T10:14:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:56.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4731151, teldec = -24.256591
2025-11-03T10:14:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4731151 -24.256591
2025-11-03T10:14:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4731151 -24.256591
2025-11-03T10:14:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4731151 -24.256591
2025-11-03T10:14:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4731151;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49288;2460982.84371271;10.2490825;1.3;_15.4479971585263 -24.1667366380809
2025-11-03T10:14:56.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4479971585263     dec_j2k = -24.1667366380809
2025-11-03T10:14:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968571450461089;171.162362694745;_
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968571450461089;171.162362694745;_
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:56.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:56.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:56.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35779)
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:56.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:56.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:56.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:56.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:56.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:56.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84371269, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968571450461089, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4731151, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49288, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4479971585263, telescope_dec_j2k=-24.1667366380809, observability=1)
2025-11-03T10:14:57.694 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:57
2025-11-03T10:14:57.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:57.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9044170379638672s
2025-11-03T10:14:57.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9044170379638672
2025-11-03T10:14:57.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:57
2025-11-03T10:14:57.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:57.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9260339736938477s
2025-11-03T10:14:57.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9260339736938477
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3601677417755127s
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4735064;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49327;2460982.84372861;10.24947278;1.3;_
2025-11-03T10:14:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4735064;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49327;2460982.84372861;10.24947278;1.3;_
2025-11-03T10:14:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:58.153 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4735064, teldec = -24.256591
2025-11-03T10:14:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4735064 -24.256591
2025-11-03T10:14:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4735064 -24.256591
2025-11-03T10:14:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4735064 -24.256591
2025-11-03T10:14:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4735064;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49327;2460982.84372863;10.24947278;1.3;_15.4483881722538 -24.1667478865214
2025-11-03T10:14:58.154 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4483881722538     dec_j2k = -24.1667478865214
2025-11-03T10:14:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573857177657;171.162351965909;_
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50019)
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:58.160 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:58.167 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:58.168 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84372861, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573857177657, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4735064, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49327, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4483881722538, telescope_dec_j2k=-24.1667478865214, observability=1)
2025-11-03T10:14:58.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:58
2025-11-03T10:14:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5941121578216553s
2025-11-03T10:14:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5941121578216553
2025-11-03T10:14:59.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:59
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2322776317596436s
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:14:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:14:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:14:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:14:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4738334;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4936;2460982.84374308;10.24979889;1.3;_
2025-11-03T10:14:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4738334;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4936;2460982.84374308;10.24979889;1.3;_
2025-11-03T10:14:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:14:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:14:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:14:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:14:59.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4738334, teldec = -24.256591
2025-11-03T10:14:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4738334 -24.256591
2025-11-03T10:14:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4738334 -24.256591
2025-11-03T10:14:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4738334 -24.256591
2025-11-03T10:14:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4738334;-24.256591;50.108523;89.993046;50.08601;90.12017;12.4936;2460982.84374311;10.24979889;1.3;_15.4487149330463 -24.1667572873083
2025-11-03T10:14:59.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4487149330463     dec_j2k = -24.1667572873083
2025-11-03T10:14:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:14:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:14:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968572252699945;171.162357330327;_
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968572252699945;171.162357330327;_
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:59.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:14:59.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:14:59.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:59.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:14:59.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42239)
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:14:59.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:14:59.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:14:59.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84374308, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968572252699945, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4738334, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.4936, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4487149330463, telescope_dec_j2k=-24.1667572873083, observability=1)
2025-11-03T10:14:59.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:14:59
2025-11-03T10:14:59.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:14:59.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021521806716918945s
2025-11-03T10:14:59.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021521806716918945
2025-11-03T10:15:00.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:00
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3444018363952637s
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4742259;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49399;2460982.84375888;10.25019028;1.3;_
2025-11-03T10:15:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4742259;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49399;2460982.84375888;10.25019028;1.3;_
2025-11-03T10:15:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4742259, teldec = -24.256591
2025-11-03T10:15:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4742259 -24.256591
2025-11-03T10:15:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4742259 -24.256591
2025-11-03T10:15:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4742259 -24.256591
2025-11-03T10:15:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4742259;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49399;2460982.8437589;10.25019028;1.3;_15.4491071459527 -24.1667685720116
2025-11-03T10:15:00.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4491071459527     dec_j2k = -24.1667685720116
2025-11-03T10:15:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968572252699945;171.162362694745;_
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968572252699945;171.162362694745;_
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:00.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34157)
2025-11-03T10:15:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:00.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:00.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:00.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:00.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84375888, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968572252699945, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4742259, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49399, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4491071459527, telescope_dec_j2k=-24.1667685720116, observability=1)
2025-11-03T10:15:01.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:01
2025-11-03T10:15:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.611292839050293s
2025-11-03T10:15:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.611292839050293
2025-11-03T10:15:01.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:01
2025-11-03T10:15:01.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:01.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6467311382293701s
2025-11-03T10:15:01.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6467311382293701
2025-11-03T10:15:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:02
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853081703186035s
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4747866;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49455;2460982.84378207;10.25074944;1.3;_
2025-11-03T10:15:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4747866;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49455;2460982.84378207;10.25074944;1.3;_
2025-11-03T10:15:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:02.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4747866, teldec = -24.256591
2025-11-03T10:15:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4747866 -24.256591
2025-11-03T10:15:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4747866 -24.256591
2025-11-03T10:15:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4747866 -24.256591
2025-11-03T10:15:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4747866;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49455;2460982.84378209;10.25074944;1.3;_15.4496674358832 -24.1667846942791
2025-11-03T10:15:02.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4496674358832     dec_j2k = -24.1667846942791
2025-11-03T10:15:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968580676207934;171.162362694745;_
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968580676207934;171.162362694745;_
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60229)
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84378207, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968580676207934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4747866, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49455, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4496674358832, telescope_dec_j2k=-24.1667846942791, observability=1)
2025-11-03T10:15:03.700 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:03
2025-11-03T10:15:03.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:03.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9145908355712891s
2025-11-03T10:15:03.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9145908355712891
2025-11-03T10:15:03.721 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:03
2025-11-03T10:15:03.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:03.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9358127117156982s
2025-11-03T10:15:03.721 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9358127117156982
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Status age = 1.7834184169769287s
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:04.569 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:04.570 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:04.571 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 17;15.4752899;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49505;2460982.84380291;10.25125139;1.3;_
2025-11-03T10:15:04.571 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response 17;15.4752899;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49505;2460982.84380291;10.25125139;1.3;_
2025-11-03T10:15:04.571 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:04.571 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:04.571 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:04.572 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:04.572 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:04.572 [INFO] [Thread-88852 (handle)] [driver.py] [get_status()] Telra = 15.4752899, teldec = -24.256591
2025-11-03T10:15:04.572 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4752899 -24.256591
2025-11-03T10:15:04.572 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4752899 -24.256591
2025-11-03T10:15:04.573 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4752899 -24.256591
2025-11-03T10:15:04.573 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 17;15.4752899;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49505;2460982.84380293;10.25125139;1.3;_15.4501703678474 -24.1667991677536
2025-11-03T10:15:04.573 [INFO] [Thread-88852 (handle)] [driver.py] [get_status()] ra_j2k = 15.4501703678474     dec_j2k = -24.1667991677536
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 140;0.0968579873969078;171.162357330327;_
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response 140;0.0968579873969078;171.162357330327;_
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:04.574 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:04.575 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:04.575 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:04.575 [DEBUG] [Thread-88852 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:04.576 [DEBUG] [Thread-88852 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:04.576 [DEBUG] [Thread-88852 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51711)
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:04.581 [DEBUG] [Thread-88852 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:04.588 [DEBUG] [Thread-88852 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:04.588 [DEBUG] [Thread-88852 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:04.588 [DEBUG] [Thread-88852 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:04.588 [DEBUG] [Thread-88852 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:04.589 [DEBUG] [Thread-88852 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:04.589 [DEBUG] [Thread-88852 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:04.589 [DEBUG] [Thread-88852 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:04.589 [DEBUG] [Thread-88852 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:04.589 [DEBUG] [Thread-88852 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:04.589 [INFO] [Thread-88852 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84380291, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968579873969078, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4752899, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49505, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4501703678474, telescope_dec_j2k=-24.1667991677536, observability=1)
2025-11-03T10:15:04.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:04
2025-11-03T10:15:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17457842826843262s
2025-11-03T10:15:04.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17457842826843262
2025-11-03T10:15:05.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:05
2025-11-03T10:15:05.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:05.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8047783374786377s
2025-11-03T10:15:05.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8047783374786377
2025-11-03T10:15:05.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:05
2025-11-03T10:15:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8263094425201416s
2025-11-03T10:15:05.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8263094425201416
2025-11-03T10:15:06.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:06
2025-11-03T10:15:06.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.183776617050171s
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4758974;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49566;2460982.8438284;10.25185722;1.3;_
2025-11-03T10:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4758974;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49566;2460982.8438284;10.25185722;1.3;_
2025-11-03T10:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:06.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4758974, teldec = -24.256591
2025-11-03T10:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4758974 -24.256591
2025-11-03T10:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4758974 -24.256591
2025-11-03T10:15:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4758974 -24.256591
2025-11-03T10:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4758974;-24.256591;50.108523;89.993046;50.08601;90.12017;12.49566;2460982.84382844;10.25185722;1.3;_15.4507774236837 -24.1668166398354
2025-11-03T10:15:06.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4507774236837     dec_j2k = -24.1668166398354
2025-11-03T10:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968575060535941;171.162362694745;_
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968575060535941;171.162362694745;_
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:06.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:06.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60421)
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:06.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:06.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:06.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8438284, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968575060535941, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108523, telescope_az=89.993046, telescope_ra=15.4758974, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49566, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4507774236837, telescope_dec_j2k=-24.1668166398354, observability=1)
2025-11-03T10:15:07.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:07
2025-11-03T10:15:07.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:07.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9020829200744629s
2025-11-03T10:15:07.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9020829200744629
2025-11-03T10:15:07.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:07
2025-11-03T10:15:07.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:07.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.923520565032959s
2025-11-03T10:15:07.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.923520565032959
2025-11-03T10:15:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:08
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9718708992004395s
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4764581;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49622;2460982.84385146;10.25241639;1.3;_
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4764581;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49622;2460982.84385146;10.25241639;1.3;_
2025-11-03T10:15:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4764581, teldec = -24.256591
2025-11-03T10:15:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4764581 -24.256591
2025-11-03T10:15:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4764581 -24.256591
2025-11-03T10:15:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4764581 -24.256591
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4764581;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49622;2460982.84385149;10.25241639;1.3;_15.4513377138031 -24.1668327679697
2025-11-03T10:15:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4513377138031     dec_j2k = -24.1668327679697
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968580275088506;171.162351965909;_
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968580275088506;171.162351965909;_
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44497)
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:08.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:08.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84385146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968580275088506, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4764581, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49622, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4513377138031, telescope_dec_j2k=-24.1668327679697, observability=1)
2025-11-03T10:15:09.700 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:09
2025-11-03T10:15:09.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:09.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9171137809753418s
2025-11-03T10:15:09.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9171137809753418
2025-11-03T10:15:09.723 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:09
2025-11-03T10:15:09.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:09.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9399242401123047s
2025-11-03T10:15:09.723 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9399242401123047
2025-11-03T10:15:10.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:10
2025-11-03T10:15:10.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781444072723389s
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:10.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4770177;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49678;2460982.84387456;10.25297444;1.3;_
2025-11-03T10:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4770177;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49678;2460982.84387456;10.25297444;1.3;_
2025-11-03T10:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:10.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4770177, teldec = -24.256591
2025-11-03T10:15:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4770177 -24.256591
2025-11-03T10:15:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4770177 -24.256591
2025-11-03T10:15:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4770177 -24.256591
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4770177;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49678;2460982.8438746;10.25297444;1.3;_15.4518969047897 -24.1668488664247
2025-11-03T10:15:10.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4518969047897     dec_j2k = -24.1668488664247
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096857947284965;171.162351965909;_
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096857947284965;171.162351965909;_
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50215)
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:10.769 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:10.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84387456, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096857947284965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4770177, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4518969047897, telescope_dec_j2k=-24.1668488664247, observability=1)
2025-11-03T10:15:11.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:11
2025-11-03T10:15:11.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:11.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9897069931030273s
2025-11-03T10:15:11.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9897069931030273
2025-11-03T10:15:11.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:11
2025-11-03T10:15:11.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:11.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.011993169784546s
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:11.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4772884;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49705;2460982.84388646;10.25324444;1.3;_
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4772884;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49705;2460982.84388646;10.25324444;1.3;_
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:11.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:11.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:11.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:11.791 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4772884, teldec = -24.256591
2025-11-03T10:15:11.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4772884 -24.256591
2025-11-03T10:15:11.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4772884 -24.256591
2025-11-03T10:15:11.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4772884 -24.256591
2025-11-03T10:15:11.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4772884;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49705;2460982.84388648;10.25324444;1.3;_15.4521674069569 -24.1668566545685
2025-11-03T10:15:11.792 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4521674069569     dec_j2k = -24.1668566545685
2025-11-03T10:15:11.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:11.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096857947284965;171.162362694745;_
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096857947284965;171.162362694745;_
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:11.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:11.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:11.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:11.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:11.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48941)
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:11.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:11.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:11.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:11.810 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:11.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:11.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84388646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096857947284965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4772884, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49705, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4521674069569, telescope_dec_j2k=-24.1668566545685, observability=1)
2025-11-03T10:15:12.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:12
2025-11-03T10:15:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9537100791931152s
2025-11-03T10:15:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9537100791931152
2025-11-03T10:15:13.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:13
2025-11-03T10:15:13.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6418848037719727s
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:13.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4777647;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49753;2460982.84390571;10.25371944;1.3;_
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4777647;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49753;2460982.84390571;10.25371944;1.3;_
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:13.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:13.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:13.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:13.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4777647, teldec = -24.256591
2025-11-03T10:15:13.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4777647 -24.256591
2025-11-03T10:15:13.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4777647 -24.256591
2025-11-03T10:15:13.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4777647 -24.256591
2025-11-03T10:15:13.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4777647;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49753;2460982.84390573;10.25371944;1.3;_15.4526433589035 -24.1668703590167
2025-11-03T10:15:13.456 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4526433589035     dec_j2k = -24.1668703590167
2025-11-03T10:15:13.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:13.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:13.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968580275088506;171.162346601491;_
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968580275088506;171.162346601491;_
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:13.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:13.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:13.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:13.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:13.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59991)
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:13.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:13.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:13.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84390571, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968580275088506, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4777647, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49753, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4526433589035, telescope_dec_j2k=-24.1668703590167, observability=1)
2025-11-03T10:15:13.499 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:13
2025-11-03T10:15:13.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:13.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02589273452758789s
2025-11-03T10:15:13.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02589273452758789
2025-11-03T10:15:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:14
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2941482067108154s
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4781291;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49789;2460982.84392095;10.25408278;1.3;_
2025-11-03T10:15:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4781291;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49789;2460982.84392095;10.25408278;1.3;_
2025-11-03T10:15:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:14.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4781291, teldec = -24.256591
2025-11-03T10:15:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4781291 -24.256591
2025-11-03T10:15:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4781291 -24.256591
2025-11-03T10:15:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4781291 -24.256591
2025-11-03T10:15:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4781291;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49789;2460982.84392097;10.25408278;1.3;_15.4530074926513 -24.1668808447554
2025-11-03T10:15:14.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4530074926513     dec_j2k = -24.1668808447554
2025-11-03T10:15:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45021)
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:14.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:14.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:14.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84392095, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968581879566218, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4781291, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49789, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4530074926513, telescope_dec_j2k=-24.1668808447554, observability=1)
2025-11-03T10:15:14.955 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:15:14
2025-11-03T10:15:14.955 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:14.955 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.1666252613067627s
2025-11-03T10:15:14.955 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1666252613067627
2025-11-03T10:15:15.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:15
2025-11-03T10:15:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.617835521697998s
2025-11-03T10:15:15.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.617835521697998
2025-11-03T10:15:15.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:15
2025-11-03T10:15:15.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:15.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.640404462814331s
2025-11-03T10:15:15.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.640404462814331
2025-11-03T10:15:16.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:16
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824573993682861s
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:16.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4786889;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49845;2460982.84394413;10.25464111;1.3;_
2025-11-03T10:15:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4786889;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49845;2460982.84394413;10.25464111;1.3;_
2025-11-03T10:15:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:16.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4786889, teldec = -24.256591
2025-11-03T10:15:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4786889 -24.256591
2025-11-03T10:15:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4786889 -24.256591
2025-11-03T10:15:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4786889 -24.256591
2025-11-03T10:15:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4786889;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49845;2460982.84394416;10.25464111;1.3;_15.4535668836804 -24.1668969548158
2025-11-03T10:15:16.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4535668836804     dec_j2k = -24.1668969548158
2025-11-03T10:15:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968575461655369;171.162351965909;_
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968575461655369;171.162351965909;_
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:16.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34013)
2025-11-03T10:15:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:16.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:16.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:16.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:16.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:16.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84394413, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968575461655369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4786889, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49845, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4535668836804, telescope_dec_j2k=-24.1668969548158, observability=1)
2025-11-03T10:15:17.820 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:17
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0321249961853027s
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:17.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:17.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:17.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4789597;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49872;2460982.84395627;10.25491111;1.3;_
2025-11-03T10:15:17.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4789597;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49872;2460982.84395627;10.25491111;1.3;_
2025-11-03T10:15:17.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:17.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:17.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:17.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:17.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:17.824 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4789597, teldec = -24.256591
2025-11-03T10:15:17.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4789597 -24.256591
2025-11-03T10:15:17.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4789597 -24.256591
2025-11-03T10:15:17.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4789597 -24.256591
2025-11-03T10:15:17.825 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4789597;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49872;2460982.84395631;10.25491111;1.3;_15.4538374858657 -24.1669047486673
2025-11-03T10:15:17.825 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4538374858657     dec_j2k = -24.1669047486673
2025-11-03T10:15:17.825 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:17.825 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:17.825 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:17.825 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968577066133082;171.162362694745;_
2025-11-03T10:15:17.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968577066133082;171.162362694745;_
2025-11-03T10:15:17.826 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:17.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:17.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:17.826 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:17.827 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:17.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:17.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:17.828 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:17.831 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40399)
2025-11-03T10:15:17.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:17.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:17.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:17.832 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:17.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:17.838 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:17.839 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:17.839 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84395627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968577066133082, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4789597, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49872, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4538374858657, telescope_dec_j2k=-24.1669047486673, observability=1)
2025-11-03T10:15:17.861 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:17
2025-11-03T10:15:17.861 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:17.861 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022327899932861328s
2025-11-03T10:15:17.861 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022327899932861328
2025-11-03T10:15:18.494 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:15:18.494 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6552255153656006s
2025-11-03T10:15:18.494 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6552255153656006
2025-11-03T10:15:18.494 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.539379596710205 seconds ago
2025-11-03T10:15:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:18
2025-11-03T10:15:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9465043544769287s
2025-11-03T10:15:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9465043544769287
2025-11-03T10:15:19.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:19
2025-11-03T10:15:19.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5716166496276855s
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:19.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4794078;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49917;2460982.84397468;10.25535806;1.3;_
2025-11-03T10:15:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4794078;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49917;2460982.84397468;10.25535806;1.3;_
2025-11-03T10:15:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:19.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:19.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:19.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:19.413 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4794078, teldec = -24.256591
2025-11-03T10:15:19.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4794078 -24.256591
2025-11-03T10:15:19.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4794078 -24.256591
2025-11-03T10:15:19.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4794078 -24.256591
2025-11-03T10:15:19.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4794078;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49917;2460982.8439747;10.25535806;1.3;_15.4542852585691 -24.1669176463689
2025-11-03T10:15:19.414 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4542852585691     dec_j2k = -24.1669176463689
2025-11-03T10:15:19.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:19.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:19.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968575461655369;171.162362694745;_
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968575461655369;171.162362694745;_
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:19.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:19.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:19.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:19.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:19.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54845)
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:19.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:19.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:19.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84397468, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968575461655369, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4794078, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49917, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4542852585691, telescope_dec_j2k=-24.1669176463689, observability=1)
2025-11-03T10:15:19.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:19
2025-11-03T10:15:19.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:19.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023050308227539062s
2025-11-03T10:15:19.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023050308227539062
2025-11-03T10:15:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:20
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3358867168426514s
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4798003;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49956;2460982.84399034;10.25574944;1.3;_
2025-11-03T10:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4798003;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49956;2460982.84399034;10.25574944;1.3;_
2025-11-03T10:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4798003, teldec = -24.256591
2025-11-03T10:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4798003 -24.256591
2025-11-03T10:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4798003 -24.256591
2025-11-03T10:15:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4798003 -24.256591
2025-11-03T10:15:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4798003;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49956;2460982.84399037;10.25574944;1.3;_15.4546774719165 -24.1669289447621
2025-11-03T10:15:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4546774719165     dec_j2k = -24.1669289447621
2025-11-03T10:15:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968573456058229;171.162357330327;_
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573456058229;171.162357330327;_
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36347)
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:20.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:20.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84399034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573456058229, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4798003, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:14:21.405566', telescope_ra_j2k=15.4546774719165, telescope_dec_j2k=-24.1669289447621, observability=1)
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:21.549 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:21.549 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:21.550 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:21.551 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:15:21.551 [INFO] [ThreadPoolExecutor-3451_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:15:21.551 [INFO] [ThreadPoolExecutor-3451_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:15:21.713 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:21
2025-11-03T10:15:21.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:21.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.92887282371521s
2025-11-03T10:15:21.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.92887282371521
2025-11-03T10:15:21.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:21
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.003746509552002s
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:21.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:21.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:21.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4800805;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49984;2460982.8440022;10.25602889;1.3;_
2025-11-03T10:15:21.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4800805;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49984;2460982.8440022;10.25602889;1.3;_
2025-11-03T10:15:21.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:21.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:21.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:21.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:21.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:21.791 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4800805, teldec = -24.256591
2025-11-03T10:15:21.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4800805 -24.256591
2025-11-03T10:15:21.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4800805 -24.256591
2025-11-03T10:15:21.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4800805 -24.256591
2025-11-03T10:15:21.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4800805;-24.256591;50.108522;89.993046;50.08601;90.12017;12.49984;2460982.84400222;10.25602889;1.3;_15.4549574672984 -24.1669370111087
2025-11-03T10:15:21.792 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4549574672984     dec_j2k = -24.1669370111087
2025-11-03T10:15:21.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:21.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:21.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968573054938801;171.162362694745;_
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573054938801;171.162362694745;_
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:21.793 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:21.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:21.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:21.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:21.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39965)
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:21.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:21.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:21.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8440022, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573054938801, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4800805, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.49984, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4549574672984, telescope_dec_j2k=-24.1669370111087, observability=1)
2025-11-03T10:15:22.629 [DEBUG] [Thread-88853 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:22.629 [DEBUG] [Thread-88853 (handle)] [server.py] [get_status()] Status age = 0.8197388648986816s
2025-11-03T10:15:22.629 [DEBUG] [Thread-88853 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8197388648986816
2025-11-03T10:15:22.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:22
2025-11-03T10:15:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9562129974365234s
2025-11-03T10:15:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9562129974365234
2025-11-03T10:15:23.864 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:23
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.054260492324829s
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:23.864 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.480668;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50043;2460982.84402622;10.25661472;1.3;_
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.480668;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50043;2460982.84402622;10.25661472;1.3;_
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:23.865 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:23.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:23.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:23.866 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.480668, teldec = -24.256591
2025-11-03T10:15:23.866 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.480668 -24.256591
2025-11-03T10:15:23.867 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.480668 -24.256591
2025-11-03T10:15:23.867 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.480668 -24.256591
2025-11-03T10:15:23.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.480668;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50043;2460982.84402624;10.25661472;1.3;_15.4555445383236 -24.1669539255448
2025-11-03T10:15:23.868 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4555445383236     dec_j2k = -24.1669539255448
2025-11-03T10:15:23.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:23.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:23.868 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968584687402215;171.162368059163;_
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968584687402215;171.162368059163;_
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:23.869 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:23.870 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:23.871 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:23.871 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:23.871 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47827)
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:23.876 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:23.883 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:23.883 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84402622, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968584687402215, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.480668, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50043, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4555445383236, telescope_dec_j2k=-24.1669539255448, observability=1)
2025-11-03T10:15:23.906 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:23
2025-11-03T10:15:23.906 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:23.907 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023094892501831055s
2025-11-03T10:15:23.907 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023094892501831055
2025-11-03T10:15:24.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:24
2025-11-03T10:15:24.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:24.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8903143405914307s
2025-11-03T10:15:24.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8903143405914307
2025-11-03T10:15:25.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:25
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.520181655883789s
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:25.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:25.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:25.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4810788;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50084;2460982.84404405;10.25702444;1.3;_
2025-11-03T10:15:25.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4810788;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50084;2460982.84404405;10.25702444;1.3;_
2025-11-03T10:15:25.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:25.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:25.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:25.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:25.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:25.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4810788, teldec = -24.256591
2025-11-03T10:15:25.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4810788 -24.256591
2025-11-03T10:15:25.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4810788 -24.256591
2025-11-03T10:15:25.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4810788 -24.256591
2025-11-03T10:15:25.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4810788;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50084;2460982.84404407;10.25702444;1.3;_15.4559550384113 -24.1669657539758
2025-11-03T10:15:25.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4559550384113     dec_j2k = -24.1669657539758
2025-11-03T10:15:25.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:25.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:25.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968573456058229;171.162362694745;_
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968573456058229;171.162362694745;_
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:25.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:25.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:25.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:25.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:25.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36211)
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:25.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:25.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:25.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:25.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:25.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:25.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84404405, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968573456058229, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4810788, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50084, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4559550384113, telescope_dec_j2k=-24.1669657539758, observability=1)
2025-11-03T10:15:25.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:25
2025-11-03T10:15:25.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:25.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02215099334716797s
2025-11-03T10:15:25.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02215099334716797
2025-11-03T10:15:26.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:26
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3571789264678955s
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:26.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:26.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4814713;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50123;2460982.84405994;10.25741583;1.3;_
2025-11-03T10:15:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4814713;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50123;2460982.84405994;10.25741583;1.3;_
2025-11-03T10:15:26.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:26.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:26.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4814713, teldec = -24.256591
2025-11-03T10:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4814713 -24.256591
2025-11-03T10:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4814713 -24.256591
2025-11-03T10:15:26.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4814713 -24.256591
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4814713;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50123;2460982.84405998;10.25741583;1.3;_15.456347251891 -24.1669770564681
2025-11-03T10:15:26.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.456347251891     dec_j2k = -24.1669770564681
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:26.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:26.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:26.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46237)
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:26.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:26.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84405994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968581879566218, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4814713, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50123, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.456347251891, telescope_dec_j2k=-24.1669770564681, observability=1)
2025-11-03T10:15:27.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:27
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0007805824279785s
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:27.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:27.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:27.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4817517;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50152;2460982.84407174;10.25769556;1.3;_
2025-11-03T10:15:27.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4817517;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50152;2460982.84407174;10.25769556;1.3;_
2025-11-03T10:15:27.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:27.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:27.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:27.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:27.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:27.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4817517, teldec = -24.256591
2025-11-03T10:15:27.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4817517 -24.256591
2025-11-03T10:15:27.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4817517 -24.256591
2025-11-03T10:15:27.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4817517 -24.256591
2025-11-03T10:15:27.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4817517;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50152;2460982.84407176;10.25769556;1.3;_15.4566274472214 -24.1669851315004
2025-11-03T10:15:27.800 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4566274472214     dec_j2k = -24.1669851315004
2025-11-03T10:15:27.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:27.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:27.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968577868371938;171.162357330327;_
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968577868371938;171.162357330327;_
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:27.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:27.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:27.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:27.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:27.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:27.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56411)
2025-11-03T10:15:27.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:27.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:27.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:27.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:27.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:27.815 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:27.815 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84407174, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968577868371938, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4817517, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50152, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4566274472214, telescope_dec_j2k=-24.1669851315004, observability=1)
2025-11-03T10:15:27.837 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:27
2025-11-03T10:15:27.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:27.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021863222122192383s
2025-11-03T10:15:27.837 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021863222122192383
2025-11-03T10:15:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:28
2025-11-03T10:15:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9503006935119629s
2025-11-03T10:15:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9503006935119629
2025-11-03T10:15:30.087 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:30
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.271962881088257s
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:30.087 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:30.088 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:30.089 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4823963;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50216;2460982.84409825;10.25833833;1.3;_
2025-11-03T10:15:30.089 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4823963;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50216;2460982.84409825;10.25833833;1.3;_
2025-11-03T10:15:30.089 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:30.089 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:30.089 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:30.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:30.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:30.090 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4823963, teldec = -24.256591
2025-11-03T10:15:30.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4823963 -24.256591
2025-11-03T10:15:30.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4823963 -24.256591
2025-11-03T10:15:30.090 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4823963 -24.256591
2025-11-03T10:15:30.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4823963;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50216;2460982.84409828;10.25833833;1.3;_15.457271576775 -24.1670036967218
2025-11-03T10:15:30.091 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.457271576775     dec_j2k = -24.1670036967218
2025-11-03T10:15:30.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:30.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:30.091 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968582681805074;171.162351965909;_
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968582681805074;171.162351965909;_
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:30.092 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:30.093 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:30.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:30.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:30.094 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49769)
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:30.099 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:30.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:30.106 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84409825, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968582681805074, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4823963, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50216, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.457271576775, telescope_dec_j2k=-24.1670036967218, observability=1)
2025-11-03T10:15:30.128 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:30
2025-11-03T10:15:30.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:30.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021426677703857422s
2025-11-03T10:15:30.128 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021426677703857422
2025-11-03T10:15:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:30
2025-11-03T10:15:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6579132080078125s
2025-11-03T10:15:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6579132080078125
2025-11-03T10:15:31.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:31
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.320331335067749s
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:31.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:31.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.482752;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50252;2460982.84411375;10.25869306;1.3;_
2025-11-03T10:15:31.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.482752;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50252;2460982.84411375;10.25869306;1.3;_
2025-11-03T10:15:31.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:31.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:31.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:31.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:31.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:31.429 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.482752, teldec = -24.256591
2025-11-03T10:15:31.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.482752 -24.256591
2025-11-03T10:15:31.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.482752 -24.256591
2025-11-03T10:15:31.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.482752 -24.256591
2025-11-03T10:15:31.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.482752;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50252;2460982.84411377;10.25869306;1.3;_15.4576270172116 -24.167013942402
2025-11-03T10:15:31.431 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4576270172116     dec_j2k = -24.167013942402
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968578269491366;171.162351965909;_
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968578269491366;171.162351965909;_
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:31.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:31.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:31.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:31.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:31.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:31.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:31.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:31.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:31.433 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:31.434 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58017)
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:31.439 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:31.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:31.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84411375, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968578269491366, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.482752, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50252, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4576270172116, telescope_dec_j2k=-24.167013942402, observability=1)
2025-11-03T10:15:31.469 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:31
2025-11-03T10:15:31.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:31.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022140026092529297s
2025-11-03T10:15:31.469 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022140026092529297
2025-11-03T10:15:32.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:32
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.315830945968628s
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4831444;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50291;2460982.84412921;10.25908444;1.3;_
2025-11-03T10:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4831444;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50291;2460982.84412921;10.25908444;1.3;_
2025-11-03T10:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4831444, teldec = -24.256591
2025-11-03T10:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4831444 -24.256591
2025-11-03T10:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4831444 -24.256591
2025-11-03T10:15:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4831444 -24.256591
2025-11-03T10:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4831444;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50291;2460982.84412925;10.25908444;1.3;_15.4580191308968 -24.1670252461158
2025-11-03T10:15:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4580191308968     dec_j2k = -24.1670252461158
2025-11-03T10:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096858147844679;171.162357330327;_
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096858147844679;171.162357330327;_
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49739)
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:32.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:32.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:32.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84412921, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096858147844679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4831444, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4580191308968, telescope_dec_j2k=-24.1670252461158, observability=1)
2025-11-03T10:15:33.611 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:33
2025-11-03T10:15:33.611 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:33.611 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8310942649841309s
2025-11-03T10:15:33.611 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8310942649841309
2025-11-03T10:15:33.633 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:33
2025-11-03T10:15:33.633 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:33.633 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8533813953399658s
2025-11-03T10:15:33.633 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8533813953399658
2025-11-03T10:15:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:34
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9878227710723877s
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:34.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4837043;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50347;2460982.84415243;10.25964278;1.3;_
2025-11-03T10:15:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4837043;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50347;2460982.84415243;10.25964278;1.3;_
2025-11-03T10:15:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:34.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4837043, teldec = -24.256591
2025-11-03T10:15:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4837043 -24.256591
2025-11-03T10:15:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4837043 -24.256591
2025-11-03T10:15:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4837043 -24.256591
2025-11-03T10:15:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4837043;-24.256591;50.108522;89.993046;50.08601;90.12017;12.50347;2460982.84415245;10.25964278;1.3;_15.4585786224194 -24.1670413766016
2025-11-03T10:15:34.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4585786224194     dec_j2k = -24.1670413766016
2025-11-03T10:15:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968584687402215;171.162362694745;_
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968584687402215;171.162362694745;_
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:34.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40869)
2025-11-03T10:15:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:34.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:34.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:34.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84415243, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968584687402215, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4837043, telescope_dec=-24.256591, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4585786224194, telescope_dec_j2k=-24.1670413766016, observability=1)
2025-11-03T10:15:36.106 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:36
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3187012672424316s
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:36.106 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:36.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:36.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4840592;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50382;2460982.84416792;10.25999667;1.3;_
2025-11-03T10:15:36.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4840592;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50382;2460982.84416792;10.25999667;1.3;_
2025-11-03T10:15:36.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:36.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:36.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:36.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:36.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:36.109 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4840592, teldec = -24.25659
2025-11-03T10:15:36.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4840592 -24.25659
2025-11-03T10:15:36.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4840592 -24.25659
2025-11-03T10:15:36.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4840592 -24.25659
2025-11-03T10:15:36.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4840592;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50382;2460982.84416794;10.25999667;1.3;_15.4589332636873 -24.1670506021631
2025-11-03T10:15:36.110 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4589332636873     dec_j2k = -24.1670506021631
2025-11-03T10:15:36.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:36.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:36.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968580676207934;171.162362694745;_
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968580676207934;171.162362694745;_
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:36.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:36.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:36.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46135)
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:36.116 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:36.123 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:36.124 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:36.124 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:36.124 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:36.124 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84416792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968580676207934, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4840592, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50382, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4589332636873, telescope_dec_j2k=-24.1670506021631, observability=1)
2025-11-03T10:15:36.145 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:36
2025-11-03T10:15:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021959543228149414s
2025-11-03T10:15:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021959543228149414
2025-11-03T10:15:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:36
2025-11-03T10:15:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6392018795013428s
2025-11-03T10:15:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6392018795013428
2025-11-03T10:15:38.156 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:38
2025-11-03T10:15:38.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:38.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.032727003097534s
2025-11-03T10:15:38.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:38.156 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:38.157 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:38.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:38.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:38.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4846477;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50441;2460982.84419164;10.26058361;1.3;_
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4846477;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50441;2460982.84419164;10.26058361;1.3;_
2025-11-03T10:15:38.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:38.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:38.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:38.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:38.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:38.160 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4846477, teldec = -24.25659
2025-11-03T10:15:38.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4846477 -24.25659
2025-11-03T10:15:38.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4846477 -24.25659
2025-11-03T10:15:38.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4846477 -24.25659
2025-11-03T10:15:38.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4846477;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50441;2460982.84419168;10.26058361;1.3;_15.4595213344551 -24.1670675600165
2025-11-03T10:15:38.161 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4595213344551     dec_j2k = -24.1670675600165
2025-11-03T10:15:38.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:38.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:38.161 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096858147844679;171.162346601491;_
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096858147844679;171.162346601491;_
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:38.162 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:38.163 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:38.164 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:38.164 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:38.167 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57041)
2025-11-03T10:15:38.168 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:38.168 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:38.168 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:38.168 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:38.168 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:38.175 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:38.175 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84419164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096858147844679, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4846477, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50441, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4595213344551, telescope_dec_j2k=-24.1670675600165, observability=1)
2025-11-03T10:15:38.200 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:38
2025-11-03T10:15:38.200 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:38.201 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025348663330078125s
2025-11-03T10:15:38.201 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025348663330078125
2025-11-03T10:15:38.804 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:38
2025-11-03T10:15:38.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:38.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.628840446472168s
2025-11-03T10:15:38.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.628840446472168
2025-11-03T10:15:39.557 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:39
2025-11-03T10:15:39.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:39.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3822648525238037s
2025-11-03T10:15:39.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:39.557 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:39.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:39.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:39.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4850118;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50478;2460982.84420786;10.26094667;1.3;_
2025-11-03T10:15:39.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4850118;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50478;2460982.84420786;10.26094667;1.3;_
2025-11-03T10:15:39.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:39.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:39.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:39.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:39.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:39.561 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4850118, teldec = -24.25659
2025-11-03T10:15:39.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4850118 -24.25659
2025-11-03T10:15:39.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4850118 -24.25659
2025-11-03T10:15:39.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4850118 -24.25659
2025-11-03T10:15:39.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4850118;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50478;2460982.84420789;10.26094667;1.3;_15.4598851689277 -24.1670780527801
2025-11-03T10:15:39.562 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4598851689277     dec_j2k = -24.1670780527801
2025-11-03T10:15:39.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:39.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:39.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:39.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096857947284965;171.162351965909;_
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096857947284965;171.162351965909;_
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:39.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:39.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:39.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:39.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:39.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:39.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:39.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:39.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:39.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39953)
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:39.567 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:39.574 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:39.574 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84420786, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096857947284965, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4850118, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50478, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4598851689277, telescope_dec_j2k=-24.1670780527801, observability=1)
2025-11-03T10:15:39.596 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:39
2025-11-03T10:15:39.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:39.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021424055099487305s
2025-11-03T10:15:39.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021424055099487305
2025-11-03T10:15:40.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:40
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1907730102539062s
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422184;10.26130972;1.3;_
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422184;10.26130972;1.3;_
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:40.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4853758, teldec = -24.25659
2025-11-03T10:15:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422186;10.26130972;1.3;_15.4602489035001 -24.1670885434889
2025-11-03T10:15:40.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4602489035001     dec_j2k = -24.1670885434889
2025-11-03T10:15:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968587094118783;171.162362694745;_
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968587094118783;171.162362694745;_
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43969)
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:40.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Status age = 1.2067558765411377s
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:40.781 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:40.782 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422203;10.26130972;1.3;_
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422203;10.26130972;1.3;_
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:40.783 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:40.784 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:40.784 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:40.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:40.784 [INFO] [Thread-88854 (handle)] [driver.py] [get_status()] Telra = 15.4853758, teldec = -24.25659
2025-11-03T10:15:40.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:40.785 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84422184, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968587094118783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4853758, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4602489035001, telescope_dec_j2k=-24.1670885434889, observability=1)
2025-11-03T10:15:40.785 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.785 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4853758 -24.25659
2025-11-03T10:15:40.785 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 17;15.4853758;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50514;2460982.84422205;10.26130972;1.3;_15.4602489035001 -24.1670885434889
2025-11-03T10:15:40.785 [INFO] [Thread-88854 (handle)] [driver.py] [get_status()] ra_j2k = 15.4602489035001     dec_j2k = -24.1670885434889
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 140;0.0968587094118783;171.162362694745;_
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response 140;0.0968587094118783;171.162362694745;_
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:40.786 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:40.787 [DEBUG] [Thread-88854 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:40.788 [DEBUG] [Thread-88854 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56969)
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:40.791 [DEBUG] [Thread-88854 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:40.798 [DEBUG] [Thread-88854 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:40.799 [DEBUG] [Thread-88854 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:40.799 [DEBUG] [Thread-88854 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:40.799 [DEBUG] [Thread-88854 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:40.799 [INFO] [Thread-88854 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84422203, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968587094118783, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4853758, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4602489035001, telescope_dec_j2k=-24.1670885434889, observability=1)
2025-11-03T10:15:41.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:41
2025-11-03T10:15:41.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:41.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8971657752990723s
2025-11-03T10:15:41.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8971657752990723
2025-11-03T10:15:41.717 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:41
2025-11-03T10:15:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9186477661132812s
2025-11-03T10:15:41.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9186477661132812
2025-11-03T10:15:42.429 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.429 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.429 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:42.429 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:42.429 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:15:42.430 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:42.431 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:42.432 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:42.432 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.432 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:42.433 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:15:42.434 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:42.435 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Park
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:15:42.436 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:15:42.437 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 29;15.4858234;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50559;2460982.84424117;10.26175611;1.3;_Park Command Successful
2025-11-03T10:15:42.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:42
2025-11-03T10:15:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9657485485076904s
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4859262;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50569;2460982.84424499;10.26185861;1.3;_
2025-11-03T10:15:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4859262;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50569;2460982.84424499;10.26185861;1.3;_
2025-11-03T10:15:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4859262, teldec = -24.25659
2025-11-03T10:15:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4859262 -24.25659
2025-11-03T10:15:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4859262 -24.25659
2025-11-03T10:15:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4859262 -24.25659
2025-11-03T10:15:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4859262;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50569;2460982.84424501;10.26185861;1.3;_15.460798902201 -24.1671044079332
2025-11-03T10:15:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.460798902201     dec_j2k = -24.1671044079332
2025-11-03T10:15:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968581879566218;171.162357330327;_
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39405)
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:42.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:42.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:42.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:42.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:42.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:42.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84424499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968581879566218, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4859262, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50569, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.460798902201, telescope_dec_j2k=-24.1671044079332, observability=1)
2025-11-03T10:15:43.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:43
2025-11-03T10:15:43.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:43.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6127076148986816s
2025-11-03T10:15:43.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6127076148986816
2025-11-03T10:15:43.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:43
2025-11-03T10:15:43.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:43.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.635169267654419s
2025-11-03T10:15:43.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.635169267654419
2025-11-03T10:15:43.437 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:15:43.437 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:15:43.437 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:15:43.438 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:15:43.438 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:15:44.438 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:15:44.438 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:15:44.438 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:15:44.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:15:44.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:15:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:44
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9770042896270752s
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4864872;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50625;2460982.84426812;10.26241806;1.3;_
2025-11-03T10:15:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4864872;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50625;2460982.84426812;10.26241806;1.3;_
2025-11-03T10:15:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:44.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4864872, teldec = -24.25659
2025-11-03T10:15:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4864872 -24.25659
2025-11-03T10:15:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4864872 -24.25659
2025-11-03T10:15:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4864872 -24.25659
2025-11-03T10:15:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4864872;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50625;2460982.84426815;10.26241806;1.3;_15.4613594932363 -24.1671205798513
2025-11-03T10:15:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4613594932363     dec_j2k = -24.1671205798513
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968587495238211;171.162351965909;_
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968587495238211;171.162351965909;_
2025-11-03T10:15:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52097)
2025-11-03T10:15:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:44.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:44.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:44.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:44.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84426812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968587495238211, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4864872, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50625, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4613594932363, telescope_dec_j2k=-24.1671205798513, observability=1)
2025-11-03T10:15:45.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:15:45.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:15:45.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:15:45.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:15:45.439 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:15:45.502 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:45
2025-11-03T10:15:45.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:45.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7188320159912109s
2025-11-03T10:15:45.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7188320159912109
2025-11-03T10:15:45.523 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:45
2025-11-03T10:15:45.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:45.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7404389381408691s
2025-11-03T10:15:45.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7404389381408691
2025-11-03T10:15:46.440 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:15:46.440 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:15:46.440 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:46.441 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:15:46.442 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:15:46.446 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:46.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:46
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9974820613861084s
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4870476;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50681;2460982.84429146;10.26297694;1.3;_
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4870476;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50681;2460982.84429146;10.26297694;1.3;_
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:46.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4870476, teldec = -24.25659
2025-11-03T10:15:46.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4870476 -24.25659
2025-11-03T10:15:46.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4870476 -24.25659
2025-11-03T10:15:46.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4870476 -24.25659
2025-11-03T10:15:46.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4870476;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50681;2460982.84429149;10.26297694;1.3;_15.4619194847726 -24.1671367364333
2025-11-03T10:15:46.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4619194847726     dec_j2k = -24.1671367364333
2025-11-03T10:15:46.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:46.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:46.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968586291879927;171.162357330327;_
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968586291879927;171.162357330327;_
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:46.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:46.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:46.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:46.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:46.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44913)
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:46.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:46.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:46.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84429146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968586291879927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4870476, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50681, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4619194847726, telescope_dec_j2k=-24.1671367364333, observability=1)
2025-11-03T10:15:47.446 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:47.446 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:47.446 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:47.446 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:47.446 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:15:47.447 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:15:47.448 [DEBUG] [ThreadPoolExecutor-3450_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:47.448 [INFO] [ThreadPoolExecutor-3450_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:15:48.219 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:48
2025-11-03T10:15:48.219 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.418104648590088s
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.487439;-24.25659;50.108522;89.993046;50.08601;90.12017;12.5072;2460982.8443081;10.26336722;1.3;_
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.487439;-24.25659;50.108522;89.993046;50.08601;90.12017;12.5072;2460982.8443081;10.26336722;1.3;_
2025-11-03T10:15:48.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:48.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:48.221 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:48.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:48.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:48.222 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.487439, teldec = -24.25659
2025-11-03T10:15:48.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.487439 -24.25659
2025-11-03T10:15:48.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.487439 -24.25659
2025-11-03T10:15:48.222 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.487439 -24.25659
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.487439;-24.25659;50.108522;89.993046;50.08601;90.12017;12.5072;2460982.84430814;10.26336722;1.3;_15.462310599527 -24.1671480218317
2025-11-03T10:15:48.223 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.462310599527     dec_j2k = -24.1671480218317
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968585890760499;171.162357330327;_
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968585890760499;171.162357330327;_
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:48.223 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:48.224 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55329)
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:48.225 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:48.233 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:48.234 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:48.234 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8443081, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968585890760499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.487439, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.462310599527, telescope_dec_j2k=-24.1671480218317, observability=1)
2025-11-03T10:15:48.255 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:48
2025-11-03T10:15:48.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:48.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021698713302612305s
2025-11-03T10:15:48.255 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021698713302612305
2025-11-03T10:15:48.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:48
2025-11-03T10:15:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5420596599578857s
2025-11-03T10:15:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5420596599578857
2025-11-03T10:15:50.212 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:50
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9787709712982178s
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:50.212 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:50.213 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:50.213 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:50.213 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:50.213 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4879899;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50775;2460982.84433118;10.26391667;1.3;_
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4879899;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50775;2460982.84433118;10.26391667;1.3;_
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:50.214 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:50.215 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:50.215 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:50.216 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:50.216 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4879899, teldec = -24.25659
2025-11-03T10:15:50.216 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4879899 -24.25659
2025-11-03T10:15:50.216 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4879899 -24.25659
2025-11-03T10:15:50.216 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4879899 -24.25659
2025-11-03T10:15:50.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4879899;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50775;2460982.84433122;10.26391667;1.3;_15.462861098093 -24.1671639077782
2025-11-03T10:15:50.217 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.462861098093     dec_j2k = -24.1671639077782
2025-11-03T10:15:50.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:50.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:50.217 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968591105313063;171.162351965909;_
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968591105313063;171.162351965909;_
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:50.218 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:50.219 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:50.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:50.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:50.220 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58455)
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:50.222 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:50.229 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:50.229 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84433118, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968591105313063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4879899, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50775, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.462861098093, telescope_dec_j2k=-24.1671639077782, observability=1)
2025-11-03T10:15:50.252 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:50
2025-11-03T10:15:50.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:50.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022797822952270508s
2025-11-03T10:15:50.252 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022797822952270508
2025-11-03T10:15:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:50
2025-11-03T10:15:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5337424278259277s
2025-11-03T10:15:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5337424278259277
2025-11-03T10:15:51.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:51
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2705011367797852s
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4883542;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50812;2460982.84434609;10.26428;1.3;_
2025-11-03T10:15:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4883542;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50812;2460982.84434609;10.26428;1.3;_
2025-11-03T10:15:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:51.503 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4883542, teldec = -24.25659
2025-11-03T10:15:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4883542 -24.25659
2025-11-03T10:15:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4883542 -24.25659
2025-11-03T10:15:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4883542 -24.25659
2025-11-03T10:15:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4883542;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50812;2460982.84434611;10.26428;1.3;_15.4632251326659 -24.1671744139008
2025-11-03T10:15:51.504 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4632251326659     dec_j2k = -24.1671744139008
2025-11-03T10:15:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968586291879927;171.162351965909;_
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968586291879927;171.162351965909;_
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:51.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:51.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:51.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41193)
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:51.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:51.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:51.519 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:51.519 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:51.519 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84434609, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968586291879927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4883542, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4632251326659, telescope_dec_j2k=-24.1671744139008, observability=1)
2025-11-03T10:15:51.541 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:51
2025-11-03T10:15:51.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:51.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02274775505065918s
2025-11-03T10:15:51.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02274775505065918
2025-11-03T10:15:52.076 [DEBUG] [Thread-88855 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:52.076 [DEBUG] [Thread-88855 (handle)] [server.py] [get_status()] Status age = 0.556983232498169s
2025-11-03T10:15:52.076 [DEBUG] [Thread-88855 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.556983232498169
2025-11-03T10:15:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:52
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2449746131896973s
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4887183;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50848;2460982.84436072;10.26464306;1.3;_
2025-11-03T10:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4887183;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50848;2460982.84436072;10.26464306;1.3;_
2025-11-03T10:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4887183, teldec = -24.25659
2025-11-03T10:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4887183 -24.25659
2025-11-03T10:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4887183 -24.25659
2025-11-03T10:15:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4887183 -24.25659
2025-11-03T10:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4887183;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50848;2460982.84436074;10.26464306;1.3;_15.4635889674112 -24.1671849150822
2025-11-03T10:15:52.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4635889674112     dec_j2k = -24.1671849150822
2025-11-03T10:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968595517626772;171.162357330327;_
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968595517626772;171.162357330327;_
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59487)
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:52.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:52.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84436072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968595517626772, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4887183, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50848, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4635889674112, telescope_dec_j2k=-24.1671849150822, observability=1)
2025-11-03T10:15:53.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:53
2025-11-03T10:15:53.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:53.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6215188503265381s
2025-11-03T10:15:53.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6215188503265381
2025-11-03T10:15:53.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:53
2025-11-03T10:15:53.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:53.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6429228782653809s
2025-11-03T10:15:53.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6429228782653809
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.0856802463531494s
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:53.866 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:53.867 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4890264;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50879;2460982.84437347;10.26495028;1.3;_
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.4890264;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50879;2460982.84437347;10.26495028;1.3;_
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:53.868 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:53.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:53.869 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:53.869 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.4890264, teldec = -24.25659
2025-11-03T10:15:53.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4890264 -24.25659
2025-11-03T10:15:53.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4890264 -24.25659
2025-11-03T10:15:53.869 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4890264 -24.25659
2025-11-03T10:15:53.870 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.4890264;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50879;2460982.8443735;10.26495028;1.3;_15.4638968429747 -24.1671938017864
2025-11-03T10:15:53.870 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.4638968429747     dec_j2k = -24.1671938017864
2025-11-03T10:15:53.870 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:53.870 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:53.871 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968593110910204;171.162362694745;_
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968593110910204;171.162362694745;_
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:53.872 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:53.873 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:53.874 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38015)
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:53.878 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:53.886 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:53.886 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84437347, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968593110910204, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4890264, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50879, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4638968429747, telescope_dec_j2k=-24.1671938017864, observability=1)
2025-11-03T10:15:54.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:54
2025-11-03T10:15:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8803009986877441s
2025-11-03T10:15:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8803009986877441
2025-11-03T10:15:55.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:55
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5149788856506348s
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:55.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:55.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:55.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:55.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:55.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:55.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:55.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:55.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:55.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4894458;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50921;2460982.84439125;10.26536861;1.3;_
2025-11-03T10:15:55.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4894458;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50921;2460982.84439125;10.26536861;1.3;_
2025-11-03T10:15:55.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:55.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:55.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:55.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:55.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:55.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4894458, teldec = -24.25659
2025-11-03T10:15:55.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4894458 -24.25659
2025-11-03T10:15:55.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4894458 -24.25659
2025-11-03T10:15:55.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4894458 -24.25659
2025-11-03T10:15:55.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4894458;-24.25659;50.108522;89.993046;50.08601;90.12017;12.50921;2460982.84439127;10.26536861;1.3;_15.4643159374921 -24.167205899731
2025-11-03T10:15:55.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4643159374921     dec_j2k = -24.167205899731
2025-11-03T10:15:55.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:55.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:55.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968589901954779;171.162351965909;_
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968589901954779;171.162351965909;_
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:55.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:55.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:55.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:55.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:15:55.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59591)
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:55.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:55.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:55.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84439125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968589901954779, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108522, telescope_az=89.993046, telescope_ra=15.4894458, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50921, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4643159374921, telescope_dec_j2k=-24.167205899731, observability=1)
2025-11-03T10:15:55.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:55
2025-11-03T10:15:55.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:55.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021486759185791016s
2025-11-03T10:15:55.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021486759185791016
2025-11-03T10:15:56.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:56
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3477721214294434s
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:56.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4898291;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50959;2460982.84440701;10.26575083;1.3;_
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4898291;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50959;2460982.84440701;10.26575083;1.3;_
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:56.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4898291, teldec = -24.25659
2025-11-03T10:15:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4898291 -24.25659
2025-11-03T10:15:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4898291 -24.25659
2025-11-03T10:15:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4898291 -24.25659
2025-11-03T10:15:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4898291;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50959;2460982.84440704;10.26575083;1.3;_15.4646989583352 -24.1672169572995
2025-11-03T10:15:56.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4646989583352     dec_j2k = -24.1672169572995
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968591105313063;171.162362694745;_
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968591105313063;171.162362694745;_
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47813)
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:56.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:56.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:56.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84440701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968591105313063, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4898291, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50959, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4646989583352, telescope_dec_j2k=-24.1672169572995, observability=1)
2025-11-03T10:15:57.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:57
2025-11-03T10:15:57.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:57.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6160554885864258s
2025-11-03T10:15:57.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6160554885864258
2025-11-03T10:15:57.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:57
2025-11-03T10:15:57.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:57.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6385643482208252s
2025-11-03T10:15:57.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6385643482208252
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2212419509887695s
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4901656;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50993;2460982.84442134;10.26608639;1.3;_
2025-11-03T10:15:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.4901656;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50993;2460982.84442134;10.26608639;1.3;_
2025-11-03T10:15:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:58.005 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.4901656, teldec = -24.25659
2025-11-03T10:15:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4901656 -24.25659
2025-11-03T10:15:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4901656 -24.25659
2025-11-03T10:15:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4901656 -24.25659
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.4901656;-24.25659;50.108521;89.993046;50.08601;90.12017;12.50993;2460982.84442137;10.26608639;1.3;_15.4650352132871 -24.1672266655204
2025-11-03T10:15:58.006 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4650352132871     dec_j2k = -24.1672266655204
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968585890760499;171.162357330327;_
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968585890760499;171.162357330327;_
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40739)
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:58.019 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:58.019 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84442134, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968585890760499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4901656, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.50993, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4650352132871, telescope_dec_j2k=-24.1672266655204, observability=1)
2025-11-03T10:15:58.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:58
2025-11-03T10:15:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7451841831207275s
2025-11-03T10:15:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7451841831207275
2025-11-03T10:15:58.858 [DEBUG] [Thread-88856 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:58.858 [DEBUG] [Thread-88856 (handle)] [server.py] [get_status()] Status age = 0.8385195732116699s
2025-11-03T10:15:58.858 [DEBUG] [Thread-88856 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8385195732116699
2025-11-03T10:15:59.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:59
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3792879581451416s
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:15:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:15:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:15:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4905578;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51032;2460982.84443751;10.2664775;1.3;_
2025-11-03T10:15:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4905578;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51032;2460982.84443751;10.2664775;1.3;_
2025-11-03T10:15:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:15:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:15:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:15:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:15:59.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4905578, teldec = -24.25659
2025-11-03T10:15:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4905578 -24.25659
2025-11-03T10:15:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4905578 -24.25659
2025-11-03T10:15:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4905578 -24.25659
2025-11-03T10:15:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4905578;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51032;2460982.84443754;10.2664775;1.3;_15.4654271277058 -24.1672379816091
2025-11-03T10:15:59.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4654271277058     dec_j2k = -24.1672379816091
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09685959187462;171.162357330327;_
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09685959187462;171.162357330327;_
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:15:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:15:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:15:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:15:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51609)
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:15:59.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:15:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:15:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:59.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:15:59.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:15:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:15:59.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:15:59.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:15:59.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:15:59.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:15:59.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84443751, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09685959187462, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4905578, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51032, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4654271277058, telescope_dec_j2k=-24.1672379816091, observability=1)
2025-11-03T10:15:59.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:15:59
2025-11-03T10:15:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:15:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022000789642333984s
2025-11-03T10:15:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022000789642333984
2025-11-03T10:16:00.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:00
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3502607345581055s
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4909221;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51069;2460982.84445332;10.26684083;1.3;_
2025-11-03T10:16:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4909221;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51069;2460982.84445332;10.26684083;1.3;_
2025-11-03T10:16:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4909221, teldec = -24.25659
2025-11-03T10:16:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4909221 -24.25659
2025-11-03T10:16:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4909221 -24.25659
2025-11-03T10:16:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4909221 -24.25659
2025-11-03T10:16:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4909221;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51069;2460982.84445334;10.26684083;1.3;_15.4657911624677 -24.1672484935617
2025-11-03T10:16:00.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4657911624677     dec_j2k = -24.1672484935617
2025-11-03T10:16:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968592308671348;171.162357330327;_
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968592308671348;171.162357330327;_
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56283)
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:00.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:00.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:00.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:00.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84445332, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968592308671348, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4909221, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51069, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4657911624677, telescope_dec_j2k=-24.1672484935617, observability=1)
2025-11-03T10:16:01.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:01
2025-11-03T10:16:01.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:01.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6142005920410156s
2025-11-03T10:16:01.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6142005920410156
2025-11-03T10:16:01.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:01
2025-11-03T10:16:01.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:01.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6366324424743652s
2025-11-03T10:16:01.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6366324424743652
2025-11-03T10:16:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:02
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981701135635376s
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:02.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4915017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51127;2460982.84447644;10.26741889;1.3;_
2025-11-03T10:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4915017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51127;2460982.84447644;10.26741889;1.3;_
2025-11-03T10:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4915017, teldec = -24.25659
2025-11-03T10:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4915017 -24.25659
2025-11-03T10:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4915017 -24.25659
2025-11-03T10:16:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4915017 -24.25659
2025-11-03T10:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4915017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51127;2460982.84447646;10.26741889;1.3;_15.4663703405303 -24.1672652197446
2025-11-03T10:16:02.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4663703405303     dec_j2k = -24.1672652197446
2025-11-03T10:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968594715387916;171.162346601491;_
2025-11-03T10:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968594715387916;171.162346601491;_
2025-11-03T10:16:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57067)
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:02.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:02.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:02.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:02.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84447644, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968594715387916, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4915017, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51127, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4663703405303, telescope_dec_j2k=-24.1672652197446, observability=1)
2025-11-03T10:16:03.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:03
2025-11-03T10:16:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6144828796386719s
2025-11-03T10:16:03.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6144828796386719
2025-11-03T10:16:03.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:03
2025-11-03T10:16:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6360812187194824s
2025-11-03T10:16:03.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6360812187194824
2025-11-03T10:16:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:04
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857778549194336s
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4920622;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51183;2460982.84449963;10.26797778;1.3;_
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4920622;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51183;2460982.84449963;10.26797778;1.3;_
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:04.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4920622, teldec = -24.25659
2025-11-03T10:16:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4920622 -24.25659
2025-11-03T10:16:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4920622 -24.25659
2025-11-03T10:16:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4920622 -24.25659
2025-11-03T10:16:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4920622;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51183;2460982.84449964;10.26797778;1.3;_15.466930432562 -24.1672813967268
2025-11-03T10:16:04.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.466930432562     dec_j2k = -24.1672813967268
2025-11-03T10:16:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968593110910204;171.162357330327;_
2025-11-03T10:16:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968593110910204;171.162357330327;_
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37963)
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:04.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:04.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:04.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84449963, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968593110910204, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4920622, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.466930432562, telescope_dec_j2k=-24.1672813967268, observability=1)
2025-11-03T10:16:05.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:05
2025-11-03T10:16:05.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:05.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6137857437133789s
2025-11-03T10:16:05.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6137857437133789
2025-11-03T10:16:05.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:05
2025-11-03T10:16:05.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:05.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6386456489562988s
2025-11-03T10:16:05.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6386456489562988
2025-11-03T10:16:06.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:06
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9789273738861084s
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:06.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:06.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.492595;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51236;2460982.84452272;10.26850917;1.3;_
2025-11-03T10:16:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.492595;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51236;2460982.84452272;10.26850917;1.3;_
2025-11-03T10:16:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:06.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:06.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.492595, teldec = -24.25659
2025-11-03T10:16:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.492595 -24.25659
2025-11-03T10:16:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.492595 -24.25659
2025-11-03T10:16:06.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.492595 -24.25659
2025-11-03T10:16:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.492595;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51236;2460982.84452274;10.26850917;1.3;_15.4674628448144 -24.1672967760535
2025-11-03T10:16:06.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4674628448144     dec_j2k = -24.1672967760535
2025-11-03T10:16:06.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968596319865628;171.162351965909;_
2025-11-03T10:16:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968596319865628;171.162351965909;_
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35901)
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:06.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:06.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84452272, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968596319865628, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.492595, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51236, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4674628448144, telescope_dec_j2k=-24.1672967760535, observability=1)
2025-11-03T10:16:07.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:07
2025-11-03T10:16:07.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6120264530181885s
2025-11-03T10:16:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6120264530181885
2025-11-03T10:16:07.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:07
2025-11-03T10:16:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6336135864257812s
2025-11-03T10:16:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6336135864257812
2025-11-03T10:16:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:08
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834589958190918s
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4931465;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51291;2460982.84454594;10.26905917;1.3;_
2025-11-03T10:16:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4931465;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51291;2460982.84454594;10.26905917;1.3;_
2025-11-03T10:16:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4931465, teldec = -24.25659
2025-11-03T10:16:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4931465 -24.25659
2025-11-03T10:16:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4931465 -24.25659
2025-11-03T10:16:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4931465 -24.25659
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4931747;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51294;2460982.84454596;10.26908722;1.3;_15.4680139435183 -24.1673126970192
2025-11-03T10:16:08.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4680139435183     dec_j2k = -24.1673126970192
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968594314268488;171.162357330327;_
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968594314268488;171.162357330327;_
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40333)
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:08.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:08.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:08.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:08.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84454594, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968594314268488, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4931465, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4680139435183, telescope_dec_j2k=-24.1673126970192, observability=1)
2025-11-03T10:16:09.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:09
2025-11-03T10:16:09.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:09.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.611309289932251s
2025-11-03T10:16:09.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.611309289932251
2025-11-03T10:16:09.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:09
2025-11-03T10:16:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6348450183868408s
2025-11-03T10:16:09.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6348450183868408
2025-11-03T10:16:10.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:10
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793195724487305s
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4937081;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51347;2460982.84456907;10.26961917;1.3;_
2025-11-03T10:16:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4937081;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51347;2460982.84456907;10.26961917;1.3;_
2025-11-03T10:16:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:10.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4937081, teldec = -24.25659
2025-11-03T10:16:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4937081 -24.25659
2025-11-03T10:16:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4937081 -24.25659
2025-11-03T10:16:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4937081 -24.25659
2025-11-03T10:16:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4937081;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51347;2460982.8445691;10.26961917;1.3;_15.4685751349362 -24.1673289115021
2025-11-03T10:16:10.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4685751349362     dec_j2k = -24.1673289115021
2025-11-03T10:16:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968600331059909;171.162368059163;_
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968600331059909;171.162368059163;_
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:10.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40213)
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:10.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:10.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:10.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:10.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:10.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:10.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84456907, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968600331059909, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4937081, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4685751349362, telescope_dec_j2k=-24.1673289115021, observability=1)
2025-11-03T10:16:11.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:11
2025-11-03T10:16:11.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:11.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6267695426940918s
2025-11-03T10:16:11.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6267695426940918
2025-11-03T10:16:11.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:11
2025-11-03T10:16:11.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:11.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6520938873291016s
2025-11-03T10:16:11.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6520938873291016
2025-11-03T10:16:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:12
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823477268218994s
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4942866;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51405;2460982.8445922;10.27019611;1.3;_
2025-11-03T10:16:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4942866;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51405;2460982.8445922;10.27019611;1.3;_
2025-11-03T10:16:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:12.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4942866, teldec = -24.25659
2025-11-03T10:16:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4942866 -24.25659
2025-11-03T10:16:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4942866 -24.25659
2025-11-03T10:16:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4942866 -24.25659
2025-11-03T10:16:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4942866;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51405;2460982.84459222;10.27019611;1.3;_15.4691532141257 -24.1673456159732
2025-11-03T10:16:12.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4691532141257     dec_j2k = -24.1673456159732
2025-11-03T10:16:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096859190755192;171.162357330327;_
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096859190755192;171.162357330327;_
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52421)
2025-11-03T10:16:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:12.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:12.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:12.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:12.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8445922, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096859190755192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4942866, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51405, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4691532141257, telescope_dec_j2k=-24.1673456159732, observability=1)
2025-11-03T10:16:13.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:13
2025-11-03T10:16:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113505363464355s
2025-11-03T10:16:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113505363464355
2025-11-03T10:16:13.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:13
2025-11-03T10:16:13.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:13.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6329798698425293s
2025-11-03T10:16:13.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6329798698425293
2025-11-03T10:16:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:14
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979041337966919s
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4948473;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51461;2460982.84461532;10.27075528;1.3;_
2025-11-03T10:16:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4948473;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51461;2460982.84461532;10.27075528;1.3;_
2025-11-03T10:16:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4948473, teldec = -24.25659
2025-11-03T10:16:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4948473 -24.25659
2025-11-03T10:16:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4948473 -24.25659
2025-11-03T10:16:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4948473 -24.25659
2025-11-03T10:16:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4948473;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51461;2460982.84461536;10.27075528;1.3;_15.4697135063278 -24.1673618084479
2025-11-03T10:16:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4697135063278     dec_j2k = -24.1673618084479
2025-11-03T10:16:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968597122104484;171.162351965909;_
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968597122104484;171.162351965909;_
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35147)
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:14.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:14.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:14.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:14.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84461532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968597122104484, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4948473, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4697135063278, telescope_dec_j2k=-24.1673618084479, observability=1)
2025-11-03T10:16:15.016 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:16:15
2025-11-03T10:16:15.016 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:15.016 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.2361617088317871s
2025-11-03T10:16:15.016 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2361617088317871
2025-11-03T10:16:15.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:15
2025-11-03T10:16:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6215569972991943s
2025-11-03T10:16:15.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6215569972991943
2025-11-03T10:16:15.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:15
2025-11-03T10:16:15.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:15.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.644650936126709s
2025-11-03T10:16:15.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.644650936126709
2025-11-03T10:16:16.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:16
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.997791051864624s
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4954077;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51517;2460982.84463866;10.27131417;1.3;_
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4954077;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51517;2460982.84463866;10.27131417;1.3;_
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:16.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4954077, teldec = -24.25659
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4954077 -24.25659
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4954077 -24.25659
2025-11-03T10:16:16.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4954077 -24.25659
2025-11-03T10:16:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4954077;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51517;2460982.84463867;10.27131417;1.3;_15.4702734988116 -24.1673779942133
2025-11-03T10:16:16.781 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4702734988116     dec_j2k = -24.1673779942133
2025-11-03T10:16:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:16.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968605144493045;171.162357330327;_
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968605144493045;171.162357330327;_
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:16.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:16.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:16.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55215)
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:16.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:16.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:16.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84463866, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968605144493045, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4954077, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51517, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4702734988116, telescope_dec_j2k=-24.1673779942133, observability=1)
2025-11-03T10:16:16.927 [DEBUG] [Thread-88857 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:16.927 [DEBUG] [Thread-88857 (handle)] [server.py] [get_status()] Status age = 0.13367748260498047s
2025-11-03T10:16:16.927 [DEBUG] [Thread-88857 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13367748260498047
2025-11-03T10:16:17.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:17
2025-11-03T10:16:17.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:17.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6052849292755127s
2025-11-03T10:16:17.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6052849292755127
2025-11-03T10:16:17.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:17
2025-11-03T10:16:17.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:17.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6277828216552734s
2025-11-03T10:16:17.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6277828216552734
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.760634183883667s
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:18.554 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:18.555 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:18.556 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4958748;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51564;2460982.84465921;10.27178;1.3;_
2025-11-03T10:16:18.556 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.4958748;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51564;2460982.84465921;10.27178;1.3;_
2025-11-03T10:16:18.556 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:18.556 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:18.556 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:18.557 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:18.557 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:18.557 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.4958748, teldec = -24.25659
2025-11-03T10:16:18.557 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.4958748 -24.25659
2025-11-03T10:16:18.557 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.4958748 -24.25659
2025-11-03T10:16:18.557 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4958748 -24.25659
2025-11-03T10:16:18.558 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.4958748;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51564;2460982.84465924;10.27178;1.3;_15.4707402591908 -24.167391486732
2025-11-03T10:16:18.558 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.4707402591908     dec_j2k = -24.167391486732
2025-11-03T10:16:18.558 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:18.558 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:18.558 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968599528821053;171.162357330327;_
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968599528821053;171.162357330327;_
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:18.559 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:18.560 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:18.561 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:18.561 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:18.561 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38799)
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:18.567 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:18.574 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:18.575 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:16:18.575 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84465921, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968599528821053, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4958748, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51564, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4707402591908, telescope_dec_j2k=-24.167391486732, observability=1)
2025-11-03T10:16:18.575 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.559023380279541 seconds ago
2025-11-03T10:16:18.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:18
2025-11-03T10:16:18.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:18.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21309256553649902s
2025-11-03T10:16:18.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21309256553649902
2025-11-03T10:16:19.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:19
2025-11-03T10:16:19.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:19.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8269858360290527s
2025-11-03T10:16:19.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8269858360290527
2025-11-03T10:16:19.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:19
2025-11-03T10:16:19.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:19.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.849520206451416s
2025-11-03T10:16:19.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.849520206451416
2025-11-03T10:16:20.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:20
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.191066026687622s
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4964918;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51626;2460982.8446848;10.27239528;1.3;_
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4964918;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51626;2460982.8446848;10.27239528;1.3;_
2025-11-03T10:16:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4964918, teldec = -24.25659
2025-11-03T10:16:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4964918 -24.25659
2025-11-03T10:16:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4964918 -24.25659
2025-11-03T10:16:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4964918 -24.25659
2025-11-03T10:16:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4964918;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51626;2460982.84468484;10.27239528;1.3;_15.4713568106477 -24.1674093112999
2025-11-03T10:16:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4713568106477     dec_j2k = -24.1674093112999
2025-11-03T10:16:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968605545612473;171.162362694745;_
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968605545612473;171.162362694745;_
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36379)
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:20.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:20.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:20.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:20.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8446848, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968605545612473, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4964918, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51626, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:15:21.548776', telescope_ra_j2k=15.4713568106477, telescope_dec_j2k=-24.1674093112999, observability=1)
2025-11-03T10:16:21.601 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:21
2025-11-03T10:16:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8168091773986816s
2025-11-03T10:16:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8168091773986816
2025-11-03T10:16:21.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:21
2025-11-03T10:16:21.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:21.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9111461639404297s
2025-11-03T10:16:21.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9111461639404297
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:21.701 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:21.702 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:21.702 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:21.703 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:21.703 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:21.703 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:21.703 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:16:21.703 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:21.703 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:21.703 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:21.703 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:21.703 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:16:21.704 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:16:21.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:22.705 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:22.706 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:22.707 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:22.707 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:22.707 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:22.708 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:22.708 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:22.708 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:22.708 [DEBUG] [ThreadPoolExecutor-3452_0] [payload.py] [to_registers()] [0]
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36713)
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:22.711 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:22.718 [DEBUG] [ThreadPoolExecutor-3452_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:22
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9785449504852295s
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4970516;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51681;2460982.84470792;10.27295361;1.3;_
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4970516;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51681;2460982.84470792;10.27295361;1.3;_
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4970516, teldec = -24.25659
2025-11-03T10:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4970516 -24.25659
2025-11-03T10:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4970516 -24.25659
2025-11-03T10:16:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4970516 -24.25659
2025-11-03T10:16:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4970516;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51681;2460982.84470794;10.27295361;1.3;_15.4719162037543 -24.16742548546
2025-11-03T10:16:22.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4719162037543     dec_j2k = -24.16742548546
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968606748970758;171.162357330327;_
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968606748970758;171.162357330327;_
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47605)
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:22.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:22.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:22.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84470792, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968606748970758, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4970516, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51681, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4719162037543, telescope_dec_j2k=-24.16742548546, observability=1)
2025-11-03T10:16:23.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:23
2025-11-03T10:16:23.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:23.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6227920055389404s
2025-11-03T10:16:23.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6227920055389404
2025-11-03T10:16:23.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:23
2025-11-03T10:16:23.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:23.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6453745365142822s
2025-11-03T10:16:23.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6453745365142822
2025-11-03T10:16:24.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:24
2025-11-03T10:16:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.989060401916504s
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4976299;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51739;2460982.84473112;10.27353028;1.3;_
2025-11-03T10:16:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4976299;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51739;2460982.84473112;10.27353028;1.3;_
2025-11-03T10:16:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4976299, teldec = -24.25659
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4976299 -24.25659
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4976299 -24.25659
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4976299 -24.25659
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4976299;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51739;2460982.84473115;10.27353028;1.3;_15.4724940834808 -24.1674421961819
2025-11-03T10:16:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4724940834808     dec_j2k = -24.1674421961819
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968607150090186;171.162368059163;_
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968607150090186;171.162368059163;_
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43467)
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:24.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:24.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:24.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:24.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:24.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84473112, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968607150090186, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4976299, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4724940834808, telescope_dec_j2k=-24.1674421961819, observability=1)
2025-11-03T10:16:25.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:25
2025-11-03T10:16:25.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:25.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6124486923217773s
2025-11-03T10:16:25.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6124486923217773
2025-11-03T10:16:25.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:25
2025-11-03T10:16:25.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:25.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6345648765563965s
2025-11-03T10:16:25.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6345648765563965
2025-11-03T10:16:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:26
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780426025390625s
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4981627;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51793;2460982.84475426;10.27406167;1.3;_
2025-11-03T10:16:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4981627;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51793;2460982.84475426;10.27406167;1.3;_
2025-11-03T10:16:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4981627, teldec = -24.25659
2025-11-03T10:16:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4981627 -24.25659
2025-11-03T10:16:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4981627 -24.25659
2025-11-03T10:16:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4981627 -24.25659
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4981627;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51793;2460982.84475429;10.27406167;1.3;_15.4730264963338 -24.1674575939627
2025-11-03T10:16:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4730264963338     dec_j2k = -24.1674575939627
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968607551209614;171.162357330327;_
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968607551209614;171.162357330327;_
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49539)
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:26.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:26.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:26.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84475426, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968607551209614, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4981627, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51793, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4730264963338, telescope_dec_j2k=-24.1674575939627, observability=1)
2025-11-03T10:16:27.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:27
2025-11-03T10:16:27.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:27.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6055903434753418s
2025-11-03T10:16:27.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6055903434753418
2025-11-03T10:16:27.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:27
2025-11-03T10:16:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6283261775970459s
2025-11-03T10:16:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6283261775970459
2025-11-03T10:16:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:28
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9773905277252197s
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4987232;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51849;2460982.8447774;10.27462056;1.3;_
2025-11-03T10:16:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4987232;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51849;2460982.8447774;10.27462056;1.3;_
2025-11-03T10:16:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4987232, teldec = -24.25659
2025-11-03T10:16:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4987232 -24.25659
2025-11-03T10:16:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4987232 -24.25659
2025-11-03T10:16:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4987232 -24.25659
2025-11-03T10:16:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4987232;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51849;2460982.84477742;10.27462056;1.3;_15.4735865891214 -24.1674737941705
2025-11-03T10:16:28.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4735865891214     dec_j2k = -24.1674737941705
2025-11-03T10:16:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968612765762178;171.162351965909;_
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968612765762178;171.162351965909;_
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50625)
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:28.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:28.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:28.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8447774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968612765762178, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4987232, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51849, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4735865891214, telescope_dec_j2k=-24.1674737941705, observability=1)
2025-11-03T10:16:29.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:29
2025-11-03T10:16:29.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:29.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6133816242218018s
2025-11-03T10:16:29.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6133816242218018
2025-11-03T10:16:29.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:29
2025-11-03T10:16:29.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:29.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6364972591400146s
2025-11-03T10:16:29.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6364972591400146
2025-11-03T10:16:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:30
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978651523590088s
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4993017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51906;2460982.84480053;10.2751975;1.3;_
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.4993017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51906;2460982.84480053;10.2751975;1.3;_
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.4993017, teldec = -24.25659
2025-11-03T10:16:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.4993017 -24.25659
2025-11-03T10:16:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.4993017 -24.25659
2025-11-03T10:16:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.4993017 -24.25659
2025-11-03T10:16:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.4993017;-24.25659;50.108521;89.993046;50.08601;90.12017;12.51906;2460982.84480056;10.2751975;1.3;_15.4741646688985 -24.1674905166818
2025-11-03T10:16:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4741646688985     dec_j2k = -24.1674905166818
2025-11-03T10:16:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968607150090186;171.162357330327;_
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968607150090186;171.162357330327;_
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57121)
2025-11-03T10:16:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:30.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:30.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84480053, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968607150090186, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.4993017, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.51906, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4741646688985, telescope_dec_j2k=-24.1674905166818, observability=1)
2025-11-03T10:16:31.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:31
2025-11-03T10:16:31.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:31.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.615354061126709s
2025-11-03T10:16:31.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.615354061126709
2025-11-03T10:16:31.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:31
2025-11-03T10:16:31.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:31.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6439530849456787s
2025-11-03T10:16:31.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6439530849456787
2025-11-03T10:16:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:32
2025-11-03T10:16:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822890758514404s
2025-11-03T10:16:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.499834;-24.25659;50.108521;89.993046;50.08601;90.12017;12.5196;2460982.84482369;10.27572833;1.3;_
2025-11-03T10:16:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.499834;-24.25659;50.108521;89.993046;50.08601;90.12017;12.5196;2460982.84482369;10.27572833;1.3;_
2025-11-03T10:16:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.499834, teldec = -24.25659
2025-11-03T10:16:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.499834 -24.25659
2025-11-03T10:16:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.499834 -24.25659
2025-11-03T10:16:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.499834 -24.25659
2025-11-03T10:16:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.499834;-24.25659;50.108521;89.993046;50.08601;90.12017;12.5196;2460982.84482372;10.27572833;1.3;_15.4746965822952 -24.1675059055415
2025-11-03T10:16:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4746965822952     dec_j2k = -24.1675059055415
2025-11-03T10:16:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968615573598175;171.162357330327;_
2025-11-03T10:16:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968615573598175;171.162357330327;_
2025-11-03T10:16:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46673)
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:32.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:32.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:32.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84482369, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968615573598175, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.499834, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5196, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4746965822952, telescope_dec_j2k=-24.1675059055415, observability=1)
2025-11-03T10:16:33.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:33
2025-11-03T10:16:33.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:33.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6088027954101562s
2025-11-03T10:16:33.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6088027954101562
2025-11-03T10:16:33.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:33
2025-11-03T10:16:33.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:33.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6306684017181396s
2025-11-03T10:16:33.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6306684017181396
2025-11-03T10:16:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:34
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807820320129395s
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5003947;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52016;2460982.84484688;10.2762875;1.3;_
2025-11-03T10:16:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5003947;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52016;2460982.84484688;10.2762875;1.3;_
2025-11-03T10:16:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:34.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5003947, teldec = -24.25659
2025-11-03T10:16:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5003947 -24.25659
2025-11-03T10:16:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5003947 -24.25659
2025-11-03T10:16:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5003947 -24.25659
2025-11-03T10:16:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5003947;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52016;2460982.8448469;10.2762875;1.3;_15.4752568751274 -24.1675221173521
2025-11-03T10:16:34.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4752568751274     dec_j2k = -24.1675221173521
2025-11-03T10:16:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968615172478747;171.162351965909;_
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968615172478747;171.162351965909;_
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:34.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45277)
2025-11-03T10:16:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:34.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:34.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:34.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84484688, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968615172478747, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.5003947, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52016, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4752568751274, telescope_dec_j2k=-24.1675221173521, observability=1)
2025-11-03T10:16:35.033 [DEBUG] [Thread-88858 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:35.033 [DEBUG] [Thread-88858 (handle)] [server.py] [get_status()] Status age = 0.24527597427368164s
2025-11-03T10:16:35.033 [DEBUG] [Thread-88858 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24527597427368164
2025-11-03T10:16:35.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:35
2025-11-03T10:16:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6150481700897217s
2025-11-03T10:16:35.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6150481700897217
2025-11-03T10:16:35.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:35
2025-11-03T10:16:35.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:35.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.643120288848877s
2025-11-03T10:16:35.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.643120288848877
2025-11-03T10:16:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:36
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9802186489105225s
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5009743;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52074;2460982.84487003;10.27686556;1.3;_
2025-11-03T10:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5009743;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52074;2460982.84487003;10.27686556;1.3;_
2025-11-03T10:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:36.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5009743, teldec = -24.25659
2025-11-03T10:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5009743 -24.25659
2025-11-03T10:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5009743 -24.25659
2025-11-03T10:16:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5009743 -24.25659
2025-11-03T10:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5009743;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52074;2460982.84487006;10.27686556;1.3;_15.4758360543019 -24.1675388776805
2025-11-03T10:16:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4758360543019     dec_j2k = -24.1675388776805
2025-11-03T10:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968613166881607;171.162357330327;_
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968613166881607;171.162357330327;_
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58717)
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:36.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:36.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:36.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:36.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84487003, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968613166881607, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.5009743, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4758360543019, telescope_dec_j2k=-24.1675388776805, observability=1)
2025-11-03T10:16:37.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:37
2025-11-03T10:16:37.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:37.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6204204559326172s
2025-11-03T10:16:37.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6204204559326172
2025-11-03T10:16:37.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:37
2025-11-03T10:16:37.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:37.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6423056125640869s
2025-11-03T10:16:37.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6423056125640869
2025-11-03T10:16:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:38
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9753613471984863s
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5015069;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52127;2460982.84489314;10.27739667;1.3;_
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5015069;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52127;2460982.84489314;10.27739667;1.3;_
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5015069, teldec = -24.25659
2025-11-03T10:16:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5015069 -24.25659
2025-11-03T10:16:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5015069 -24.25659
2025-11-03T10:16:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5015069 -24.25659
2025-11-03T10:16:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5015069;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52127;2460982.84489316;10.27739667;1.3;_15.4763682676614 -24.1675542807462
2025-11-03T10:16:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4763682676614     dec_j2k = -24.1675542807462
2025-11-03T10:16:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096861236464275;171.162357330327;_
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096861236464275;171.162357330327;_
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53557)
2025-11-03T10:16:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:38.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:38.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:38.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84489314, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096861236464275, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.5015069, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52127, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4763682676614, telescope_dec_j2k=-24.1675542807462, observability=1)
2025-11-03T10:16:39.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:39
2025-11-03T10:16:39.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:39.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6176612377166748s
2025-11-03T10:16:39.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6176612377166748
2025-11-03T10:16:39.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:39
2025-11-03T10:16:39.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:39.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6434814929962158s
2025-11-03T10:16:39.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6434814929962158
2025-11-03T10:16:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:40
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823784828186035s
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.502067;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52183;2460982.84491627;10.27795528;1.3;_
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.502067;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52183;2460982.84491627;10.27795528;1.3;_
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:40.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.502067, teldec = -24.25659
2025-11-03T10:16:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.502067 -24.25659
2025-11-03T10:16:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.502067 -24.25659
2025-11-03T10:16:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.502067 -24.25659
2025-11-03T10:16:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.502067;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52183;2460982.8449163;10.27795528;1.3;_15.4769279611193 -24.1675704810257
2025-11-03T10:16:40.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4769279611193     dec_j2k = -24.1675704810257
2025-11-03T10:16:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968608754567898;171.162357330327;_
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968608754567898;171.162357330327;_
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51547)
2025-11-03T10:16:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:40.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:40.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:40.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84491627, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968608754567898, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.502067, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4769279611193, telescope_dec_j2k=-24.1675704810257, observability=1)
2025-11-03T10:16:41.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:41
2025-11-03T10:16:41.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:41.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6186647415161133s
2025-11-03T10:16:41.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6186647415161133
2025-11-03T10:16:41.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:41
2025-11-03T10:16:41.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:41.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6403379440307617s
2025-11-03T10:16:41.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6403379440307617
2025-11-03T10:16:42.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:42
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984342336654663s
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5026174;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52238;2460982.84493944;10.27850417;1.3;_
2025-11-03T10:16:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5026174;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52238;2460982.84493944;10.27850417;1.3;_
2025-11-03T10:16:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5026174, teldec = -24.25659
2025-11-03T10:16:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5026174 -24.25659
2025-11-03T10:16:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5026174 -24.25659
2025-11-03T10:16:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5026174 -24.25659
2025-11-03T10:16:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5026174;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52238;2460982.84493947;10.27850417;1.3;_15.4774779616798 -24.1675864026403
2025-11-03T10:16:42.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4774779616798     dec_j2k = -24.1675864026403
2025-11-03T10:16:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968618381434171;171.162357330327;_
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968618381434171;171.162357330327;_
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58985)
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:42.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:42.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84493944, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968618381434171, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.5026174, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52238, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4774779616798, telescope_dec_j2k=-24.1675864026403, observability=1)
2025-11-03T10:16:43.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:43
2025-11-03T10:16:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6227610111236572s
2025-11-03T10:16:43.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6227610111236572
2025-11-03T10:16:43.506 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:43
2025-11-03T10:16:43.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:43.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7231636047363281s
2025-11-03T10:16:43.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7231636047363281
2025-11-03T10:16:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:44
2025-11-03T10:16:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9810230731964111s
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5031781;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52294;2460982.84496257;10.27906333;1.3;_
2025-11-03T10:16:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5031781;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52294;2460982.84496257;10.27906333;1.3;_
2025-11-03T10:16:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:44.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5031781, teldec = -24.25659
2025-11-03T10:16:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5031781 -24.25659
2025-11-03T10:16:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5031781 -24.25659
2025-11-03T10:16:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5031781 -24.25659
2025-11-03T10:16:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5031781;-24.25659;50.108521;89.993046;50.08601;90.12017;12.52294;2460982.8449626;10.27906333;1.3;_15.4780382548285 -24.1676026241398
2025-11-03T10:16:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4780382548285     dec_j2k = -24.1676026241398
2025-11-03T10:16:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968618782553599;171.162357330327;_
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968618782553599;171.162357330327;_
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39971)
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:44.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:44.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:44.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84496257, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968618782553599, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108521, telescope_az=89.993046, telescope_ra=15.5031781, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52294, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4780382548285, telescope_dec_j2k=-24.1676026241398, observability=1)
2025-11-03T10:16:45.457 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:45
2025-11-03T10:16:45.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:45.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6714253425598145s
2025-11-03T10:16:45.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6714253425598145
2025-11-03T10:16:45.480 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:45
2025-11-03T10:16:45.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:45.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6947135925292969s
2025-11-03T10:16:45.480 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6947135925292969
2025-11-03T10:16:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:46
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98378586769104s
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:46.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:46.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5037385;-24.25659;50.10852;89.993046;50.08601;90.12017;12.5235;2460982.84498578;10.27962222;1.3;_
2025-11-03T10:16:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5037385;-24.25659;50.10852;89.993046;50.08601;90.12017;12.5235;2460982.84498578;10.27962222;1.3;_
2025-11-03T10:16:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:46.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:46.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5037385, teldec = -24.25659
2025-11-03T10:16:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5037385 -24.25659
2025-11-03T10:16:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5037385 -24.25659
2025-11-03T10:16:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5037385 -24.25659
2025-11-03T10:16:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5037385;-24.25659;50.10852;89.993046;50.08601;90.12017;12.5235;2460982.8449858;10.27962222;1.3;_15.4785982482587 -24.1676188389092
2025-11-03T10:16:46.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4785982482587     dec_j2k = -24.1676188389092
2025-11-03T10:16:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968617178075887;171.162351965909;_
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968617178075887;171.162351965909;_
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47479)
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:46.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:46.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:46.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84498578, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968617178075887, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993046, telescope_ra=15.5037385, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5235, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4785982482587, telescope_dec_j2k=-24.1676188389092, observability=1)
2025-11-03T10:16:47.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:47
2025-11-03T10:16:47.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:47.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6462175846099854s
2025-11-03T10:16:47.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6462175846099854
2025-11-03T10:16:47.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:47
2025-11-03T10:16:47.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:47.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6683030128479004s
2025-11-03T10:16:47.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6683030128479004
2025-11-03T10:16:47.718 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:47.718 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:47.718 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:47.718 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:47.719 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:47.720 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:47.720 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:47.720 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:47.720 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:16:47.721 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:16:47.722 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:48.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:48
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9739508628845215s
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:48.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:48.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5043176;-24.25659;50.10852;89.993046;50.08601;90.12017;12.52408;2460982.84500884;10.28019972;1.3;_
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5043176;-24.25659;50.10852;89.993046;50.08601;90.12017;12.52408;2460982.84500884;10.28019972;1.3;_
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:48.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:48.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5043176, teldec = -24.25659
2025-11-03T10:16:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5043176 -24.25659
2025-11-03T10:16:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5043176 -24.25659
2025-11-03T10:16:48.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5043176 -24.25659
2025-11-03T10:16:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5043176;-24.25659;50.10852;89.993046;50.08601;90.12017;12.52408;2460982.84500887;10.28019972;1.3;_15.479176928189 -24.1676355967966
2025-11-03T10:16:48.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.479176928189     dec_j2k = -24.1676355967966
2025-11-03T10:16:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968618381434171;171.162357330327;_
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968618381434171;171.162357330327;_
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46259)
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:48.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:48.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:48.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84500884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968618381434171, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993046, telescope_ra=15.5043176, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52408, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.479176928189, telescope_dec_j2k=-24.1676355967966, observability=1)
2025-11-03T10:16:49.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:49
2025-11-03T10:16:49.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:49.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6629209518432617s
2025-11-03T10:16:49.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6629209518432617
2025-11-03T10:16:49.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:49
2025-11-03T10:16:49.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:49.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6849901676177979s
2025-11-03T10:16:49.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6849901676177979
2025-11-03T10:16:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:50
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984468698501587s
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5048499;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52461;2460982.84503203;10.28073056;1.3;_
2025-11-03T10:16:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5048499;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52461;2460982.84503203;10.28073056;1.3;_
2025-11-03T10:16:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:50.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5048499, teldec = -24.25659
2025-11-03T10:16:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5048499 -24.25659
2025-11-03T10:16:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5048499 -24.25659
2025-11-03T10:16:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5048499 -24.25659
2025-11-03T10:16:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5048499;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52461;2460982.84503206;10.28073056;1.3;_15.4797088421272 -24.167651002229
2025-11-03T10:16:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4797088421272     dec_j2k = -24.167651002229
2025-11-03T10:16:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968619183673027;171.162351965909;_
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968619183673027;171.162351965909;_
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35835)
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:50.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:50.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:50.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84503203, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968619183673027, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5048499, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4797088421272, telescope_dec_j2k=-24.167651002229, observability=1)
2025-11-03T10:16:51.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:51
2025-11-03T10:16:51.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:51.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6330325603485107s
2025-11-03T10:16:51.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6330325603485107
2025-11-03T10:16:51.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:51
2025-11-03T10:16:51.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:51.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.655278205871582s
2025-11-03T10:16:51.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.655278205871582
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Status age = 1.349672555923462s
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:52.130 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 17;15.5052421;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52501;2460982.84504781;10.28112167;1.3;_
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response 17;15.5052421;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52501;2460982.84504781;10.28112167;1.3;_
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:52.131 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:52.132 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:52.132 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:52.132 [INFO] [Thread-88859 (handle)] [driver.py] [get_status()] Telra = 15.5052421, teldec = -24.25659
2025-11-03T10:16:52.132 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5052421 -24.25659
2025-11-03T10:16:52.132 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5052421 -24.25659
2025-11-03T10:16:52.133 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5052421 -24.25659
2025-11-03T10:16:52.133 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 17;15.5052421;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52501;2460982.84504784;10.28112167;1.3;_15.4801007577127 -24.1676623541154
2025-11-03T10:16:52.134 [INFO] [Thread-88859 (handle)] [driver.py] [get_status()] ra_j2k = 15.4801007577127     dec_j2k = -24.1676623541154
2025-11-03T10:16:52.134 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:52.134 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:52.134 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:52.134 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 140;0.096862279374788;171.162351965909;_
2025-11-03T10:16:52.134 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response 140;0.096862279374788;171.162351965909;_
2025-11-03T10:16:52.135 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:52.135 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:52.135 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:52.135 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:52.136 [DEBUG] [Thread-88859 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59317)
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:52.140 [DEBUG] [Thread-88859 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:52.147 [DEBUG] [Thread-88859 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:52.147 [INFO] [Thread-88859 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84504781, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096862279374788, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5052421, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52501, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4801007577127, telescope_dec_j2k=-24.1676623541154, observability=1)
2025-11-03T10:16:52.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:52
2025-11-03T10:16:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6181893348693848s
2025-11-03T10:16:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6181893348693848
2025-11-03T10:16:52.968 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:52.968 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8206377029418945s
2025-11-03T10:16:52.968 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8206377029418945
2025-11-03T10:16:53.115 [DEBUG] [Thread-88860 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:53.115 [DEBUG] [Thread-88860 (handle)] [server.py] [get_status()] Status age = 0.9680688381195068s
2025-11-03T10:16:53.115 [DEBUG] [Thread-88860 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9680688381195068
2025-11-03T10:16:53.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:53
2025-11-03T10:16:53.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:53.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2541451454162598s
2025-11-03T10:16:53.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:53.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5056059;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52537;2460982.84506253;10.28148444;1.3;_
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5056059;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52537;2460982.84506253;10.28148444;1.3;_
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:53.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:53.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:53.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:53.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5056059, teldec = -24.25659
2025-11-03T10:16:53.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5056059 -24.25659
2025-11-03T10:16:53.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5056059 -24.25659
2025-11-03T10:16:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5056059 -24.25659
2025-11-03T10:16:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5056059;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52537;2460982.84506256;10.28148444;1.3;_15.4804642939212 -24.1676728848412
2025-11-03T10:16:53.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4804642939212     dec_j2k = -24.1676728848412
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096862279374788;171.162362694745;_
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096862279374788;171.162362694745;_
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36285)
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:53.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:53.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:53.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:53.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:53.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84506253, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096862279374788, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5056059, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52537, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4804642939212, telescope_dec_j2k=-24.1676728848412, observability=1)
2025-11-03T10:16:53.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:53
2025-11-03T10:16:53.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:53.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222609519958496s
2025-11-03T10:16:53.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222609519958496
2025-11-03T10:16:54.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:54
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3482069969177246s
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5059697;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52573;2460982.84507833;10.28184722;1.3;_
2025-11-03T10:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5059697;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52573;2460982.84507833;10.28184722;1.3;_
2025-11-03T10:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:54.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5059697, teldec = -24.25659
2025-11-03T10:16:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5059697 -24.25659
2025-11-03T10:16:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5059697 -24.25659
2025-11-03T10:16:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5059697 -24.25659
2025-11-03T10:16:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5059697;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52573;2460982.84507836;10.28184722;1.3;_15.4808278301565 -24.1676834163877
2025-11-03T10:16:54.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4808278301565     dec_j2k = -24.1676834163877
2025-11-03T10:16:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968621189270168;171.162351965909;_
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968621189270168;171.162351965909;_
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:54.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39129)
2025-11-03T10:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:54.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:54.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:54.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:54.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:54.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84507833, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968621189270168, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5059697, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52573, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4808278301565, telescope_dec_j2k=-24.1676834163877, observability=1)
2025-11-03T10:16:55.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:55
2025-11-03T10:16:55.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:55.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6578309535980225s
2025-11-03T10:16:55.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6578309535980225
2025-11-03T10:16:55.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:55
2025-11-03T10:16:55.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:55.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6830039024353027s
2025-11-03T10:16:55.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6830039024353027
2025-11-03T10:16:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:56
2025-11-03T10:16:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792203903198242s
2025-11-03T10:16:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5065209;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52628;2460982.84510149;10.28239694;1.3;_
2025-11-03T10:16:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5065209;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52628;2460982.84510149;10.28239694;1.3;_
2025-11-03T10:16:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:56.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5065209, teldec = -24.25659
2025-11-03T10:16:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5065209 -24.25659
2025-11-03T10:16:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5065209 -24.25659
2025-11-03T10:16:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5065209 -24.25659
2025-11-03T10:16:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5065209;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52628;2460982.84510152;10.28239694;1.3;_15.4813786305731 -24.1676993744886
2025-11-03T10:16:56.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4813786305731     dec_j2k = -24.1676993744886
2025-11-03T10:16:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968628008300444;171.162351965909;_
2025-11-03T10:16:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968628008300444;171.162351965909;_
2025-11-03T10:16:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:56.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35609)
2025-11-03T10:16:56.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:56.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:56.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84510149, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968628008300444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5065209, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52628, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4813786305731, telescope_dec_j2k=-24.1676993744886, observability=1)
2025-11-03T10:16:57.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:57
2025-11-03T10:16:57.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:57.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6226494312286377s
2025-11-03T10:16:57.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6226494312286377
2025-11-03T10:16:57.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:57
2025-11-03T10:16:57.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:57.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6452639102935791s
2025-11-03T10:16:57.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6452639102935791
2025-11-03T10:16:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:57.984 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2004406452178955s
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5068852;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52665;2460982.84511559;10.28276028;1.3;_
2025-11-03T10:16:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.5068852;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52665;2460982.84511559;10.28276028;1.3;_
2025-11-03T10:16:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:57.988 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.5068852, teldec = -24.25659
2025-11-03T10:16:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5068852 -24.25659
2025-11-03T10:16:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5068852 -24.25659
2025-11-03T10:16:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5068852 -24.25659
2025-11-03T10:16:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5068852;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52665;2460982.84511561;10.28276028;1.3;_15.4817426665136 -24.1677099225763
2025-11-03T10:16:57.989 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4817426665136     dec_j2k = -24.1677099225763
2025-11-03T10:16:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968628409419873;171.162357330327;_
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968628409419873;171.162357330327;_
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:16:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48623)
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:57.998 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:58.005 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:58.006 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84511559, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968628409419873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5068852, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52665, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4817426665136, telescope_dec_j2k=-24.1677099225763, observability=1)
2025-11-03T10:16:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:58
2025-11-03T10:16:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7600994110107422s
2025-11-03T10:16:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7600994110107422
2025-11-03T10:16:59.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:59
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3918282985687256s
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:16:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:16:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:16:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5072776;-24.256596;50.10852;89.993056;50.08601;90.12018;12.52704;2460982.84513193;10.28315139;1.3;_
2025-11-03T10:16:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5072776;-24.256596;50.10852;89.993056;50.08601;90.12018;12.52704;2460982.84513193;10.28315139;1.3;_
2025-11-03T10:16:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:16:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:16:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:16:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:16:59.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5072776, teldec = -24.256596
2025-11-03T10:16:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5072776 -24.256596
2025-11-03T10:16:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5072776 -24.256596
2025-11-03T10:16:59.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5072776 -24.256596
2025-11-03T10:16:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5072776;-24.256596;50.10852;89.993056;50.08601;90.12018;12.52704;2460982.84513197;10.28315139;1.3;_15.4821347811879 -24.1677272850379
2025-11-03T10:16:59.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4821347811879     dec_j2k = -24.1677272850379
2025-11-03T10:16:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:16:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:16:59.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968621189270168;171.162351965909;_
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968621189270168;171.162351965909;_
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:59.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:16:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:16:59.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54157)
2025-11-03T10:16:59.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:16:59.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:16:59.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:16:59.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:16:59.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:16:59.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:16:59.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84513193, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968621189270168, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993056, telescope_ra=15.5072776, telescope_dec=-24.256596, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52704, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4821347811879, telescope_dec_j2k=-24.1677272850379, observability=1)
2025-11-03T10:16:59.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:16:59
2025-11-03T10:16:59.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:16:59.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021862030029296875s
2025-11-03T10:16:59.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021862030029296875
2025-11-03T10:17:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:00
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.346648931503296s
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:00.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5076412;-24.25659;50.10852;89.993045;50.08601;90.12017;12.5274;2460982.84514774;10.28351417;1.3;_
2025-11-03T10:17:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5076412;-24.25659;50.10852;89.993045;50.08601;90.12017;12.5274;2460982.84514774;10.28351417;1.3;_
2025-11-03T10:17:00.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:00.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5076412, teldec = -24.25659
2025-11-03T10:17:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5076412 -24.25659
2025-11-03T10:17:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5076412 -24.25659
2025-11-03T10:17:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5076412 -24.25659
2025-11-03T10:17:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5076412;-24.25659;50.10852;89.993045;50.08601;90.12017;12.5274;2460982.84514778;10.28351417;1.3;_15.48249811862 -24.1677318147266
2025-11-03T10:17:00.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.48249811862     dec_j2k = -24.1677318147266
2025-11-03T10:17:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968622392628452;171.162351965909;_
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968622392628452;171.162351965909;_
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55017)
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:00.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:00.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:00.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84514774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968622392628452, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5076412, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5274, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.48249811862, telescope_dec_j2k=-24.1677318147266, observability=1)
2025-11-03T10:17:01.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:01
2025-11-03T10:17:01.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:01.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6626503467559814s
2025-11-03T10:17:01.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6626503467559814
2025-11-03T10:17:01.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:01
2025-11-03T10:17:01.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:01.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6844613552093506s
2025-11-03T10:17:01.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6844613552093506
2025-11-03T10:17:02.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:02
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793169498443604s
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5081918;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52796;2460982.84517089;10.28406333;1.3;_
2025-11-03T10:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5081918;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52796;2460982.84517089;10.28406333;1.3;_
2025-11-03T10:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5081918, teldec = -24.25659
2025-11-03T10:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5081918 -24.25659
2025-11-03T10:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5081918 -24.25659
2025-11-03T10:17:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5081918 -24.25659
2025-11-03T10:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5081918;-24.25659;50.10852;89.993045;50.08601;90.12017;12.52796;2460982.84517091;10.28406333;1.3;_15.4830483196583 -24.167747761159
2025-11-03T10:17:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4830483196583     dec_j2k = -24.167747761159
2025-11-03T10:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968629612778157;171.162362694745;_
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968629612778157;171.162362694745;_
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46861)
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:02.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:02.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84517089, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968629612778157, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5081918, telescope_dec=-24.25659, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4830483196583, telescope_dec_j2k=-24.167747761159, observability=1)
2025-11-03T10:17:03.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:03
2025-11-03T10:17:03.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:03.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6113319396972656s
2025-11-03T10:17:03.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6113319396972656
2025-11-03T10:17:03.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:03
2025-11-03T10:17:03.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:03.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6358015537261963s
2025-11-03T10:17:03.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6358015537261963
2025-11-03T10:17:04.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:04
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840917587280273s
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5087525;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52852;2460982.84519409;10.2846225;1.3;_
2025-11-03T10:17:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5087525;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52852;2460982.84519409;10.2846225;1.3;_
2025-11-03T10:17:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:04.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5087525, teldec = -24.256589
2025-11-03T10:17:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5087525 -24.256589
2025-11-03T10:17:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5087525 -24.256589
2025-11-03T10:17:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5087525 -24.256589
2025-11-03T10:17:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5087525;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52852;2460982.84519412;10.2846225;1.3;_15.4836086135964 -24.1677630020644
2025-11-03T10:17:04.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4836086135964     dec_j2k = -24.1677630020644
2025-11-03T10:17:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968628409419873;171.162357330327;_
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968628409419873;171.162357330327;_
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33023)
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:04.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:04.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84519409, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968628409419873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5087525, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52852, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4836086135964, telescope_dec_j2k=-24.1677630020644, observability=1)
2025-11-03T10:17:05.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:05
2025-11-03T10:17:05.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:05.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6071963310241699s
2025-11-03T10:17:05.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6071963310241699
2025-11-03T10:17:05.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:05
2025-11-03T10:17:05.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:05.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6291210651397705s
2025-11-03T10:17:05.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6291210651397705
2025-11-03T10:17:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:06
2025-11-03T10:17:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782774448394775s
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5093127;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52908;2460982.84521722;10.28518111;1.3;_
2025-11-03T10:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5093127;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52908;2460982.84521722;10.28518111;1.3;_
2025-11-03T10:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:06.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5093127, teldec = -24.256589
2025-11-03T10:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5093127 -24.256589
2025-11-03T10:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5093127 -24.256589
2025-11-03T10:17:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5093127 -24.256589
2025-11-03T10:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5093127;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52908;2460982.84521726;10.28518111;1.3;_15.4841684078056 -24.1677792304044
2025-11-03T10:17:06.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4841684078056     dec_j2k = -24.1677792304044
2025-11-03T10:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968628008300444;171.162351965909;_
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968628008300444;171.162351965909;_
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39595)
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:06.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:06.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:06.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84521722, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968628008300444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5093127, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52908, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4841684078056, telescope_dec_j2k=-24.1677792304044, observability=1)
2025-11-03T10:17:07.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:07
2025-11-03T10:17:07.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:07.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6069321632385254s
2025-11-03T10:17:07.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6069321632385254
2025-11-03T10:17:07.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:07
2025-11-03T10:17:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6285538673400879s
2025-11-03T10:17:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6285538673400879
2025-11-03T10:17:08.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:08
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9765357971191406s
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:08.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5098639;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52963;2460982.84524035;10.28573083;1.3;_
2025-11-03T10:17:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5098639;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52963;2460982.84524035;10.28573083;1.3;_
2025-11-03T10:17:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5098639, teldec = -24.256589
2025-11-03T10:17:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5098639 -24.256589
2025-11-03T10:17:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5098639 -24.256589
2025-11-03T10:17:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5098639 -24.256589
2025-11-03T10:17:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5098639;-24.256589;50.10852;89.993045;50.08601;90.12017;12.52963;2460982.84524037;10.28573083;1.3;_15.4847192085965 -24.1677951999216
2025-11-03T10:17:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4847192085965     dec_j2k = -24.1677951999216
2025-11-03T10:17:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096862279374788;171.162346601491;_
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096862279374788;171.162346601491;_
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35755)
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:08.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:08.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:08.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84524035, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096862279374788, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5098639, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.52963, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4847192085965, telescope_dec_j2k=-24.1677951999216, observability=1)
2025-11-03T10:17:09.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:09
2025-11-03T10:17:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6107749938964844s
2025-11-03T10:17:09.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6107749938964844
2025-11-03T10:17:09.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:09
2025-11-03T10:17:09.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:09.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6320278644561768s
2025-11-03T10:17:09.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6320278644561768
2025-11-03T10:17:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:10
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807567596435547s
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5104257;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53019;2460982.84526351;10.28629111;1.3;_
2025-11-03T10:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5104257;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53019;2460982.84526351;10.28629111;1.3;_
2025-11-03T10:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:10.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5104257, teldec = -24.256589
2025-11-03T10:17:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5104257 -24.256589
2025-11-03T10:17:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5104257 -24.256589
2025-11-03T10:17:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5104257 -24.256589
2025-11-03T10:17:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5104257;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53019;2460982.84526353;10.28629111;1.3;_15.4852806017738 -24.1678114784808
2025-11-03T10:17:10.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4852806017738     dec_j2k = -24.1678114784808
2025-11-03T10:17:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968634827330721;171.162351965909;_
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968634827330721;171.162351965909;_
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:10.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33473)
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:10.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:10.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84526351, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968634827330721, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5104257, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53019, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4852806017738, telescope_dec_j2k=-24.1678114784808, observability=1)
2025-11-03T10:17:11.195 [DEBUG] [Thread-88861 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:11.195 [DEBUG] [Thread-88861 (handle)] [server.py] [get_status()] Status age = 0.4088096618652344s
2025-11-03T10:17:11.195 [DEBUG] [Thread-88861 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4088096618652344
2025-11-03T10:17:11.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:11
2025-11-03T10:17:11.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:11.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6183474063873291s
2025-11-03T10:17:11.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6183474063873291
2025-11-03T10:17:11.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:11
2025-11-03T10:17:11.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:11.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6431303024291992s
2025-11-03T10:17:11.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6431303024291992
2025-11-03T10:17:12.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:12
2025-11-03T10:17:12.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97499418258667s
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:12.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5109772;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53074;2460982.84528661;10.28684111;1.3;_
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5109772;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53074;2460982.84528661;10.28684111;1.3;_
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:12.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:12.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5109772, teldec = -24.256589
2025-11-03T10:17:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5109772 -24.256589
2025-11-03T10:17:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5109772 -24.256589
2025-11-03T10:17:12.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5109772 -24.256589
2025-11-03T10:17:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5109772;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53074;2460982.84528663;10.28684111;1.3;_15.4858317024721 -24.1678274604905
2025-11-03T10:17:12.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4858317024721     dec_j2k = -24.1678274604905
2025-11-03T10:17:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968628409419873;171.162362694745;_
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968628409419873;171.162362694745;_
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42549)
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:12.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:12.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84528661, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968628409419873, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5109772, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53074, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4858317024721, telescope_dec_j2k=-24.1678274604905, observability=1)
2025-11-03T10:17:13.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:13
2025-11-03T10:17:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6138467788696289s
2025-11-03T10:17:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6138467788696289
2025-11-03T10:17:13.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:13
2025-11-03T10:17:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.63564133644104s
2025-11-03T10:17:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.63564133644104
2025-11-03T10:17:14.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:14
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9793522357940674s
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:14.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:14.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5115385;-24.256589;50.10852;89.993045;50.08601;90.12017;12.5313;2460982.84530975;10.28740083;1.3;_
2025-11-03T10:17:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5115385;-24.256589;50.10852;89.993045;50.08601;90.12017;12.5313;2460982.84530975;10.28740083;1.3;_
2025-11-03T10:17:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:14.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:14.763 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5115385, teldec = -24.256589
2025-11-03T10:17:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5115385 -24.256589
2025-11-03T10:17:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5115385 -24.256589
2025-11-03T10:17:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5115385 -24.256589
2025-11-03T10:17:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5115385;-24.256589;50.10852;89.993045;50.08601;90.12017;12.5313;2460982.84530977;10.28740083;1.3;_15.4863925961384 -24.167843728429
2025-11-03T10:17:14.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4863925961384     dec_j2k = -24.167843728429
2025-11-03T10:17:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968632821733581;171.162357330327;_
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968632821733581;171.162357330327;_
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33313)
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:14.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:14.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:14.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84530975, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968632821733581, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5115385, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5313, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4863925961384, telescope_dec_j2k=-24.167843728429, observability=1)
2025-11-03T10:17:15.077 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:17:15
2025-11-03T10:17:15.077 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:15.077 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.2947659492492676s
2025-11-03T10:17:15.077 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2947659492492676
2025-11-03T10:17:15.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:15
2025-11-03T10:17:15.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:15.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6138079166412354s
2025-11-03T10:17:15.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6138079166412354
2025-11-03T10:17:15.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:15
2025-11-03T10:17:15.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:15.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6359436511993408s
2025-11-03T10:17:15.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6359436511993408
2025-11-03T10:17:16.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:16
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0124852657318115s
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:16.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:16.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5120995;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53186;2460982.8453333;10.28796028;1.3;_
2025-11-03T10:17:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5120995;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53186;2460982.8453333;10.28796028;1.3;_
2025-11-03T10:17:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:16.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:16.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5120995, teldec = -24.256589
2025-11-03T10:17:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5120995 -24.256589
2025-11-03T10:17:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5120995 -24.256589
2025-11-03T10:17:16.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5120995 -24.256589
2025-11-03T10:17:16.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5120995;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53186;2460982.84533332;10.28796028;1.3;_15.4869531900859 -24.1678599896209
2025-11-03T10:17:16.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4869531900859     dec_j2k = -24.1678599896209
2025-11-03T10:17:16.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:16.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:16.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096863522845015;171.162351965909;_
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096863522845015;171.162351965909;_
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:16.804 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57267)
2025-11-03T10:17:16.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:16.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:16.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:16.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:16.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8453333, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096863522845015, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5120995, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53186, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4869531900859, telescope_dec_j2k=-24.1678599896209, observability=1)
2025-11-03T10:17:17.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:17
2025-11-03T10:17:17.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:17.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5831625461578369s
2025-11-03T10:17:17.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5831625461578369
2025-11-03T10:17:17.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:17
2025-11-03T10:17:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6049821376800537s
2025-11-03T10:17:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6049821376800537
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.8226714134216309s
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:18.635 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:18.636 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:18.637 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.5126234;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53239;2460982.84535459;10.28848278;1.3;_
2025-11-03T10:17:18.637 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.5126234;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53239;2460982.84535459;10.28848278;1.3;_
2025-11-03T10:17:18.637 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:18.637 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:18.637 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:18.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:18.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:18.638 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.5126234, teldec = -24.256589
2025-11-03T10:17:18.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.5126234 -24.256589
2025-11-03T10:17:18.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.5126234 -24.256589
2025-11-03T10:17:18.638 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5126234 -24.256589
2025-11-03T10:17:18.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.5126234;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53239;2460982.84535462;10.28848278;1.3;_15.4874767109443 -24.1678751771875
2025-11-03T10:17:18.639 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.4874767109443     dec_j2k = -24.1678751771875
2025-11-03T10:17:18.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:18.639 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968636832927862;171.162357330327;_
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968636832927862;171.162357330327;_
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:18.640 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:18.641 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:18.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:18.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:18.642 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52749)
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:18.645 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:18.653 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:17:18.653 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84535459, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968636832927862, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5126234, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53239, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4874767109443, telescope_dec_j2k=-24.1678751771875, observability=1)
2025-11-03T10:17:18.653 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5763306617736816 seconds ago
2025-11-03T10:17:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:18
2025-11-03T10:17:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.11635017395019531s
2025-11-03T10:17:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.11635017395019531
2025-11-03T10:17:19.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:19
2025-11-03T10:17:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7428925037384033s
2025-11-03T10:17:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7428925037384033
2025-11-03T10:17:19.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:19
2025-11-03T10:17:19.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:19.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7656664848327637s
2025-11-03T10:17:19.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7656664848327637
2025-11-03T10:17:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:20
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.1106724739074707s
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5132125;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53298;2460982.84537924;10.28907028;1.3;_
2025-11-03T10:17:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5132125;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53298;2460982.84537924;10.28907028;1.3;_
2025-11-03T10:17:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5132125, teldec = -24.256589
2025-11-03T10:17:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5132125 -24.256589
2025-11-03T10:17:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5132125 -24.256589
2025-11-03T10:17:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5132125 -24.256589
2025-11-03T10:17:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5132125;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53298;2460982.84537926;10.28907028;1.3;_15.4880653846846 -24.1678922568936
2025-11-03T10:17:20.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4880653846846     dec_j2k = -24.1678922568936
2025-11-03T10:17:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968640041883286;171.162351965909;_
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968640041883286;171.162351965909;_
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57859)
2025-11-03T10:17:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:20.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:20.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:20.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:20.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84537924, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968640041883286, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5132125, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53298, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:16:21.701201', telescope_ra_j2k=15.4880653846846, telescope_dec_j2k=-24.1678922568936, observability=1)
2025-11-03T10:17:21.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:21
2025-11-03T10:17:21.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:21.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6814310550689697s
2025-11-03T10:17:21.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6814310550689697
2025-11-03T10:17:21.502 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:21
2025-11-03T10:17:21.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:21.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7210125923156738s
2025-11-03T10:17:21.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7210125923156738
2025-11-03T10:17:21.842 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:21.842 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:21.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:21.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:21.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:21.843 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:21.843 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:21.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:21.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:21.844 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:21.844 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:17:21.844 [INFO] [ThreadPoolExecutor-3453_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:17:21.844 [INFO] [ThreadPoolExecutor-3453_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:17:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:22
2025-11-03T10:17:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821865558624268s
2025-11-03T10:17:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5137632;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53353;2460982.84540237;10.28961944;1.3;_
2025-11-03T10:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5137632;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53353;2460982.84540237;10.28961944;1.3;_
2025-11-03T10:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:22.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5137632, teldec = -24.256589
2025-11-03T10:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5137632 -24.256589
2025-11-03T10:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5137632 -24.256589
2025-11-03T10:17:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5137632 -24.256589
2025-11-03T10:17:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5137632;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53353;2460982.84540241;10.28961944;1.3;_15.4886156862742 -24.1679082252141
2025-11-03T10:17:22.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4886156862742     dec_j2k = -24.1679082252141
2025-11-03T10:17:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096863723404729;171.162362694745;_
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096863723404729;171.162362694745;_
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:22.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42815)
2025-11-03T10:17:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:22.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:22.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:22.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:22.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:22.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84540237, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096863723404729, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5137632, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4886156862742, telescope_dec_j2k=-24.1679082252141, observability=1)
2025-11-03T10:17:23.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:23
2025-11-03T10:17:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6109697818756104s
2025-11-03T10:17:23.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6109697818756104
2025-11-03T10:17:23.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:23
2025-11-03T10:17:23.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:23.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6321008205413818s
2025-11-03T10:17:23.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6321008205413818
2025-11-03T10:17:24.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:24
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9833941459655762s
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5143239;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53409;2460982.84542556;10.29017861;1.3;_
2025-11-03T10:17:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5143239;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53409;2460982.84542556;10.29017861;1.3;_
2025-11-03T10:17:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5143239, teldec = -24.256589
2025-11-03T10:17:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5143239 -24.256589
2025-11-03T10:17:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5143239 -24.256589
2025-11-03T10:17:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5143239 -24.256589
2025-11-03T10:17:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5143239;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53409;2460982.84542558;10.29017861;1.3;_15.4891759806925 -24.1679244854255
2025-11-03T10:17:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4891759806925     dec_j2k = -24.1679244854255
2025-11-03T10:17:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968644855316423;171.162357330327;_
2025-11-03T10:17:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968644855316423;171.162357330327;_
2025-11-03T10:17:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:24.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39917)
2025-11-03T10:17:24.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:24.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:24.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84542556, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968644855316423, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5143239, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53409, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4891759806925, telescope_dec_j2k=-24.1679244854255, observability=1)
2025-11-03T10:17:25.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:25
2025-11-03T10:17:25.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:25.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6180365085601807s
2025-11-03T10:17:25.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6180365085601807
2025-11-03T10:17:25.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:25
2025-11-03T10:17:25.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:25.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6428036689758301s
2025-11-03T10:17:25.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6428036689758301
2025-11-03T10:17:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:26
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978510856628418s
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5148843;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53465;2460982.8454487;10.2907375;1.3;_
2025-11-03T10:17:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5148843;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53465;2460982.8454487;10.2907375;1.3;_
2025-11-03T10:17:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:26.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5148843, teldec = -24.256589
2025-11-03T10:17:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5148843 -24.256589
2025-11-03T10:17:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5148843 -24.256589
2025-11-03T10:17:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5148843 -24.256589
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5148843;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53465;2460982.84544873;10.2907375;1.3;_15.4897359753917 -24.1679407388792
2025-11-03T10:17:26.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4897359753917     dec_j2k = -24.1679407388792
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968637635166718;171.162351965909;_
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968637635166718;171.162351965909;_
2025-11-03T10:17:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42587)
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:26.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:26.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8454487, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968637635166718, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5148843, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53465, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4897359753917, telescope_dec_j2k=-24.1679407388792, observability=1)
2025-11-03T10:17:27.509 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:27
2025-11-03T10:17:27.509 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:27.509 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7256991863250732s
2025-11-03T10:17:27.509 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7256991863250732
2025-11-03T10:17:27.532 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:27
2025-11-03T10:17:27.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:27.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.748171329498291s
2025-11-03T10:17:27.532 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.748171329498291
2025-11-03T10:17:28.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:28
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.012145757675171s
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:28.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:28.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:28.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:28.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5154439;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53521;2460982.84547219;10.29129556;1.3;_
2025-11-03T10:17:28.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5154439;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53521;2460982.84547219;10.29129556;1.3;_
2025-11-03T10:17:28.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:28.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:28.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:28.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:28.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:28.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5154439, teldec = -24.256589
2025-11-03T10:17:28.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5154439 -24.256589
2025-11-03T10:17:28.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5154439 -24.256589
2025-11-03T10:17:28.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5154439 -24.256589
2025-11-03T10:17:28.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5154439;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53521;2460982.84547222;10.29129556;1.3;_15.4902951707333 -24.1679569710675
2025-11-03T10:17:28.800 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4902951707333     dec_j2k = -24.1679569710675
2025-11-03T10:17:28.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:28.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:28.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968636832927862;171.162351965909;_
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968636832927862;171.162351965909;_
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:28.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:28.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:28.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:28.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:28.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:28.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51689)
2025-11-03T10:17:28.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:28.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:28.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:28.806 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:28.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:28.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:28.813 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84547219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968636832927862, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5154439, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53521, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4902951707333, telescope_dec_j2k=-24.1679569710675, observability=1)
2025-11-03T10:17:29.310 [DEBUG] [Thread-88862 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:29.310 [DEBUG] [Thread-88862 (handle)] [server.py] [get_status()] Status age = 0.4969625473022461s
2025-11-03T10:17:29.310 [DEBUG] [Thread-88862 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4969625473022461
2025-11-03T10:17:29.548 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:29
2025-11-03T10:17:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7353367805480957s
2025-11-03T10:17:29.549 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7353367805480957
2025-11-03T10:17:29.847 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:29
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0337769985198975s
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:29.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:29.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:29.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5157428;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53551;2460982.84548436;10.29159361;1.3;_
2025-11-03T10:17:29.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5157428;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53551;2460982.84548436;10.29159361;1.3;_
2025-11-03T10:17:29.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:29.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:29.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:29.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:29.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:29.851 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5157428, teldec = -24.256589
2025-11-03T10:17:29.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5157428 -24.256589
2025-11-03T10:17:29.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5157428 -24.256589
2025-11-03T10:17:29.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5157428 -24.256589
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5157428;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53551;2460982.84548439;10.29159361;1.3;_15.4905938546186 -24.1679656419839
2025-11-03T10:17:29.852 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4905938546186     dec_j2k = -24.1679656419839
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968643250838711;171.162351965909;_
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968643250838711;171.162351965909;_
2025-11-03T10:17:29.852 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:29.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:29.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:29.855 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57657)
2025-11-03T10:17:29.856 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:29.856 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:29.856 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:29.856 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:29.856 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:29.863 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:29.863 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84548436, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968643250838711, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5157428, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53551, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4905938546186, telescope_dec_j2k=-24.1679656419839, observability=1)
2025-11-03T10:17:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:30
2025-11-03T10:17:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9042141437530518s
2025-11-03T10:17:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9042141437530518
2025-11-03T10:17:31.556 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:31
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6924378871917725s
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:31.556 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:31.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:31.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:31.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:31.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:31.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5162193;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53598;2460982.84550414;10.29206889;1.3;_
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5162193;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53598;2460982.84550414;10.29206889;1.3;_
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:31.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:31.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:31.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:31.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:31.559 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5162193, teldec = -24.256589
2025-11-03T10:17:31.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5162193 -24.256589
2025-11-03T10:17:31.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5162193 -24.256589
2025-11-03T10:17:31.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5162193 -24.256589
2025-11-03T10:17:31.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5162193;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53598;2460982.84550418;10.29206889;1.3;_15.4910700101307 -24.1679794661155
2025-11-03T10:17:31.561 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4910700101307     dec_j2k = -24.1679794661155
2025-11-03T10:17:31.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:31.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:31.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:31.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968639640763858;171.162357330327;_
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968639640763858;171.162357330327;_
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:31.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:31.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:31.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:31.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:31.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:31.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:31.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:31.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49141)
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:31.565 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:31.572 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:31.573 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:31.573 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84550414, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968639640763858, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5162193, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53598, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4910700101307, telescope_dec_j2k=-24.1679794661155, observability=1)
2025-11-03T10:17:31.597 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:31
2025-11-03T10:17:31.597 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:31.597 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02424764633178711s
2025-11-03T10:17:31.597 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02424764633178711
2025-11-03T10:17:32.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:32
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1918914318084717s
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5165555;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53632;2460982.84551814;10.29240417;1.3;_
2025-11-03T10:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5165555;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53632;2460982.84551814;10.29240417;1.3;_
2025-11-03T10:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5165555, teldec = -24.256589
2025-11-03T10:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5165555 -24.256589
2025-11-03T10:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5165555 -24.256589
2025-11-03T10:17:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5165555 -24.256589
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5165555;-24.256589;50.10852;89.993045;50.08601;90.12017;12.53632;2460982.84551817;10.29240417;1.3;_15.4914059671012 -24.1679892207331
2025-11-03T10:17:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4914059671012     dec_j2k = -24.1679892207331
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968645657555279;171.162351965909;_
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968645657555279;171.162351965909;_
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43249)
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:32.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:32.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:32.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84551814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968645657555279, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10852, telescope_az=89.993045, telescope_ra=15.5165555, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53632, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4914059671012, telescope_dec_j2k=-24.1679892207331, observability=1)
2025-11-03T10:17:33.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:33
2025-11-03T10:17:33.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:33.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.615323543548584s
2025-11-03T10:17:33.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.615323543548584
2025-11-03T10:17:33.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:33
2025-11-03T10:17:33.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:33.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.636838436126709s
2025-11-03T10:17:33.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.636838436126709
2025-11-03T10:17:34.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:34
2025-11-03T10:17:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:34.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9780240058898926s
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:34.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:34.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5171151;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53688;2460982.84554125;10.29296222;1.3;_
2025-11-03T10:17:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5171151;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53688;2460982.84554125;10.29296222;1.3;_
2025-11-03T10:17:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:34.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5171151, teldec = -24.256589
2025-11-03T10:17:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5171151 -24.256589
2025-11-03T10:17:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5171151 -24.256589
2025-11-03T10:17:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5171151 -24.256589
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5171151;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53688;2460982.84554128;10.29296222;1.3;_15.4919651626331 -24.1680054587005
2025-11-03T10:17:34.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4919651626331     dec_j2k = -24.1680054587005
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09686516743467;171.162357330327;_
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09686516743467;171.162357330327;_
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54759)
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:34.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:34.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:34.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84554125, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09686516743467, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5171151, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53688, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4919651626331, telescope_dec_j2k=-24.1680054587005, observability=1)
2025-11-03T10:17:35.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:35
2025-11-03T10:17:35.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:35.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.631603479385376s
2025-11-03T10:17:35.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.631603479385376
2025-11-03T10:17:35.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:35
2025-11-03T10:17:35.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:35.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6534140110015869s
2025-11-03T10:17:35.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6534140110015869
2025-11-03T10:17:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:36
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892683029174805s
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5176661;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53743;2460982.84556448;10.29351167;1.3;_
2025-11-03T10:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5176661;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53743;2460982.84556448;10.29351167;1.3;_
2025-11-03T10:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:36.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5176661, teldec = -24.256589
2025-11-03T10:17:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5176661 -24.256589
2025-11-03T10:17:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5176661 -24.256589
2025-11-03T10:17:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5176661 -24.256589
2025-11-03T10:17:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5176661;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53743;2460982.8455645;10.29351167;1.3;_15.4925157644432 -24.1680214490109
2025-11-03T10:17:36.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4925157644432     dec_j2k = -24.1680214490109
2025-11-03T10:17:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968657691138121;171.162357330327;_
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968657691138121;171.162357330327;_
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:36.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:36.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:36.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:36.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51983)
2025-11-03T10:17:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:36.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:36.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:36.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84556448, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968657691138121, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5176661, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53743, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4925157644432, telescope_dec_j2k=-24.1680214490109, observability=1)
2025-11-03T10:17:37.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:37
2025-11-03T10:17:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6085124015808105s
2025-11-03T10:17:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6085124015808105
2025-11-03T10:17:37.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:37
2025-11-03T10:17:37.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:37.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.630016565322876s
2025-11-03T10:17:37.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.630016565322876
2025-11-03T10:17:38.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:38
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9798147678375244s
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5182271;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53799;2460982.8455876;10.29407111;1.3;_
2025-11-03T10:17:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5182271;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53799;2460982.8455876;10.29407111;1.3;_
2025-11-03T10:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:38.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5182271, teldec = -24.256589
2025-11-03T10:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5182271 -24.256589
2025-11-03T10:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5182271 -24.256589
2025-11-03T10:17:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5182271 -24.256589
2025-11-03T10:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5182271;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53799;2460982.84558764;10.29407111;1.3;_15.4930763590902 -24.168037731453
2025-11-03T10:17:38.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4930763590902     dec_j2k = -24.168037731453
2025-11-03T10:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968655284421552;171.162362694745;_
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968655284421552;171.162362694745;_
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:38.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56231)
2025-11-03T10:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:38.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:38.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:38.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8455876, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968655284421552, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5182271, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53799, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4930763590902, telescope_dec_j2k=-24.168037731453, observability=1)
2025-11-03T10:17:39.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:39
2025-11-03T10:17:39.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:39.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.61704421043396s
2025-11-03T10:17:39.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.61704421043396
2025-11-03T10:17:39.505 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:39
2025-11-03T10:17:39.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:39.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7157680988311768s
2025-11-03T10:17:39.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7157680988311768
2025-11-03T10:17:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:40
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9746575355529785s
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:40.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:40.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5187869;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53855;2460982.84561072;10.29462944;1.3;_
2025-11-03T10:17:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5187869;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53855;2460982.84561072;10.29462944;1.3;_
2025-11-03T10:17:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:40.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:40.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5187869, teldec = -24.256589
2025-11-03T10:17:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5187869 -24.256589
2025-11-03T10:17:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5187869 -24.256589
2025-11-03T10:17:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5187869 -24.256589
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5187869;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53855;2460982.84561074;10.29462944;1.3;_15.493635754668 -24.1680539810036
2025-11-03T10:17:40.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.493635754668     dec_j2k = -24.1680539810036
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968650470988416;171.162351965909;_
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968650470988416;171.162351965909;_
2025-11-03T10:17:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:40.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44295)
2025-11-03T10:17:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:40.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:40.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:40.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:40.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84561072, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968650470988416, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5187869, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53855, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.493635754668, telescope_dec_j2k=-24.1680539810036, observability=1)
2025-11-03T10:17:41.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:41
2025-11-03T10:17:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6171793937683105s
2025-11-03T10:17:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6171793937683105
2025-11-03T10:17:41.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:41
2025-11-03T10:17:41.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:41.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6397676467895508s
2025-11-03T10:17:41.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6397676467895508
2025-11-03T10:17:42.722 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.722 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.722 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:42.722 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:42.722 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:42.723 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.723 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:42.723 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:42.723 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.724 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.725 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:42.725 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:42.725 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:42.725 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:42.726 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:17:42.727 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:42.728 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Park
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:17:42.729 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:17:42.730 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 29;15.5193376;-24.256589;50.108519;89.993045;50.08601;90.12017;12.5391;2460982.84563345;10.29517861;1.3;_Park Command Successful
2025-11-03T10:17:42.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:42
2025-11-03T10:17:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9883546829223633s
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;15.5193376;-24.256589;50.108519;89.993045;50.08601;90.12017;12.5391;2460982.84563392;10.29517861;1.3;_
2025-11-03T10:17:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 29;15.5193376;-24.256589;50.108519;89.993045;50.08601;90.12017;12.5391;2460982.84563392;10.29517861;1.3;_
2025-11-03T10:17:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:42.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5193376, teldec = -24.256589
2025-11-03T10:17:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5193376 -24.256589
2025-11-03T10:17:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5193376 -24.256589
2025-11-03T10:17:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5193376 -24.256589
2025-11-03T10:17:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 29;15.5193376;-24.256589;50.108519;89.993045;50.08601;90.12017;12.5391;2460982.84563395;10.29517861;1.3;_15.4941860568824 -24.1680699682925
2025-11-03T10:17:42.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4941860568824     dec_j2k = -24.1680699682925
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09686516743467;171.162351965909;_
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09686516743467;171.162351965909;_
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58879)
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:42.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:42.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84563392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09686516743467, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5193376, telescope_dec=-24.256589, telescope_slewing=True, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5391, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4941860568824, telescope_dec_j2k=-24.1680699682925, observability=1)
2025-11-03T10:17:43.730 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:17:43.730 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:17:43.730 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:17:43.731 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:17:43.731 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:17:43.745 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:43
2025-11-03T10:17:43.745 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:43.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.955955982208252s
2025-11-03T10:17:43.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.955955982208252
2025-11-03T10:17:43.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:43
2025-11-03T10:17:43.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:43.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9782533645629883s
2025-11-03T10:17:43.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9782533645629883
2025-11-03T10:17:44.731 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:17:44.731 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:17:44.732 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:17:44.733 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:17:44.733 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:17:44.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:44
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806125164031982s
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5198983;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53966;2460982.84565708;10.29573778;1.3;_
2025-11-03T10:17:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5198983;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53966;2460982.84565708;10.29573778;1.3;_
2025-11-03T10:17:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:44.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5198983, teldec = -24.256589
2025-11-03T10:17:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5198983 -24.256589
2025-11-03T10:17:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5198983 -24.256589
2025-11-03T10:17:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5198983 -24.256589
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5198983;-24.256589;50.108519;89.993045;50.08601;90.12017;12.53966;2460982.84565712;10.29573778;1.3;_15.494746351937 -24.1680862478133
2025-11-03T10:17:44.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.494746351937     dec_j2k = -24.1680862478133
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968648866510703;171.162362694745;_
2025-11-03T10:17:44.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968648866510703;171.162362694745;_
2025-11-03T10:17:44.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:44.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:44.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:44.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:44.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:44.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:44.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49627)
2025-11-03T10:17:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:44.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:44.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:44.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84565708, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968648866510703, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5198983, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.53966, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.494746351937, telescope_dec_j2k=-24.1680862478133, observability=1)
2025-11-03T10:17:45.733 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:17:45.733 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:17:45.733 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:17:45.734 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:17:45.734 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:17:45.747 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:45
2025-11-03T10:17:45.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:45.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9597015380859375s
2025-11-03T10:17:45.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9597015380859375
2025-11-03T10:17:45.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:45
2025-11-03T10:17:45.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:45.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.980942964553833s
2025-11-03T10:17:45.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.980942964553833
2025-11-03T10:17:46.734 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:17:46.734 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:17:46.734 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:46.736 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:17:46.737 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:17:46.738 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:46
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984832763671875s
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5204582;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54022;2460982.84568024;10.29629611;1.3;_
2025-11-03T10:17:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5204582;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54022;2460982.84568024;10.29629611;1.3;_
2025-11-03T10:17:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:46.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5204582, teldec = -24.256589
2025-11-03T10:17:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5204582 -24.256589
2025-11-03T10:17:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5204582 -24.256589
2025-11-03T10:17:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5204582 -24.256589
2025-11-03T10:17:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5204582;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54022;2460982.84568028;10.29629611;1.3;_15.4953058476332 -24.1681025060428
2025-11-03T10:17:46.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4953058476332     dec_j2k = -24.1681025060428
2025-11-03T10:17:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968654081063268;171.162357330327;_
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968654081063268;171.162357330327;_
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39507)
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:46.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:46.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:46.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84568024, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968654081063268, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5204582, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54022, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4953058476332, telescope_dec_j2k=-24.1681025060428, observability=1)
2025-11-03T10:17:47.375 [DEBUG] [Thread-88863 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:47.375 [DEBUG] [Thread-88863 (handle)] [server.py] [get_status()] Status age = 0.5821161270141602s
2025-11-03T10:17:47.375 [DEBUG] [Thread-88863 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5821161270141602
2025-11-03T10:17:47.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:47
2025-11-03T10:17:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6086838245391846s
2025-11-03T10:17:47.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6086838245391846
2025-11-03T10:17:47.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:47
2025-11-03T10:17:47.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:47.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6303150653839111s
2025-11-03T10:17:47.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6303150653839111
2025-11-03T10:17:47.738 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:47.738 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:47.738 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:47.738 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:47.738 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:47.739 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:47.739 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:17:47.740 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:17:47.741 [DEBUG] [ThreadPoolExecutor-3452_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:47.741 [INFO] [ThreadPoolExecutor-3452_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:17:48.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:48
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9782209396362305s
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5210086;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54077;2460982.84570338;10.296845;1.3;_
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5210086;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54077;2460982.84570338;10.296845;1.3;_
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:48.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5210086, teldec = -24.256589
2025-11-03T10:17:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5210086 -24.256589
2025-11-03T10:17:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5210086 -24.256589
2025-11-03T10:17:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5210086 -24.256589
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5210086;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54077;2460982.84570341;10.296845;1.3;_15.4958558502517 -24.1681184902993
2025-11-03T10:17:48.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4958558502517     dec_j2k = -24.1681184902993
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968656888899265;171.162351965909;_
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968656888899265;171.162351965909;_
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57679)
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:48.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:48.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:48.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:48.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:48.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:48.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84570338, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968656888899265, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5210086, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54077, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4958558502517, telescope_dec_j2k=-24.1681184902993, observability=1)
2025-11-03T10:17:49.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:49
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.014160394668579s
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:49.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:49.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:49.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5213169;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54108;2460982.84571532;10.2971525;1.3;_
2025-11-03T10:17:49.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5213169;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54108;2460982.84571532;10.2971525;1.3;_
2025-11-03T10:17:49.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:49.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:49.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:49.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:49.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:49.805 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5213169, teldec = -24.256589
2025-11-03T10:17:49.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5213169 -24.256589
2025-11-03T10:17:49.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5213169 -24.256589
2025-11-03T10:17:49.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5213169 -24.256589
2025-11-03T10:17:49.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5213169;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54108;2460982.84571535;10.2971525;1.3;_15.4961639276901 -24.1681274445067
2025-11-03T10:17:49.806 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4961639276901     dec_j2k = -24.1681274445067
2025-11-03T10:17:49.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:49.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:49.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096865367994384;171.162357330327;_
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096865367994384;171.162357330327;_
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:49.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:49.808 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:49.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:49.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:49.809 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45403)
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:49.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:49.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:49.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84571532, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096865367994384, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5213169, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54108, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4961639276901, telescope_dec_j2k=-24.1681274445067, observability=1)
2025-11-03T10:17:49.844 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:49
2025-11-03T10:17:49.844 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:49.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02315378189086914s
2025-11-03T10:17:49.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02315378189086914
2025-11-03T10:17:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:50
2025-11-03T10:17:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9433720111846924s
2025-11-03T10:17:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9433720111846924
2025-11-03T10:17:51.714 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:51
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8924353122711182s
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:51.714 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:51.715 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:51.715 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5218495;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54161;2460982.84573744;10.29768361;1.3;_
2025-11-03T10:17:51.715 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5218495;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54161;2460982.84573744;10.29768361;1.3;_
2025-11-03T10:17:51.715 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:51.715 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:51.716 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:51.716 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:51.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:51.717 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5218495, teldec = -24.256589
2025-11-03T10:17:51.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5218495 -24.256589
2025-11-03T10:17:51.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5218495 -24.256589
2025-11-03T10:17:51.717 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5218495 -24.256589
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5218495;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54161;2460982.84573748;10.29768361;1.3;_15.4966961432522 -24.1681429146227
2025-11-03T10:17:51.718 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4966961432522     dec_j2k = -24.1681429146227
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968657691138121;171.162351965909;_
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968657691138121;171.162351965909;_
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:51.718 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:51.719 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:51.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:51.720 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:51.724 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44125)
2025-11-03T10:17:51.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:51.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:51.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:51.724 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:51.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:51.731 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:51.731 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:51.731 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:51.732 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:51.732 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84573744, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968657691138121, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5218495, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4966961432522, telescope_dec_j2k=-24.1681429146227, observability=1)
2025-11-03T10:17:51.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:51
2025-11-03T10:17:51.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:51.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222275733947754s
2025-11-03T10:17:51.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222275733947754
2025-11-03T10:17:52.057 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:52.057 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3251512050628662s
2025-11-03T10:17:52.057 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3251512050628662
2025-11-03T10:17:52.216 [DEBUG] [Thread-88864 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:52.216 [DEBUG] [Thread-88864 (handle)] [server.py] [get_status()] Status age = 0.4844958782196045s
2025-11-03T10:17:52.217 [DEBUG] [Thread-88864 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4844958782196045
2025-11-03T10:17:52.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:52
2025-11-03T10:17:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.036529541015625s
2025-11-03T10:17:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5221288;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54189;2460982.84574965;10.29796222;1.3;_
2025-11-03T10:17:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5221288;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54189;2460982.84574965;10.29796222;1.3;_
2025-11-03T10:17:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:52.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5221288, teldec = -24.256589
2025-11-03T10:17:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5221288 -24.256589
2025-11-03T10:17:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5221288 -24.256589
2025-11-03T10:17:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5221288 -24.256589
2025-11-03T10:17:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5221288;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54189;2460982.84574969;10.29796222;1.3;_15.4969752416727 -24.1681510279834
2025-11-03T10:17:52.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4969752416727     dec_j2k = -24.1681510279834
2025-11-03T10:17:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968659295615833;171.162357330327;_
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968659295615833;171.162357330327;_
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:52.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:52.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:52.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:52.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:52.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:52.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38305)
2025-11-03T10:17:52.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:52.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:52.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:52.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:52.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:52.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:52.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84574965, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968659295615833, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5221288, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54189, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4969752416727, telescope_dec_j2k=-24.1681510279834, observability=1)
2025-11-03T10:17:53.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:53
2025-11-03T10:17:53.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:53.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9646759033203125s
2025-11-03T10:17:53.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9646759033203125
2025-11-03T10:17:53.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:53
2025-11-03T10:17:53.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:53.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9875426292419434s
2025-11-03T10:17:53.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9875426292419434
2025-11-03T10:17:54.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:54
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9741110801696777s
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5226795;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54244;2460982.84577275;10.29851139;1.3;_
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5226795;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54244;2460982.84577275;10.29851139;1.3;_
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5226795, teldec = -24.256589
2025-11-03T10:17:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5226795 -24.256589
2025-11-03T10:17:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5226795 -24.256589
2025-11-03T10:17:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5226795 -24.256589
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5226795;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54244;2460982.84577279;10.29851139;1.3;_15.4975255442621 -24.1681670266277
2025-11-03T10:17:54.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4975255442621     dec_j2k = -24.1681670266277
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968661301212973;171.162368059163;_
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968661301212973;171.162368059163;_
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52517)
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:54.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84577275, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968661301212973, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5226795, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54244, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4975255442621, telescope_dec_j2k=-24.1681670266277, observability=1)
2025-11-03T10:17:55.745 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:55
2025-11-03T10:17:55.745 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:55.745 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9656076431274414s
2025-11-03T10:17:55.745 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9656076431274414
2025-11-03T10:17:55.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:55
2025-11-03T10:17:55.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:55.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9872481822967529s
2025-11-03T10:17:55.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9872481822967529
2025-11-03T10:17:56.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:56
2025-11-03T10:17:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9867794513702393s
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5232402;-24.256589;50.108519;89.993045;50.08601;90.12017;12.543;2460982.84579593;10.29907056;1.3;_
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5232402;-24.256589;50.108519;89.993045;50.08601;90.12017;12.543;2460982.84579593;10.29907056;1.3;_
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5232402, teldec = -24.256589
2025-11-03T10:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5232402 -24.256589
2025-11-03T10:17:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5232402 -24.256589
2025-11-03T10:17:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5232402 -24.256589
2025-11-03T10:17:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5232402;-24.256589;50.108519;89.993045;50.08601;90.12017;12.543;2460982.84579595;10.29907056;1.3;_15.4980858396985 -24.168183317708
2025-11-03T10:17:56.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4980858396985     dec_j2k = -24.168183317708
2025-11-03T10:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968665312407254;171.162362694745;_
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968665312407254;171.162362694745;_
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32933)
2025-11-03T10:17:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:56.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:56.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:56.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:56.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:56.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:56.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:56.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:56.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84579593, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968665312407254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5232402, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4980858396985, telescope_dec_j2k=-24.168183317708, observability=1)
2025-11-03T10:17:57.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:57
2025-11-03T10:17:57.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:57.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6102006435394287s
2025-11-03T10:17:57.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6102006435394287
2025-11-03T10:17:57.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:57
2025-11-03T10:17:57.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:57.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6315991878509521s
2025-11-03T10:17:57.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6315991878509521
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2019784450531006s
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5235764;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54334;2460982.84581007;10.29940583;1.3;_
2025-11-03T10:17:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.5235764;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54334;2460982.84581007;10.29940583;1.3;_
2025-11-03T10:17:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:57.991 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.5235764, teldec = -24.256589
2025-11-03T10:17:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5235764 -24.256589
2025-11-03T10:17:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5235764 -24.256589
2025-11-03T10:17:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5235764 -24.256589
2025-11-03T10:17:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5235764;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54334;2460982.84581009;10.29940583;1.3;_15.4984217971498 -24.1681930868936
2025-11-03T10:17:57.992 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.4984217971498     dec_j2k = -24.1681930868936
2025-11-03T10:17:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968660097854689;171.162362694745;_
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968660097854689;171.162362694745;_
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:17:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:17:57.999 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56329)
2025-11-03T10:17:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:58.007 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:58.008 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84581007, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968660097854689, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5235764, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54334, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4984217971498, telescope_dec_j2k=-24.1681930868936, observability=1)
2025-11-03T10:17:58.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:58
2025-11-03T10:17:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7599315643310547s
2025-11-03T10:17:58.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7599315643310547
2025-11-03T10:17:59.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:59
2025-11-03T10:17:59.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.745683193206787s
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:17:59.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:17:59.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:17:59.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5240803;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54384;2460982.84583051;10.29990833;1.3;_
2025-11-03T10:17:59.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5240803;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54384;2460982.84583051;10.29990833;1.3;_
2025-11-03T10:17:59.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:17:59.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:17:59.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:17:59.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:59.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:17:59.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5240803, teldec = -24.256589
2025-11-03T10:17:59.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5240803 -24.256589
2025-11-03T10:17:59.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5240803 -24.256589
2025-11-03T10:17:59.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5240803 -24.256589
2025-11-03T10:17:59.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5240803;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54384;2460982.84583053;10.29990833;1.3;_15.4989253336586 -24.1682077303538
2025-11-03T10:17:59.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4989253336586     dec_j2k = -24.1682077303538
2025-11-03T10:17:59.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968662905690685;171.162362694745;_
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968662905690685;171.162362694745;_
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:59.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:59.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:17:59.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46413)
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:17:59.764 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:17:59.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:17:59.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84583051, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968662905690685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5240803, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4989253336586, telescope_dec_j2k=-24.1682077303538, observability=1)
2025-11-03T10:17:59.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:17:59
2025-11-03T10:17:59.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:17:59.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02131795883178711s
2025-11-03T10:17:59.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02131795883178711
2025-11-03T10:18:00.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:00
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0131232738494873s
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:00.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:00.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5243602;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54412;2460982.84584243;10.3001875;1.3;_
2025-11-03T10:18:00.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5243602;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54412;2460982.84584243;10.3001875;1.3;_
2025-11-03T10:18:00.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:00.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:00.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:00.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:00.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:00.788 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5243602, teldec = -24.256589
2025-11-03T10:18:00.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5243602 -24.256589
2025-11-03T10:18:00.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5243602 -24.256589
2025-11-03T10:18:00.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5243602 -24.256589
2025-11-03T10:18:00.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5243602;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54412;2460982.84584247;10.3001875;1.3;_15.4992050317734 -24.168215864994
2025-11-03T10:18:00.789 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4992050317734     dec_j2k = -24.168215864994
2025-11-03T10:18:00.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:00.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:00.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968665312407254;171.162346601491;_
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968665312407254;171.162346601491;_
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:00.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:00.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:00.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37937)
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:00.797 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:00.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:00.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:00.804 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:00.804 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:00.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:00.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:00.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:00.805 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:00.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:00.805 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84584243, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968665312407254, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5243602, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54412, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4992050317734, telescope_dec_j2k=-24.168215864994, observability=1)
2025-11-03T10:18:01.701 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:01
2025-11-03T10:18:01.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:01.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8960936069488525s
2025-11-03T10:18:01.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8960936069488525
2025-11-03T10:18:01.724 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:01
2025-11-03T10:18:01.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:01.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9190528392791748s
2025-11-03T10:18:01.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9190528392791748
2025-11-03T10:18:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:02
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9648711681365967s
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5249117;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54467;2460982.84586541;10.3007375;1.3;_
2025-11-03T10:18:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5249117;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54467;2460982.84586541;10.3007375;1.3;_
2025-11-03T10:18:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:02.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5249117, teldec = -24.256589
2025-11-03T10:18:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5249117 -24.256589
2025-11-03T10:18:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5249117 -24.256589
2025-11-03T10:18:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5249117 -24.256589
2025-11-03T10:18:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5249117;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54467;2460982.84586544;10.3007375;1.3;_15.4997561340364 -24.1682318944671
2025-11-03T10:18:02.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.4997561340364     dec_j2k = -24.1682318944671
2025-11-03T10:18:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968659696735261;171.162351965909;_
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968659696735261;171.162351965909;_
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39327)
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:02.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:02.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84586541, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968659696735261, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5249117, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54467, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.4997561340364, telescope_dec_j2k=-24.1682318944671, observability=1)
2025-11-03T10:18:03.746 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:03
2025-11-03T10:18:03.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:03.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9600644111633301s
2025-11-03T10:18:03.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9600644111633301
2025-11-03T10:18:03.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:03
2025-11-03T10:18:03.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:03.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9817216396331787s
2025-11-03T10:18:03.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9817216396331787
2025-11-03T10:18:04.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:04
2025-11-03T10:18:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979175329208374s
2025-11-03T10:18:04.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:04.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5254724;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54524;2460982.84588851;10.30129667;1.3;_
2025-11-03T10:18:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5254724;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54524;2460982.84588851;10.30129667;1.3;_
2025-11-03T10:18:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:04.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:04.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5254724, teldec = -24.256589
2025-11-03T10:18:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5254724 -24.256589
2025-11-03T10:18:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5254724 -24.256589
2025-11-03T10:18:04.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5254724 -24.256589
2025-11-03T10:18:04.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5254724;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54524;2460982.84588853;10.30129667;1.3;_15.5003164297281 -24.1682481932616
2025-11-03T10:18:04.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5003164297281     dec_j2k = -24.1682481932616
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968665713526682;171.162362694745;_
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968665713526682;171.162362694745;_
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:04.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:04.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53815)
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:04.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:04.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:04.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84588851, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968665713526682, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5254724, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5003164297281, telescope_dec_j2k=-24.1682481932616, observability=1)
2025-11-03T10:18:05.488 [DEBUG] [Thread-88865 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:05.488 [DEBUG] [Thread-88865 (handle)] [server.py] [get_status()] Status age = 0.7027366161346436s
2025-11-03T10:18:05.488 [DEBUG] [Thread-88865 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7027366161346436
2025-11-03T10:18:05.751 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:05
2025-11-03T10:18:05.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:05.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9659829139709473s
2025-11-03T10:18:05.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9659829139709473
2025-11-03T10:18:05.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:05
2025-11-03T10:18:05.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:05.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9876127243041992s
2025-11-03T10:18:05.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9876127243041992
2025-11-03T10:18:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:06
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9834375381469727s
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5260245;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54579;2460982.8459117;10.30184722;1.3;_
2025-11-03T10:18:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5260245;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54579;2460982.8459117;10.30184722;1.3;_
2025-11-03T10:18:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:06.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5260245, teldec = -24.256589
2025-11-03T10:18:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5260245 -24.256589
2025-11-03T10:18:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5260245 -24.256589
2025-11-03T10:18:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5260245 -24.256589
2025-11-03T10:18:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5260245;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54579;2460982.84591172;10.30184722;1.3;_15.5008681316837 -24.1682642439581
2025-11-03T10:18:06.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5008681316837     dec_j2k = -24.1682642439581
2025-11-03T10:18:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096866611464611;171.162357330327;_
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096866611464611;171.162357330327;_
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39987)
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:06.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:06.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8459117, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096866611464611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5260245, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54579, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5008681316837, telescope_dec_j2k=-24.1682642439581, observability=1)
2025-11-03T10:18:07.747 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:07
2025-11-03T10:18:07.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:07.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9607651233673096s
2025-11-03T10:18:07.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9607651233673096
2025-11-03T10:18:07.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:07
2025-11-03T10:18:07.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:07.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.983755350112915s
2025-11-03T10:18:07.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.983755350112915
2025-11-03T10:18:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:08
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9786453247070312s
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5265871;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54635;2460982.8459348;10.30240833;1.3;_
2025-11-03T10:18:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5265871;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54635;2460982.8459348;10.30240833;1.3;_
2025-11-03T10:18:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:08.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5265871, teldec = -24.256589
2025-11-03T10:18:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5265871 -24.256589
2025-11-03T10:18:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5265871 -24.256589
2025-11-03T10:18:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5265871 -24.256589
2025-11-03T10:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5265871;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54635;2460982.84593483;10.30240833;1.3;_15.5014303261331 -24.168280601843
2025-11-03T10:18:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5014303261331     dec_j2k = -24.168280601843
2025-11-03T10:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968664911287826;171.162351965909;_
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968664911287826;171.162351965909;_
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39823)
2025-11-03T10:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:08.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:08.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8459348, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968664911287826, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5265871, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54635, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5014303261331, telescope_dec_j2k=-24.168280601843, observability=1)
2025-11-03T10:18:09.746 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:09
2025-11-03T10:18:09.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:09.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9587762355804443s
2025-11-03T10:18:09.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9587762355804443
2025-11-03T10:18:09.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:09
2025-11-03T10:18:09.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:09.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9811387062072754s
2025-11-03T10:18:09.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9811387062072754
2025-11-03T10:18:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:10
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9761962890625s
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:10.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5271467;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54691;2460982.84595793;10.30296639;1.3;_
2025-11-03T10:18:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5271467;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54691;2460982.84595793;10.30296639;1.3;_
2025-11-03T10:18:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:10.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5271467, teldec = -24.256589
2025-11-03T10:18:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5271467 -24.256589
2025-11-03T10:18:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5271467 -24.256589
2025-11-03T10:18:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5271467 -24.256589
2025-11-03T10:18:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5271467;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54691;2460982.84595795;10.30296639;1.3;_15.5019895228092 -24.168296874435
2025-11-03T10:18:10.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5019895228092     dec_j2k = -24.168296874435
2025-11-03T10:18:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096866611464611;171.162357330327;_
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096866611464611;171.162357330327;_
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:10.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56573)
2025-11-03T10:18:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:10.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:10.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:10.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:10.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84595793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096866611464611, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5271467, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54691, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5019895228092, telescope_dec_j2k=-24.168296874435, observability=1)
2025-11-03T10:18:11.701 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:11
2025-11-03T10:18:11.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:11.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9189631938934326s
2025-11-03T10:18:11.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9189631938934326
2025-11-03T10:18:11.727 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:11
2025-11-03T10:18:11.728 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:11.728 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9454154968261719s
2025-11-03T10:18:11.728 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9454154968261719
2025-11-03T10:18:12.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:12
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.983206033706665s
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5276974;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54746;2460982.8459811;10.30351556;1.3;_
2025-11-03T10:18:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5276974;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54746;2460982.8459811;10.30351556;1.3;_
2025-11-03T10:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:12.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5276974, teldec = -24.256589
2025-11-03T10:18:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5276974 -24.256589
2025-11-03T10:18:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5276974 -24.256589
2025-11-03T10:18:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5276974 -24.256589
2025-11-03T10:18:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5276974;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54746;2460982.84598113;10.30351556;1.3;_15.5025398259622 -24.1683128901067
2025-11-03T10:18:12.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5025398259622     dec_j2k = -24.1683128901067
2025-11-03T10:18:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968668922482106;171.162357330327;_
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968668922482106;171.162357330327;_
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:12.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59831)
2025-11-03T10:18:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:12.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:12.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:12.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8459811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968668922482106, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5276974, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54746, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5025398259622, telescope_dec_j2k=-24.1683128901067, observability=1)
2025-11-03T10:18:13.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:13
2025-11-03T10:18:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6070497035980225s
2025-11-03T10:18:13.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6070497035980225
2025-11-03T10:18:13.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:13
2025-11-03T10:18:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6286756992340088s
2025-11-03T10:18:13.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6286756992340088
2025-11-03T10:18:14.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:14
2025-11-03T10:18:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9820189476013184s
2025-11-03T10:18:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5282584;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54802;2460982.84600429;10.304075;1.3;_
2025-11-03T10:18:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5282584;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54802;2460982.84600429;10.304075;1.3;_
2025-11-03T10:18:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:14.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5282584, teldec = -24.256589
2025-11-03T10:18:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5282584 -24.256589
2025-11-03T10:18:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5282584 -24.256589
2025-11-03T10:18:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5282584 -24.256589
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5282584;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54802;2460982.84600432;10.304075;1.3;_15.5031004217564 -24.1683292072466
2025-11-03T10:18:14.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5031004217564     dec_j2k = -24.1683292072466
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096866812024325;171.162368059163;_
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096866812024325;171.162368059163;_
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:14.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51859)
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:14.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84600429, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096866812024325, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5282584, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54802, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5031004217564, telescope_dec_j2k=-24.1683292072466, observability=1)
2025-11-03T10:18:15.138 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:18:15
2025-11-03T10:18:15.138 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:15.138 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.35256505012512207s
2025-11-03T10:18:15.138 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35256505012512207
2025-11-03T10:18:15.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:15
2025-11-03T10:18:15.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:15.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6196684837341309s
2025-11-03T10:18:15.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6196684837341309
2025-11-03T10:18:15.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:15
2025-11-03T10:18:15.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:15.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6443798542022705s
2025-11-03T10:18:15.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6443798542022705
2025-11-03T10:18:16.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:16
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9995265007019043s
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:16.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5288183;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54858;2460982.84602763;10.30463333;1.3;_
2025-11-03T10:18:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5288183;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54858;2460982.84602763;10.30463333;1.3;_
2025-11-03T10:18:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:16.788 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5288183, teldec = -24.256589
2025-11-03T10:18:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5288183 -24.256589
2025-11-03T10:18:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5288183 -24.256589
2025-11-03T10:18:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5288183 -24.256589
2025-11-03T10:18:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5288183;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54858;2460982.84602765;10.30463333;1.3;_15.5036599184072 -24.1683454943237
2025-11-03T10:18:16.789 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5036599184072     dec_j2k = -24.1683454943237
2025-11-03T10:18:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968672933676387;171.162357330327;_
2025-11-03T10:18:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968672933676387;171.162357330327;_
2025-11-03T10:18:16.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:16.792 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:16.795 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49331)
2025-11-03T10:18:16.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:16.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:16.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:16.796 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:16.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:16.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:16.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:16.803 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84602763, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968672933676387, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5288183, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54858, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5036599184072, telescope_dec_j2k=-24.1683454943237, observability=1)
2025-11-03T10:18:17.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:17
2025-11-03T10:18:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5927102565765381s
2025-11-03T10:18:17.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5927102565765381
2025-11-03T10:18:17.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:17
2025-11-03T10:18:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6144037246704102s
2025-11-03T10:18:17.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6144037246704102
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 1.9097800254821777s
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:18.713 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:18.714 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:18.715 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.5293689;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54913;2460982.84604994;10.3051825;1.3;_
2025-11-03T10:18:18.715 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 17;15.5293689;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54913;2460982.84604994;10.3051825;1.3;_
2025-11-03T10:18:18.715 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:18.715 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:18.715 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:18.716 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:18.716 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:18.716 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] Telra = 15.5293689, teldec = -24.256589
2025-11-03T10:18:18.716 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] UnCookCoordinates 15.5293689 -24.256589
2025-11-03T10:18:18.716 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command UnCookCoordinates 15.5293689 -24.256589
2025-11-03T10:18:18.716 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5293689 -24.256589
2025-11-03T10:18:18.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 17;15.5293689;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54913;2460982.84604997;10.3051825;1.3;_15.5042101218202 -24.168361512752
2025-11-03T10:18:18.717 [INFO] [lcu_check_connected_worker] [driver.py] [get_status()] ra_j2k = 15.5042101218202     dec_j2k = -24.168361512752
2025-11-03T10:18:18.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:18.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:18.717 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 140;0.0968669724720962;171.162357330327;_
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 140;0.0968669724720962;171.162357330327;_
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:18.718 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:18.719 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:18.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:18.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:18.720 [DEBUG] [lcu_check_connected_worker] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43753)
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:18.722 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:18.729 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:18.729 [DEBUG] [lcu_check_connected_worker] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:18.730 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Received all status components
2025-11-03T10:18:18.730 [INFO] [lcu_check_connected_worker] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84604994, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968669724720962, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5293689, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54913, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5042101218202, telescope_dec_j2k=-24.168361512752, observability=1)
2025-11-03T10:18:18.730 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.592179298400879 seconds ago
2025-11-03T10:18:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:18
2025-11-03T10:18:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03570747375488281s
2025-11-03T10:18:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03570747375488281
2025-11-03T10:18:19.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:19
2025-11-03T10:18:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.665959358215332s
2025-11-03T10:18:19.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.665959358215332
2025-11-03T10:18:19.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:19
2025-11-03T10:18:19.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:19.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6881413459777832s
2025-11-03T10:18:19.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6881413459777832
2025-11-03T10:18:20.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:20
2025-11-03T10:18:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.031566619873047s
2025-11-03T10:18:20.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5299296;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54969;2460982.84607363;10.30574167;1.3;_
2025-11-03T10:18:20.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5299296;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54969;2460982.84607363;10.30574167;1.3;_
2025-11-03T10:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:20.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5299296, teldec = -24.256589
2025-11-03T10:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5299296 -24.256589
2025-11-03T10:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5299296 -24.256589
2025-11-03T10:18:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5299296 -24.256589
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5299296;-24.256589;50.108519;89.993045;50.08601;90.12017;12.54969;2460982.84607367;10.30574167;1.3;_15.5047704180219 -24.1683778269334
2025-11-03T10:18:20.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5047704180219     dec_j2k = -24.1683778269334
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968671329198675;171.162357330327;_
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968671329198675;171.162357330327;_
2025-11-03T10:18:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51687)
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:20.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:20.779 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:20.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84607363, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968671329198675, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5299296, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.54969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:17:21.841993', telescope_ra_j2k=15.5047704180219, telescope_dec_j2k=-24.1683778269334, observability=1)
2025-11-03T10:18:21.561 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:21
2025-11-03T10:18:21.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:21.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7810630798339844s
2025-11-03T10:18:21.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7810630798339844
2025-11-03T10:18:21.582 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:21
2025-11-03T10:18:21.582 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:21.582 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8026010990142822s
2025-11-03T10:18:21.582 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8026010990142822
2025-11-03T10:18:21.984 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:21.984 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:21.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:21.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:21.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:21.985 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:21.985 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:21.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:21.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:21.986 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:21.986 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:21.987 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:21.988 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:18:21.988 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:18:21.988 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:18:21.988 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:22.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:22
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9872488975524902s
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5304898;-24.256589;50.108519;89.993045;50.08601;90.12017;12.55025;2460982.84609686;10.30630028;1.3;_
2025-11-03T10:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5304898;-24.256589;50.108519;89.993045;50.08601;90.12017;12.55025;2460982.84609686;10.30630028;1.3;_
2025-11-03T10:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:22.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5304898, teldec = -24.256589
2025-11-03T10:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5304898 -24.256589
2025-11-03T10:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5304898 -24.256589
2025-11-03T10:18:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5304898 -24.256589
2025-11-03T10:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5304898;-24.256589;50.108519;89.993045;50.08601;90.12017;12.55025;2460982.84609689;10.30630028;1.3;_15.5053302146478 -24.1683941284981
2025-11-03T10:18:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5053302146478     dec_j2k = -24.1683941284981
2025-11-03T10:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968669724720962;171.162362694745;_
2025-11-03T10:18:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968669724720962;171.162362694745;_
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45369)
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:22.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:22.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:22.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:22.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:22.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84609686, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968669724720962, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108519, telescope_az=89.993045, telescope_ra=15.5304898, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55025, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5053302146478, telescope_dec_j2k=-24.1683941284981, observability=1)
2025-11-03T10:18:22.989 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:22.989 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:22.989 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:22.989 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:22.989 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:18:22.990 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:22.991 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:22.992 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:22.992 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:22.992 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:22.992 [DEBUG] [ThreadPoolExecutor-3454_0] [payload.py] [to_registers()] [0]
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37535)
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:22.996 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:23.003 [DEBUG] [ThreadPoolExecutor-3454_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:23.550 [DEBUG] [Thread-88866 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:23.550 [DEBUG] [Thread-88866 (handle)] [server.py] [get_status()] Status age = 0.7634866237640381s
2025-11-03T10:18:23.550 [DEBUG] [Thread-88866 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7634866237640381
2025-11-03T10:18:23.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:23
2025-11-03T10:18:23.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:23.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9694690704345703s
2025-11-03T10:18:23.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9694690704345703
2025-11-03T10:18:23.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:23
2025-11-03T10:18:23.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:23.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9906978607177734s
2025-11-03T10:18:23.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9906978607177734
2025-11-03T10:18:24.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:24
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97617769241333s
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:24.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5310404;-24.256589;50.108518;89.993045;50.08601;90.12017;12.5508;2460982.84611997;10.30684944;1.3;_
2025-11-03T10:18:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5310404;-24.256589;50.108518;89.993045;50.08601;90.12017;12.5508;2460982.84611997;10.30684944;1.3;_
2025-11-03T10:18:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:24.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5310404, teldec = -24.256589
2025-11-03T10:18:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5310404 -24.256589
2025-11-03T10:18:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5310404 -24.256589
2025-11-03T10:18:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5310404 -24.256589
2025-11-03T10:18:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5310404;-24.256589;50.108518;89.993045;50.08601;90.12017;12.5508;2460982.84611999;10.30684944;1.3;_15.5058804182487 -24.1684101525882
2025-11-03T10:18:24.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5058804182487     dec_j2k = -24.1684101525882
2025-11-03T10:18:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968674939273527;171.162346601491;_
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968674939273527;171.162346601491;_
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36173)
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:24.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:24.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:24.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:24.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84611997, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968674939273527, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5310404, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5508, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5058804182487, telescope_dec_j2k=-24.1684101525882, observability=1)
2025-11-03T10:18:25.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:25
2025-11-03T10:18:25.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:25.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6134464740753174s
2025-11-03T10:18:25.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6134464740753174
2025-11-03T10:18:25.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:25
2025-11-03T10:18:25.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:25.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6425280570983887s
2025-11-03T10:18:25.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6425280570983887
2025-11-03T10:18:26.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:26
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.016822099685669s
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:26.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:26.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:26.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5316011;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55136;2460982.84614353;10.30740861;1.3;_
2025-11-03T10:18:26.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5316011;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55136;2460982.84614353;10.30740861;1.3;_
2025-11-03T10:18:26.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:26.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:26.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:26.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:26.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:26.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5316011, teldec = -24.256589
2025-11-03T10:18:26.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5316011 -24.256589
2025-11-03T10:18:26.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5316011 -24.256589
2025-11-03T10:18:26.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5316011 -24.256589
2025-11-03T10:18:26.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5316011;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55136;2460982.84614355;10.30740861;1.3;_15.5064407146418 -24.1684264725341
2025-11-03T10:18:26.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5064407146418     dec_j2k = -24.1684264725341
2025-11-03T10:18:26.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:26.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:26.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968674538154099;171.162362694745;_
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968674538154099;171.162362694745;_
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:26.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:26.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:26.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:26.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:26.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:26.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46993)
2025-11-03T10:18:26.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:26.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:26.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:26.813 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:26.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:26.820 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:26.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:26.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84614353, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968674538154099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5316011, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55136, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5064407146418, telescope_dec_j2k=-24.1684264725341, observability=1)
2025-11-03T10:18:27.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:27
2025-11-03T10:18:27.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:27.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5743494033813477s
2025-11-03T10:18:27.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5743494033813477
2025-11-03T10:18:27.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:27
2025-11-03T10:18:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5957632064819336s
2025-11-03T10:18:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5957632064819336
2025-11-03T10:18:28.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:28
2025-11-03T10:18:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9508438110351562s
2025-11-03T10:18:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:28.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5321616;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55192;2460982.84616635;10.3079675;1.3;_
2025-11-03T10:18:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5321616;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55192;2460982.84616635;10.3079675;1.3;_
2025-11-03T10:18:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:28.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5321616, teldec = -24.256589
2025-11-03T10:18:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5321616 -24.256589
2025-11-03T10:18:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5321616 -24.256589
2025-11-03T10:18:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5321616 -24.256589
2025-11-03T10:18:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5321616;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55192;2460982.84616639;10.3079675;1.3;_15.5070008112431 -24.1684427885906
2025-11-03T10:18:28.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5070008112431     dec_j2k = -24.1684427885906
2025-11-03T10:18:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:28.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968668922482106;171.162357330327;_
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968668922482106;171.162357330327;_
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:28.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:28.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:28.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33509)
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:28.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:28.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84616635, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968668922482106, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5321616, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55192, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5070008112431, telescope_dec_j2k=-24.1684427885906, observability=1)
2025-11-03T10:18:29.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:29
2025-11-03T10:18:29.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:29.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6136171817779541s
2025-11-03T10:18:29.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6136171817779541
2025-11-03T10:18:29.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:29
2025-11-03T10:18:29.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:29.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6356081962585449s
2025-11-03T10:18:29.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6356081962585449
2025-11-03T10:18:30.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:30
2025-11-03T10:18:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9759023189544678s
2025-11-03T10:18:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:30.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5327122;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55248;2460982.84618943;10.30851667;1.3;_
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5327122;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55248;2460982.84618943;10.30851667;1.3;_
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:30.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5327122, teldec = -24.256589
2025-11-03T10:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5327122 -24.256589
2025-11-03T10:18:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5327122 -24.256589
2025-11-03T10:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5327122 -24.256589
2025-11-03T10:18:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5327122;-24.256589;50.108518;89.993045;50.08601;90.12017;12.55248;2460982.84618946;10.30851667;1.3;_15.507551015032 -24.1684588183404
2025-11-03T10:18:30.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.507551015032     dec_j2k = -24.1684588183404
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968674538154099;171.162362694745;_
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968674538154099;171.162362694745;_
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41821)
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:30.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:30.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:30.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:30.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:30.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84618943, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968674538154099, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5327122, telescope_dec=-24.256589, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55248, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.507551015032, telescope_dec_j2k=-24.1684588183404, observability=1)
2025-11-03T10:18:31.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:31
2025-11-03T10:18:31.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:31.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9158022403717041s
2025-11-03T10:18:31.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9158022403717041
2025-11-03T10:18:31.719 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:31
2025-11-03T10:18:31.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:31.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9373538494110107s
2025-11-03T10:18:31.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9373538494110107
2025-11-03T10:18:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:32
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822378158569336s
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5332735;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55304;2460982.84621256;10.30907639;1.3;_
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5332735;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55304;2460982.84621256;10.30907639;1.3;_
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:32.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5332735, teldec = -24.256588
2025-11-03T10:18:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5332735 -24.256588
2025-11-03T10:18:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5332735 -24.256588
2025-11-03T10:18:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5332735 -24.256588
2025-11-03T10:18:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5332735;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55304;2460982.84621259;10.30907639;1.3;_15.5081119113406 -24.1684741615478
2025-11-03T10:18:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5081119113406     dec_j2k = -24.1684741615478
2025-11-03T10:18:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968669724720962;171.162351965909;_
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968669724720962;171.162351965909;_
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34223)
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:32.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:32.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:32.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84621256, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968669724720962, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5332735, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55304, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5081119113406, telescope_dec_j2k=-24.1684741615478, observability=1)
2025-11-03T10:18:33.755 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:33
2025-11-03T10:18:33.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:33.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9741854667663574s
2025-11-03T10:18:33.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9741854667663574
2025-11-03T10:18:33.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:33
2025-11-03T10:18:33.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:33.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9959900379180908s
2025-11-03T10:18:33.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9959900379180908
2025-11-03T10:18:34.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:34
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9922528266906738s
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:34.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5338345;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5536;2460982.84623583;10.30963583;1.3;_
2025-11-03T10:18:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5338345;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5536;2460982.84623583;10.30963583;1.3;_
2025-11-03T10:18:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:34.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:34.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5338345, teldec = -24.256588
2025-11-03T10:18:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5338345 -24.256588
2025-11-03T10:18:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5338345 -24.256588
2025-11-03T10:18:34.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5338345 -24.256588
2025-11-03T10:18:34.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5338345;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5536;2460982.84623586;10.30963583;1.3;_15.5086725077738 -24.1684904979267
2025-11-03T10:18:34.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5086725077738     dec_j2k = -24.1684904979267
2025-11-03T10:18:34.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:34.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:34.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968672131437531;171.162351965909;_
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968672131437531;171.162351965909;_
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:34.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:34.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:34.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:34.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:34.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:34.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39879)
2025-11-03T10:18:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:34.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:34.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:34.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84623583, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968672131437531, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5338345, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5536, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5086725077738, telescope_dec_j2k=-24.1684904979267, observability=1)
2025-11-03T10:18:35.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:35
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0152513980865479s
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:35.810 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5341052;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55387;2460982.84624781;10.30990583;1.3;_
2025-11-03T10:18:35.811 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5341052;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55387;2460982.84624781;10.30990583;1.3;_
2025-11-03T10:18:35.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:35.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:35.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:35.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:35.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:35.813 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5341052, teldec = -24.256588
2025-11-03T10:18:35.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5341052 -24.256588
2025-11-03T10:18:35.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5341052 -24.256588
2025-11-03T10:18:35.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5341052 -24.256588
2025-11-03T10:18:35.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5341052;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55387;2460982.84624785;10.30990583;1.3;_15.5089430130633 -24.1684983814308
2025-11-03T10:18:35.814 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5089430130633     dec_j2k = -24.1684983814308
2025-11-03T10:18:35.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:35.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:35.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968668521362678;171.162362694745;_
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968668521362678;171.162362694745;_
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:35.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:35.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:35.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:35.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60875)
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:35.823 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:35.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:35.831 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:35.831 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:35.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:35.831 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84624781, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968668521362678, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5341052, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55387, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5089430130633, telescope_dec_j2k=-24.1684983814308, observability=1)
2025-11-03T10:18:35.854 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:35
2025-11-03T10:18:35.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:35.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023711442947387695s
2025-11-03T10:18:35.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023711442947387695
2025-11-03T10:18:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:36
2025-11-03T10:18:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9366655349731445s
2025-11-03T10:18:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9366655349731445
2025-11-03T10:18:37.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:37
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9704525470733643s
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:37.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.534667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55443;2460982.84627086;10.31046611;1.3;_
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.534667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55443;2460982.84627086;10.31046611;1.3;_
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:37.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:37.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:37.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:37.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.534667, teldec = -24.256588
2025-11-03T10:18:37.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.534667 -24.256588
2025-11-03T10:18:37.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.534667 -24.256588
2025-11-03T10:18:37.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.534667 -24.256588
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.534667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55443;2460982.84627088;10.31046611;1.3;_15.5095044090165 -24.1685147439779
2025-11-03T10:18:37.805 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5095044090165     dec_j2k = -24.1685147439779
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676543751239;171.162357330327;_
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676543751239;171.162357330327;_
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:37.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:37.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42489)
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:37.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:37.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:37.819 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84627086, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676543751239, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.534667, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55443, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5095044090165, telescope_dec_j2k=-24.1685147439779, observability=1)
2025-11-03T10:18:37.840 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:37
2025-11-03T10:18:37.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:37.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021068096160888672s
2025-11-03T10:18:37.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021068096160888672
2025-11-03T10:18:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:38
2025-11-03T10:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9458777904510498s
2025-11-03T10:18:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9458777904510498
2025-11-03T10:18:39.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:39
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9393715858459473s
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:39.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:39.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5352277;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55499;2460982.84629352;10.31102528;1.3;_
2025-11-03T10:18:39.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5352277;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55499;2460982.84629352;10.31102528;1.3;_
2025-11-03T10:18:39.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:39.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:39.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:39.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:39.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:39.761 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5352277, teldec = -24.256588
2025-11-03T10:18:39.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5352277 -24.256588
2025-11-03T10:18:39.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5352277 -24.256588
2025-11-03T10:18:39.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5352277 -24.256588
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5352277;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55499;2460982.84629354;10.31102528;1.3;_15.5100647058252 -24.1685310764202
2025-11-03T10:18:39.762 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5100647058252     dec_j2k = -24.1685310764202
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968673334795815;171.162351965909;_
2025-11-03T10:18:39.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968673334795815;171.162351965909;_
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:39.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:39.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:39.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:39.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:39.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48815)
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:39.765 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:39.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:39.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84629352, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968673334795815, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5352277, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55499, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5100647058252, telescope_dec_j2k=-24.1685310764202, observability=1)
2025-11-03T10:18:39.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:39
2025-11-03T10:18:39.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:39.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021947383880615234s
2025-11-03T10:18:39.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021947383880615234
2025-11-03T10:18:40.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:40
2025-11-03T10:18:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9947347640991211s
2025-11-03T10:18:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9947347640991211
2025-11-03T10:18:41.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:41
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.623600959777832s
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:41.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:41.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:41.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5356675;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55543;2460982.84631248;10.31146389;1.3;_
2025-11-03T10:18:41.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5356675;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55543;2460982.84631248;10.31146389;1.3;_
2025-11-03T10:18:41.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:41.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:41.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:41.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:41.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:41.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5356675, teldec = -24.256588
2025-11-03T10:18:41.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5356675 -24.256588
2025-11-03T10:18:41.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5356675 -24.256588
2025-11-03T10:18:41.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5356675 -24.256588
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5356675;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55543;2460982.8463125;10.31146389;1.3;_15.5105041896164 -24.1685438885581
2025-11-03T10:18:41.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5105041896164     dec_j2k = -24.1685438885581
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676944870667;171.162357330327;_
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676944870667;171.162357330327;_
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:41.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:41.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:41.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34921)
2025-11-03T10:18:41.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:41.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:41.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:41.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:41.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:41.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:41.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84631248, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676944870667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5356675, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5105041896164, telescope_dec_j2k=-24.1685438885581, observability=1)
2025-11-03T10:18:41.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:41
2025-11-03T10:18:41.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:41.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222728729248047s
2025-11-03T10:18:41.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222728729248047
2025-11-03T10:18:41.633 [DEBUG] [Thread-88867 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:41.633 [DEBUG] [Thread-88867 (handle)] [server.py] [get_status()] Status age = 0.22230124473571777s
2025-11-03T10:18:41.634 [DEBUG] [Thread-88867 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22230124473571777
2025-11-03T10:18:42.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:42
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3575360774993896s
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5360597;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55582;2460982.84632837;10.311855;1.3;_
2025-11-03T10:18:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5360597;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55582;2460982.84632837;10.311855;1.3;_
2025-11-03T10:18:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:42.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5360597, teldec = -24.256588
2025-11-03T10:18:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5360597 -24.256588
2025-11-03T10:18:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5360597 -24.256588
2025-11-03T10:18:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5360597 -24.256588
2025-11-03T10:18:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5360597;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55582;2460982.84632839;10.311855;1.3;_15.5108961076645 -24.1685553150271
2025-11-03T10:18:42.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5108961076645     dec_j2k = -24.1685553150271
2025-11-03T10:18:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968675340392955;171.162357330327;_
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968675340392955;171.162357330327;_
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:42.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37891)
2025-11-03T10:18:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:42.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:42.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:42.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84632837, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968675340392955, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5360597, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55582, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5108961076645, telescope_dec_j2k=-24.1685553150271, observability=1)
2025-11-03T10:18:43.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:43
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0085341930389404s
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5363402;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5561;2460982.84634027;10.31213472;1.3;_
2025-11-03T10:18:43.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5363402;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5561;2460982.84634027;10.31213472;1.3;_
2025-11-03T10:18:43.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:43.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:43.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:43.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:43.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:43.801 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5363402, teldec = -24.256588
2025-11-03T10:18:43.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5363402 -24.256588
2025-11-03T10:18:43.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5363402 -24.256588
2025-11-03T10:18:43.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5363402 -24.256588
2025-11-03T10:18:43.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5363402;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5561;2460982.8463403;10.31213472;1.3;_15.5111764060329 -24.1685634877751
2025-11-03T10:18:43.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5111764060329     dec_j2k = -24.1685634877751
2025-11-03T10:18:43.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:43.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:43.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968673334795815;171.162357330327;_
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968673334795815;171.162357330327;_
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:43.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:43.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:43.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:43.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:43.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58517)
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:43.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:43.817 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:43.818 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84634027, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968673334795815, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5363402, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5561, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5111764060329, telescope_dec_j2k=-24.1685634877751, observability=1)
2025-11-03T10:18:43.844 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:43
2025-11-03T10:18:43.844 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:43.844 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02677321434020996s
2025-11-03T10:18:43.844 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02677321434020996
2025-11-03T10:18:44.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:44
2025-11-03T10:18:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9535584449768066s
2025-11-03T10:18:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9535584449768066
2025-11-03T10:18:45.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:45
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977402687072754s
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:45.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:45.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:45.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5368995;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55666;2460982.84636339;10.3126925;1.3;_
2025-11-03T10:18:45.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5368995;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55666;2460982.84636339;10.3126925;1.3;_
2025-11-03T10:18:45.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:45.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:45.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:45.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5368995, teldec = -24.256588
2025-11-03T10:18:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5368995 -24.256588
2025-11-03T10:18:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5368995 -24.256588
2025-11-03T10:18:45.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5368995 -24.256588
2025-11-03T10:18:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5368995;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55666;2460982.84636341;10.3126925;1.3;_15.5117353040396 -24.168579785181
2025-11-03T10:18:45.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5117353040396     dec_j2k = -24.168579785181
2025-11-03T10:18:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:45.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968675741512383;171.162346601491;_
2025-11-03T10:18:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968675741512383;171.162346601491;_
2025-11-03T10:18:45.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:45.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:45.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:45.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:45.804 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33663)
2025-11-03T10:18:45.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:45.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:45.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:45.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:45.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:45.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:45.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84636339, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968675741512383, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5368995, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5117353040396, telescope_dec_j2k=-24.168579785181, observability=1)
2025-11-03T10:18:45.834 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:45
2025-11-03T10:18:45.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:45.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02231621742248535s
2025-11-03T10:18:45.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02231621742248535
2025-11-03T10:18:46.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:46
2025-11-03T10:18:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9728515148162842s
2025-11-03T10:18:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9728515148162842
2025-11-03T10:18:47.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:47
2025-11-03T10:18:47.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:47.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9832260608673096s
2025-11-03T10:18:47.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:47.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:47.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:47.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:47.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:47.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:47.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5374508;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55721;2460982.84638654;10.31324222;1.3;_
2025-11-03T10:18:47.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5374508;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55721;2460982.84638654;10.31324222;1.3;_
2025-11-03T10:18:47.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:47.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:47.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:47.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:47.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:47.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5374508, teldec = -24.256588
2025-11-03T10:18:47.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5374508 -24.256588
2025-11-03T10:18:47.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5374508 -24.256588
2025-11-03T10:18:47.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5374508 -24.256588
2025-11-03T10:18:47.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5374508;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55721;2460982.84638657;10.31324222;1.3;_15.5122862078589 -24.1685958513545
2025-11-03T10:18:47.800 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5122862078589     dec_j2k = -24.1685958513545
2025-11-03T10:18:47.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:47.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:47.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968669323601534;171.162368059163;_
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968669323601534;171.162368059163;_
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:47.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:47.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:47.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:47.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:47.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56823)
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:47.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:47.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:47.815 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84638654, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968669323601534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5374508, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55721, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5122862078589, telescope_dec_j2k=-24.1685958513545, observability=1)
2025-11-03T10:18:47.836 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:47
2025-11-03T10:18:47.836 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:47.836 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021901607513427734s
2025-11-03T10:18:47.836 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021901607513427734
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:48.004 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:48.005 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:48.005 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:48.005 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:48.005 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:48.006 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:48.006 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:18:48.006 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:18:48.006 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:18:48.006 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:48.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:48
2025-11-03T10:18:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9525847434997559s
2025-11-03T10:18:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9525847434997559
2025-11-03T10:18:49.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:49
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6321372985839844s
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:49.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5379273;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55769;2460982.84640565;10.3137175;1.3;_
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5379273;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55769;2460982.84640565;10.3137175;1.3;_
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:49.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:49.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5379273, teldec = -24.256588
2025-11-03T10:18:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5379273 -24.256588
2025-11-03T10:18:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5379273 -24.256588
2025-11-03T10:18:49.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5379273 -24.256588
2025-11-03T10:18:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5379273;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55769;2460982.84640567;10.3137175;1.3;_15.5127623654819 -24.1686097391835
2025-11-03T10:18:49.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5127623654819     dec_j2k = -24.1686097391835
2025-11-03T10:18:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:49.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968678148228951;171.162357330327;_
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968678148228951;171.162357330327;_
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:49.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:49.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58291)
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:49.457 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:49.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:49.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84640565, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968678148228951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5379273, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55769, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5127623654819, telescope_dec_j2k=-24.1686097391835, observability=1)
2025-11-03T10:18:49.487 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:49
2025-11-03T10:18:49.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:49.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022020339965820312s
2025-11-03T10:18:49.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022020339965820312
2025-11-03T10:18:50.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:50
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3062708377838135s
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5382914;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55805;2460982.846421;10.31408056;1.3;_
2025-11-03T10:18:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5382914;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55805;2460982.846421;10.31408056;1.3;_
2025-11-03T10:18:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:50.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5382914, teldec = -24.256588
2025-11-03T10:18:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5382914 -24.256588
2025-11-03T10:18:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5382914 -24.256588
2025-11-03T10:18:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5382914 -24.256588
2025-11-03T10:18:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5382914;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55805;2460982.84642102;10.31408056;1.3;_15.5131262038983 -24.1686203519977
2025-11-03T10:18:50.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5131262038983     dec_j2k = -24.1686203519977
2025-11-03T10:18:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968672933676387;171.162362694745;_
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968672933676387;171.162362694745;_
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:50.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:50.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:50.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47879)
2025-11-03T10:18:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:50.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:50.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:50.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:50.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.846421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968672933676387, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5382914, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55805, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5131262038983, telescope_dec_j2k=-24.1686203519977, observability=1)
2025-11-03T10:18:51.147 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:51.147 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.3571128845214844s
2025-11-03T10:18:51.147 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3571128845214844
2025-11-03T10:18:51.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:51
2025-11-03T10:18:51.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:51.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6054375171661377s
2025-11-03T10:18:51.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6054375171661377
2025-11-03T10:18:51.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:51
2025-11-03T10:18:51.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:51.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6268434524536133s
2025-11-03T10:18:51.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6268434524536133
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Status age = 1.4686310291290283s
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:52.259 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:52.260 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 17;15.5387111;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55847;2460982.84643818;10.31449917;1.3;_
2025-11-03T10:18:52.260 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response 17;15.5387111;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55847;2460982.84643818;10.31449917;1.3;_
2025-11-03T10:18:52.260 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:52.260 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:52.260 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:52.261 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:52.261 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:52.261 [INFO] [Thread-88868 (handle)] [driver.py] [get_status()] Telra = 15.5387111, teldec = -24.256588
2025-11-03T10:18:52.261 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5387111 -24.256588
2025-11-03T10:18:52.261 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5387111 -24.256588
2025-11-03T10:18:52.261 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5387111 -24.256588
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 17;15.5387111;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55847;2460982.84643822;10.31449917;1.3;_15.5135456024032 -24.168632586454
2025-11-03T10:18:52.262 [INFO] [Thread-88868 (handle)] [driver.py] [get_status()] ra_j2k = 15.5135456024032     dec_j2k = -24.168632586454
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 140;0.0968678148228951;171.162362694745;_
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response 140;0.0968678148228951;171.162362694745;_
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:52.262 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:52.263 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:52.264 [DEBUG] [Thread-88868 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:52.264 [DEBUG] [Thread-88868 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:52.264 [DEBUG] [Thread-88868 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57943)
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:52.270 [DEBUG] [Thread-88868 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:52.277 [DEBUG] [Thread-88868 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:52.278 [DEBUG] [Thread-88868 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:52.278 [DEBUG] [Thread-88868 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:52.278 [INFO] [Thread-88868 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84643818, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968678148228951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5387111, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55847, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5135456024032, telescope_dec_j2k=-24.168632586454, observability=1)
2025-11-03T10:18:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:52
2025-11-03T10:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4863312244415283s
2025-11-03T10:18:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4863312244415283
2025-11-03T10:18:53.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:53
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.127187728881836s
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:53.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:53.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5390103;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55877;2460982.84645146;10.3147975;1.3;_
2025-11-03T10:18:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5390103;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55877;2460982.84645146;10.3147975;1.3;_
2025-11-03T10:18:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:53.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:53.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5390103, teldec = -24.256588
2025-11-03T10:18:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5390103 -24.256588
2025-11-03T10:18:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5390103 -24.256588
2025-11-03T10:18:53.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5390103 -24.256588
2025-11-03T10:18:53.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5390103;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55877;2460982.84645149;10.3147975;1.3;_15.5138445874923 -24.1686413089373
2025-11-03T10:18:53.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5138445874923     dec_j2k = -24.1686413089373
2025-11-03T10:18:53.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:53.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:53.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968678950467808;171.162351965909;_
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968678950467808;171.162351965909;_
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:53.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:53.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:53.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:53.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:53.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35457)
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:53.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:53.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:53.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:53.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84645146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968678950467808, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5390103, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55877, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5138445874923, telescope_dec_j2k=-24.1686413089373, observability=1)
2025-11-03T10:18:53.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:53
2025-11-03T10:18:53.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:53.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02306079864501953s
2025-11-03T10:18:53.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02306079864501953
2025-11-03T10:18:54.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:54
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3370585441589355s
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:54.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:54.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5394028;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55917;2460982.84646716;10.31518889;1.3;_
2025-11-03T10:18:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5394028;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55917;2460982.84646716;10.31518889;1.3;_
2025-11-03T10:18:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:54.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:54.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5394028, teldec = -24.256588
2025-11-03T10:18:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5394028 -24.256588
2025-11-03T10:18:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5394028 -24.256588
2025-11-03T10:18:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5394028 -24.256588
2025-11-03T10:18:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5394028;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55917;2460982.84646719;10.31518889;1.3;_15.5142368055932 -24.1686527521986
2025-11-03T10:18:54.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5142368055932     dec_j2k = -24.1686527521986
2025-11-03T10:18:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681758303804;171.162357330327;_
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681758303804;171.162357330327;_
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:54.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44217)
2025-11-03T10:18:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:54.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:54.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:54.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:54.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:54.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84646716, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681758303804, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5394028, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55917, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5142368055932, telescope_dec_j2k=-24.1686527521986, observability=1)
2025-11-03T10:18:55.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:55
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0136380195617676s
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:55.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:55.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.539683;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55945;2460982.84647911;10.31546833;1.3;_
2025-11-03T10:18:55.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.539683;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55945;2460982.84647911;10.31546833;1.3;_
2025-11-03T10:18:55.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:55.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:55.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:55.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:55.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:55.797 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.539683, teldec = -24.256588
2025-11-03T10:18:55.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.539683 -24.256588
2025-11-03T10:18:55.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.539683 -24.256588
2025-11-03T10:18:55.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.539683 -24.256588
2025-11-03T10:18:55.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.539683;-24.256588;50.108518;89.993045;50.08601;90.12017;12.55945;2460982.84647914;10.31546833;1.3;_15.5145168043689 -24.1686609219533
2025-11-03T10:18:55.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5145168043689     dec_j2k = -24.1686609219533
2025-11-03T10:18:55.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:55.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:55.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676543751239;171.162362694745;_
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676543751239;171.162362694745;_
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:55.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:55.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:55.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:18:55.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:18:55.804 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43299)
2025-11-03T10:18:55.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:55.804 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:55.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:55.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:55.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:55.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:55.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84647911, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676543751239, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.539683, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.55945, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5145168043689, telescope_dec_j2k=-24.1686609219533, observability=1)
2025-11-03T10:18:55.833 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:55
2025-11-03T10:18:55.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:55.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021671772003173828s
2025-11-03T10:18:55.834 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021671772003173828
2025-11-03T10:18:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:56
2025-11-03T10:18:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9551074504852295s
2025-11-03T10:18:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9551074504852295
2025-11-03T10:18:57.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:57
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892334938049316s
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:57.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5402428;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56001;2460982.84650234;10.31602667;1.3;_
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5402428;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56001;2460982.84650234;10.31602667;1.3;_
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:57.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:57.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:57.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:57.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5402428, teldec = -24.256588
2025-11-03T10:18:57.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5402428 -24.256588
2025-11-03T10:18:57.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5402428 -24.256588
2025-11-03T10:18:57.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5402428 -24.256588
2025-11-03T10:18:57.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5402428;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56001;2460982.84650236;10.31602667;1.3;_15.5150762023992 -24.1686772454102
2025-11-03T10:18:57.804 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5150762023992     dec_j2k = -24.1686772454102
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968678148228951;171.162346601491;_
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968678148228951;171.162346601491;_
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:57.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:57.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:57.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:57.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:57.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44867)
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:57.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:57.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:57.817 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:57.817 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:57.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:57.818 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84650234, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968678148228951, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5402428, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56001, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5150762023992, telescope_dec_j2k=-24.1686772454102, observability=1)
2025-11-03T10:18:57.840 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:57
2025-11-03T10:18:57.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:57.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021963834762573242s
2025-11-03T10:18:57.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021963834762573242
2025-11-03T10:18:58.005 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:58.005 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.18731188774108887s
2025-11-03T10:18:58.005 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18731188774108887
2025-11-03T10:18:58.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:58
2025-11-03T10:18:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9482307434082031s
2025-11-03T10:18:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9482307434082031
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Status age = 1.9452025890350342s
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:18:59.763 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:18:59.764 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:18:59.765 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 17;15.5407941;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56056;2460982.84652506;10.31657639;1.3;_
2025-11-03T10:18:59.765 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response 17;15.5407941;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56056;2460982.84652506;10.31657639;1.3;_
2025-11-03T10:18:59.765 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:18:59.765 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:18:59.765 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:18:59.766 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:59.766 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:18:59.766 [INFO] [Thread-88869 (handle)] [driver.py] [get_status()] Telra = 15.5407941, teldec = -24.256588
2025-11-03T10:18:59.766 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5407941 -24.256588
2025-11-03T10:18:59.766 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5407941 -24.256588
2025-11-03T10:18:59.766 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5407941 -24.256588
2025-11-03T10:18:59.767 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 17;15.5407941;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56056;2460982.84652508;10.31657639;1.3;_15.5156271065957 -24.1686933228898
2025-11-03T10:18:59.767 [INFO] [Thread-88869 (handle)] [driver.py] [get_status()] ra_j2k = 15.5156271065957     dec_j2k = -24.1686933228898
2025-11-03T10:18:59.767 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:18:59.767 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:18:59.767 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:18:59.768 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 140;0.0968674939273527;171.162351965909;_
2025-11-03T10:18:59.768 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response 140;0.0968674939273527;171.162351965909;_
2025-11-03T10:18:59.768 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:18:59.768 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:18:59.769 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:18:59.770 [DEBUG] [Thread-88869 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:59.770 [DEBUG] [Thread-88869 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:18:59.770 [DEBUG] [Thread-88869 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49077)
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:18:59.775 [DEBUG] [Thread-88869 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:18:59.782 [DEBUG] [Thread-88869 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:18:59.782 [INFO] [Thread-88869 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84652506, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968674939273527, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5407941, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56056, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5156271065957, telescope_dec_j2k=-24.1686933228898, observability=1)
2025-11-03T10:18:59.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:59
2025-11-03T10:18:59.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:59.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.012650728225708008s
2025-11-03T10:18:59.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.012650728225708008
2025-11-03T10:18:59.816 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:18:59
2025-11-03T10:18:59.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:18:59.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03403830528259277s
2025-11-03T10:18:59.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03403830528259277
2025-11-03T10:19:00.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:00
2025-11-03T10:19:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9839677810668945s
2025-11-03T10:19:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9839677810668945
2025-11-03T10:19:01.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:01
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.91463303565979s
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5413266;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56109;2460982.84654743;10.3171075;1.3;_
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5413266;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56109;2460982.84654743;10.3171075;1.3;_
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:01.699 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5413266, teldec = -24.256588
2025-11-03T10:19:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5413266 -24.256588
2025-11-03T10:19:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5413266 -24.256588
2025-11-03T10:19:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5413266 -24.256588
2025-11-03T10:19:01.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5413266;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56109;2460982.84654745;10.3171075;1.3;_15.5161592243487 -24.1687088538767
2025-11-03T10:19:01.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5161592243487     dec_j2k = -24.1687088538767
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968677345990095;171.162357330327;_
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968677345990095;171.162357330327;_
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50569)
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:01.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:01.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84654743, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968677345990095, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5413266, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56109, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5161592243487, telescope_dec_j2k=-24.1687088538767, observability=1)
2025-11-03T10:19:01.738 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:01
2025-11-03T10:19:01.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:01.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021806716918945312s
2025-11-03T10:19:01.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021806716918945312
2025-11-03T10:19:02.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:02
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0508534908294678s
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:02.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5416347;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5614;2460982.84655983;10.31741472;1.3;_
2025-11-03T10:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5416347;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5614;2460982.84655983;10.31741472;1.3;_
2025-11-03T10:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:02.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5416347, teldec = -24.256588
2025-11-03T10:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5416347 -24.256588
2025-11-03T10:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5416347 -24.256588
2025-11-03T10:19:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5416347 -24.256588
2025-11-03T10:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5416347;-24.256588;50.108518;89.993045;50.08601;90.12017;12.5614;2460982.84655986;10.31741472;1.3;_15.5164671032103 -24.1687178407682
2025-11-03T10:19:02.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5164671032103     dec_j2k = -24.1687178407682
2025-11-03T10:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968682961662088;171.162351965909;_
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968682961662088;171.162351965909;_
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:02.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41829)
2025-11-03T10:19:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:02.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:02.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:02.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84655983, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968682961662088, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5416347, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5614, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5164671032103, telescope_dec_j2k=-24.1687178407682, observability=1)
2025-11-03T10:19:03.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:03
2025-11-03T10:19:03.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:03.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6067399978637695s
2025-11-03T10:19:03.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6067399978637695
2025-11-03T10:19:03.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:03
2025-11-03T10:19:03.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:03.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6356644630432129s
2025-11-03T10:19:03.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6356644630432129
2025-11-03T10:19:04.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:04
2025-11-03T10:19:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824004173278809s
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:04.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5421862;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56195;2460982.84658301;10.31796472;1.3;_
2025-11-03T10:19:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5421862;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56195;2460982.84658301;10.31796472;1.3;_
2025-11-03T10:19:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:04.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:04.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5421862, teldec = -24.256588
2025-11-03T10:19:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5421862 -24.256588
2025-11-03T10:19:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5421862 -24.256588
2025-11-03T10:19:04.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5421862 -24.256588
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5421862;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56195;2460982.84658304;10.31796472;1.3;_15.5170182074205 -24.1687339287858
2025-11-03T10:19:04.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5170182074205     dec_j2k = -24.1687339287858
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681357184376;171.162351965909;_
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681357184376;171.162351965909;_
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:04.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:04.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:04.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:04.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49739)
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:04.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:04.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:04.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84658301, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681357184376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5421862, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56195, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5170182074205, telescope_dec_j2k=-24.1687339287858, observability=1)
2025-11-03T10:19:05.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:05
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0064539909362793s
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:05.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:05.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:05.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5424667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56223;2460982.84659488;10.31824444;1.3;_
2025-11-03T10:19:05.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5424667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56223;2460982.84659488;10.31824444;1.3;_
2025-11-03T10:19:05.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:05.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:05.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:05.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:05.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:05.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5424667, teldec = -24.256588
2025-11-03T10:19:05.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5424667 -24.256588
2025-11-03T10:19:05.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5424667 -24.256588
2025-11-03T10:19:05.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5424667 -24.256588
2025-11-03T10:19:05.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5424667;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56223;2460982.84659491;10.31824444;1.3;_15.5172985061406 -24.1687421120737
2025-11-03T10:19:05.800 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5172985061406     dec_j2k = -24.1687421120737
2025-11-03T10:19:05.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:05.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:05.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681357184376;171.162351965909;_
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681357184376;171.162351965909;_
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:05.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:05.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:05.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:05.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:05.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:05.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:05.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:05.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:05.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:05.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37233)
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:05.807 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:05.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:05.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:05.814 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:05.815 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:05.815 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84659488, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681357184376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5424667, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56223, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5172985061406, telescope_dec_j2k=-24.1687421120737, observability=1)
2025-11-03T10:19:05.839 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:05
2025-11-03T10:19:05.839 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:05.839 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023961782455444336s
2025-11-03T10:19:05.839 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023961782455444336
2025-11-03T10:19:06.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:06
2025-11-03T10:19:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9496078491210938s
2025-11-03T10:19:06.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9496078491210938
2025-11-03T10:19:07.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:07
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6311302185058594s
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:07.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:07.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:07.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5429438;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56271;2460982.84661398;10.31872028;1.3;_
2025-11-03T10:19:07.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5429438;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56271;2460982.84661398;10.31872028;1.3;_
2025-11-03T10:19:07.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:07.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:07.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:07.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:07.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:07.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5429438, teldec = -24.256588
2025-11-03T10:19:07.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5429438 -24.256588
2025-11-03T10:19:07.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5429438 -24.256588
2025-11-03T10:19:07.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5429438 -24.256588
2025-11-03T10:19:07.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5429438;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56271;2460982.846614;10.31872028;1.3;_15.5177752638223 -24.1687560320638
2025-11-03T10:19:07.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5177752638223     dec_j2k = -24.1687560320638
2025-11-03T10:19:07.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:07.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:07.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676142631811;171.162351965909;_
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676142631811;171.162351965909;_
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:07.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:07.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:07.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:07.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44887)
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:07.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:07.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:07.461 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84661398, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676142631811, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5429438, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56271, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5177752638223, telescope_dec_j2k=-24.1687560320638, observability=1)
2025-11-03T10:19:07.483 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:07
2025-11-03T10:19:07.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:07.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021793365478515625s
2025-11-03T10:19:07.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021793365478515625
2025-11-03T10:19:08.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:08
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3065412044525146s
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5433082;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56307;2460982.84662928;10.31908361;1.3;_
2025-11-03T10:19:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5433082;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56307;2460982.84662928;10.31908361;1.3;_
2025-11-03T10:19:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:08.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5433082, teldec = -24.256588
2025-11-03T10:19:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5433082 -24.256588
2025-11-03T10:19:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5433082 -24.256588
2025-11-03T10:19:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5433082 -24.256588
2025-11-03T10:19:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5433082;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56307;2460982.84662931;10.31908361;1.3;_15.5181394023975 -24.1687666648295
2025-11-03T10:19:08.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5181394023975     dec_j2k = -24.1687666648295
2025-11-03T10:19:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968684165020372;171.162362694745;_
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968684165020372;171.162362694745;_
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54979)
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:08.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:08.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:08.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84662928, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968684165020372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5433082, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56307, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5181394023975, telescope_dec_j2k=-24.1687666648295, observability=1)
2025-11-03T10:19:09.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:09
2025-11-03T10:19:09.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:09.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0115442276000977s
2025-11-03T10:19:09.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:09.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:09.799 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:09.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:09.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:09.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:09.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:09.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:09.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5435878;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56335;2460982.84664123;10.3193625;1.3;_
2025-11-03T10:19:09.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5435878;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56335;2460982.84664123;10.3193625;1.3;_
2025-11-03T10:19:09.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:09.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:09.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:09.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:09.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:09.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5435878, teldec = -24.256588
2025-11-03T10:19:09.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5435878 -24.256588
2025-11-03T10:19:09.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5435878 -24.256588
2025-11-03T10:19:09.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5435878 -24.256588
2025-11-03T10:19:09.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5435878;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56335;2460982.84664125;10.3193625;1.3;_15.5184188018277 -24.1687748237818
2025-11-03T10:19:09.804 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5184188018277     dec_j2k = -24.1687748237818
2025-11-03T10:19:09.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:09.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:09.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09686845661398;171.162362694745;_
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09686845661398;171.162362694745;_
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:09.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:09.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:09.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:09.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:09.807 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55591)
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:09.814 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:09.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:09.822 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84664123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09686845661398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5435878, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56335, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5184188018277, telescope_dec_j2k=-24.1687748237818, observability=1)
2025-11-03T10:19:09.844 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:09
2025-11-03T10:19:09.844 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:09.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022173643112182617s
2025-11-03T10:19:09.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022173643112182617
2025-11-03T10:19:10.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:10
2025-11-03T10:19:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9507832527160645s
2025-11-03T10:19:10.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9507832527160645
2025-11-03T10:19:11.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:11
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8747906684875488s
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:11.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:11.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5441109;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56387;2460982.84666318;10.31988417;1.3;_
2025-11-03T10:19:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5441109;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56387;2460982.84666318;10.31988417;1.3;_
2025-11-03T10:19:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:11.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5441109, teldec = -24.256588
2025-11-03T10:19:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5441109 -24.256588
2025-11-03T10:19:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5441109 -24.256588
2025-11-03T10:19:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5441109 -24.256588
2025-11-03T10:19:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5441109;-24.256588;50.108518;89.993045;50.08601;90.12017;12.56387;2460982.84666321;10.31988417;1.3;_15.5189415266271 -24.1687900895454
2025-11-03T10:19:11.702 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5189415266271     dec_j2k = -24.1687900895454
2025-11-03T10:19:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676944870667;171.162362694745;_
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676944870667;171.162362694745;_
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43157)
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:11.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:11.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:11.718 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84666318, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676944870667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108518, telescope_az=89.993045, telescope_ra=15.5441109, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56387, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5189415266271, telescope_dec_j2k=-24.1687900895454, observability=1)
2025-11-03T10:19:11.739 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:11
2025-11-03T10:19:11.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:11.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021502971649169922s
2025-11-03T10:19:11.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021502971649169922
2025-11-03T10:19:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:12
2025-11-03T10:19:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.04691743850708s
2025-11-03T10:19:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.544419;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56418;2460982.84667553;10.32019139;1.3;_
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.544419;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56418;2460982.84667553;10.32019139;1.3;_
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:12.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:12.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.544419, teldec = -24.256588
2025-11-03T10:19:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.544419 -24.256588
2025-11-03T10:19:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.544419 -24.256588
2025-11-03T10:19:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.544419 -24.256588
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.544419;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56418;2460982.84667554;10.32019139;1.3;_15.5192494056645 -24.1687990816921
2025-11-03T10:19:12.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5192494056645     dec_j2k = -24.1687990816921
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09686845661398;171.162357330327;_
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09686845661398;171.162357330327;_
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47309)
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:12.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:12.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:12.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:12.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:12.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:12.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:12.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84667553, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09686845661398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.544419, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56418, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5192494056645, telescope_dec_j2k=-24.1687990816921, observability=1)
2025-11-03T10:19:13.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:13
2025-11-03T10:19:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6179966926574707s
2025-11-03T10:19:13.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6179966926574707
2025-11-03T10:19:13.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:13
2025-11-03T10:19:13.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:13.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6424086093902588s
2025-11-03T10:19:13.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6424086093902588
2025-11-03T10:19:14.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:14
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9842402935028076s
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5449788;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56474;2460982.84669869;10.32074972;1.3;_
2025-11-03T10:19:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5449788;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56474;2460982.84669869;10.32074972;1.3;_
2025-11-03T10:19:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:14.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5449788, teldec = -24.256588
2025-11-03T10:19:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5449788 -24.256588
2025-11-03T10:19:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5449788 -24.256588
2025-11-03T10:19:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5449788 -24.256588
2025-11-03T10:19:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5449788;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56474;2460982.84669872;10.32074972;1.3;_15.5198088042379 -24.1688154213934
2025-11-03T10:19:14.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5198088042379     dec_j2k = -24.1688154213934
2025-11-03T10:19:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681357184376;171.162346601491;_
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681357184376;171.162346601491;_
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39941)
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:14.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:14.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:14.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84669869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681357184376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5449788, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56474, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5198088042379, telescope_dec_j2k=-24.1688154213934, observability=1)
2025-11-03T10:19:15.198 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:19:15
2025-11-03T10:19:15.198 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:15.198 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.4118466377258301s
2025-11-03T10:19:15.198 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4118466377258301
2025-11-03T10:19:15.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:15
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0096533298492432s
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:15.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:15.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:15.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5452585;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56502;2460982.84671062;10.32102861;1.3;_
2025-11-03T10:19:15.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5452585;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56502;2460982.84671062;10.32102861;1.3;_
2025-11-03T10:19:15.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:15.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:15.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:15.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:15.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:15.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5452585, teldec = -24.256588
2025-11-03T10:19:15.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5452585 -24.256588
2025-11-03T10:19:15.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5452585 -24.256588
2025-11-03T10:19:15.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5452585 -24.256588
2025-11-03T10:19:15.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5452585;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56502;2460982.84671065;10.32102861;1.3;_15.520088303692 -24.1688235861251
2025-11-03T10:19:15.800 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.520088303692     dec_j2k = -24.1688235861251
2025-11-03T10:19:15.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:15.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:15.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:15.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:15.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:15.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:15.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:15.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:15.804 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33605)
2025-11-03T10:19:15.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:15.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:15.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:15.805 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:15.805 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:15.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:15.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84671062, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968686170617512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5452585, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56502, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.520088303692, telescope_dec_j2k=-24.1688235861251, observability=1)
2025-11-03T10:19:15.834 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:15
2025-11-03T10:19:15.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:15.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02250528335571289s
2025-11-03T10:19:15.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02250528335571289
2025-11-03T10:19:16.812 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:16
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0002713203430176s
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:16.812 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:16.813 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5455292;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56529;2460982.84672238;10.32129861;1.3;_
2025-11-03T10:19:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5455292;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56529;2460982.84672238;10.32129861;1.3;_
2025-11-03T10:19:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:16.814 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:16.815 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:16.815 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5455292, teldec = -24.256588
2025-11-03T10:19:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5455292 -24.256588
2025-11-03T10:19:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5455292 -24.256588
2025-11-03T10:19:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5455292 -24.256588
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5455292;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56529;2460982.84672241;10.32129861;1.3;_15.5203588096145 -24.1688314885935
2025-11-03T10:19:16.817 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5203588096145     dec_j2k = -24.1688314885935
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096868256054266;171.162362694745;_
2025-11-03T10:19:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096868256054266;171.162362694745;_
2025-11-03T10:19:16.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34539)
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:16.822 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:16.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:16.829 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:16.830 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:16.830 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84672238, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096868256054266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5455292, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56529, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5203588096145, telescope_dec_j2k=-24.1688314885935, observability=1)
2025-11-03T10:19:17.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:17
2025-11-03T10:19:17.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:17.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9667093753814697s
2025-11-03T10:19:17.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9667093753814697
2025-11-03T10:19:17.815 [DEBUG] [Thread-88870 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:17.816 [DEBUG] [Thread-88870 (handle)] [server.py] [get_status()] Status age = 0.9856910705566406s
2025-11-03T10:19:17.816 [DEBUG] [Thread-88870 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9856910705566406
2025-11-03T10:19:17.818 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:17
2025-11-03T10:19:17.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:17.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9884476661682129s
2025-11-03T10:19:17.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9884476661682129
2025-11-03T10:19:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:18
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9351985454559326s
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5460897;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56585;2460982.84674499;10.3218575;1.3;_
2025-11-03T10:19:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5460897;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56585;2460982.84674499;10.3218575;1.3;_
2025-11-03T10:19:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5460897, teldec = -24.256588
2025-11-03T10:19:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5460897 -24.256588
2025-11-03T10:19:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5460897 -24.256588
2025-11-03T10:19:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5460897 -24.256588
2025-11-03T10:19:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5460897;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56585;2460982.84674501;10.3218575;1.3;_15.5209189078135 -24.168847852537
2025-11-03T10:19:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5209189078135     dec_j2k = -24.168847852537
2025-11-03T10:19:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:18.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36009)
2025-11-03T10:19:18.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:18.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:18.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:18.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:18.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84674499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968686170617512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5460897, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56585, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5209189078135, telescope_dec_j2k=-24.168847852537, observability=1)
2025-11-03T10:19:18.790 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:19:18.790 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.008555412292480469s
2025-11-03T10:19:18.790 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.008555412292480469
2025-11-03T10:19:18.790 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5918784141540527 seconds ago
2025-11-03T10:19:19.854 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:19
2025-11-03T10:19:19.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:19.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0733544826507568s
2025-11-03T10:19:19.854 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:19.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:19.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:19.856 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:19.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:19.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:19.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:19.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.546398;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56616;2460982.8467576;10.322165;1.3;_
2025-11-03T10:19:19.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.546398;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56616;2460982.8467576;10.322165;1.3;_
2025-11-03T10:19:19.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:19.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:19.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:19.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:19.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:19.858 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.546398, teldec = -24.256588
2025-11-03T10:19:19.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.546398 -24.256588
2025-11-03T10:19:19.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.546398 -24.256588
2025-11-03T10:19:19.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.546398 -24.256588
2025-11-03T10:19:19.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.546398;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56616;2460982.84675763;10.322165;1.3;_15.5212269868325 -24.1688568542554
2025-11-03T10:19:19.859 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5212269868325     dec_j2k = -24.1688568542554
2025-11-03T10:19:19.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:19.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:19.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968680153826092;171.162346601491;_
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968680153826092;171.162346601491;_
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:19.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:19.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:19.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:19.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:19.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58139)
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:19.866 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:19.873 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:19.873 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:19.873 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:19.873 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:19.873 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:19.874 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:19.874 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:19.874 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:19.874 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:19.874 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8467576, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968680153826092, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.546398, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56616, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5212269868325, telescope_dec_j2k=-24.1688568542554, observability=1)
2025-11-03T10:19:19.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:19
2025-11-03T10:19:19.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:19.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021754026412963867s
2025-11-03T10:19:19.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021754026412963867
2025-11-03T10:19:20.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:20
2025-11-03T10:19:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8939950466156006s
2025-11-03T10:19:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8939950466156006
2025-11-03T10:19:21.559 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:21
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6851866245269775s
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:21.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5468737;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56664;2460982.84677733;10.32263944;1.3;_
2025-11-03T10:19:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5468737;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56664;2460982.84677733;10.32263944;1.3;_
2025-11-03T10:19:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:21.562 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5468737, teldec = -24.256588
2025-11-03T10:19:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5468737 -24.256588
2025-11-03T10:19:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5468737 -24.256588
2025-11-03T10:19:21.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5468737 -24.256588
2025-11-03T10:19:21.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5468737;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56664;2460982.84677735;10.32263944;1.3;_15.5217023459019 -24.1688707448465
2025-11-03T10:19:21.563 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5217023459019     dec_j2k = -24.1688707448465
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096868256054266;171.162357330327;_
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096868256054266;171.162357330327;_
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:21.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:21.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:21.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:21.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:21.566 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47749)
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:21.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:21.577 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:21.577 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84677733, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096868256054266, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5468737, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56664, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:18:21.983748', telescope_ra_j2k=15.5217023459019, telescope_dec_j2k=-24.1688707448465, observability=1)
2025-11-03T10:19:21.600 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:21
2025-11-03T10:19:21.600 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:21.600 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023094654083251953s
2025-11-03T10:19:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023094654083251953
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:22.128 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:22.128 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:22.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:22.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:22.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:22.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:22.129 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:22.130 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:19:22.130 [INFO] [ThreadPoolExecutor-3455_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:19:22.130 [INFO] [ThreadPoolExecutor-3455_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:19:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:22
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.190746784210205s
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5472097;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56697;2460982.84679132;10.32297444;1.3;_
2025-11-03T10:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5472097;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56697;2460982.84679132;10.32297444;1.3;_
2025-11-03T10:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5472097, teldec = -24.256588
2025-11-03T10:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5472097 -24.256588
2025-11-03T10:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5472097 -24.256588
2025-11-03T10:19:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5472097 -24.256588
2025-11-03T10:19:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5472097;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56697;2460982.84679134;10.32297444;1.3;_15.5220381051213 -24.1688805569875
2025-11-03T10:19:22.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5220381051213     dec_j2k = -24.1688805569875
2025-11-03T10:19:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968683362781516;171.162362694745;_
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968683362781516;171.162362694745;_
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:22.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59871)
2025-11-03T10:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:22.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:22.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:22.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:22.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84679132, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968683362781516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5472097, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5220381051213, telescope_dec_j2k=-24.1688805569875, observability=1)
2025-11-03T10:19:23.652 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:23
2025-11-03T10:19:23.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:23.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8656301498413086s
2025-11-03T10:19:23.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8656301498413086
2025-11-03T10:19:23.675 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:23
2025-11-03T10:19:23.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:23.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8884410858154297s
2025-11-03T10:19:23.675 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8884410858154297
2025-11-03T10:19:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:24
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9784464836120605s
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5477606;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56752;2460982.84681443;10.32352389;1.3;_
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5477606;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56752;2460982.84681443;10.32352389;1.3;_
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:24.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5477606, teldec = -24.256588
2025-11-03T10:19:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5477606 -24.256588
2025-11-03T10:19:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5477606 -24.256588
2025-11-03T10:19:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5477606 -24.256588
2025-11-03T10:19:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5477606;-24.256588;50.108517;89.993045;50.08601;90.12017;12.56752;2460982.84681446;10.32352389;1.3;_15.5225886103914 -24.1688966463047
2025-11-03T10:19:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5225886103914     dec_j2k = -24.1688966463047
2025-11-03T10:19:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09686845661398;171.162351965909;_
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09686845661398;171.162351965909;_
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41699)
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:24.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:24.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:24.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:24.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:24.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84681443, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09686845661398, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5477606, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56752, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5225886103914, telescope_dec_j2k=-24.1688966463047, observability=1)
2025-11-03T10:19:25.794 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:25
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0096700191497803s
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:25.794 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:25.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:25.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:25.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:25.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5480408;-24.256588;50.108517;89.993045;50.08601;90.12017;12.5678;2460982.84682634;10.32380333;1.3;_
2025-11-03T10:19:25.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5480408;-24.256588;50.108517;89.993045;50.08601;90.12017;12.5678;2460982.84682634;10.32380333;1.3;_
2025-11-03T10:19:25.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:25.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:25.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:25.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:25.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:25.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5480408, teldec = -24.256588
2025-11-03T10:19:25.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5480408 -24.256588
2025-11-03T10:19:25.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5480408 -24.256588
2025-11-03T10:19:25.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5480408 -24.256588
2025-11-03T10:19:25.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5480408;-24.256588;50.108517;89.993045;50.08601;90.12017;12.5678;2460982.84682638;10.32380333;1.3;_15.5228686096469 -24.1689048304018
2025-11-03T10:19:25.799 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5228686096469     dec_j2k = -24.1689048304018
2025-11-03T10:19:25.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:25.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:25.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968676944870667;171.162368059163;_
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968676944870667;171.162368059163;_
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:25.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:25.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:25.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:25.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:25.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:25.802 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40965)
2025-11-03T10:19:25.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:25.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:25.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:25.803 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:25.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:25.810 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:25.810 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84682634, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968676944870667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993045, telescope_ra=15.5480408, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5228686096469, telescope_dec_j2k=-24.1689048304018, observability=1)
2025-11-03T10:19:25.831 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:25
2025-11-03T10:19:25.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:25.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021232128143310547s
2025-11-03T10:19:25.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021232128143310547
2025-11-03T10:19:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:26
2025-11-03T10:19:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9582400321960449s
2025-11-03T10:19:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9582400321960449
2025-11-03T10:19:27.745 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:27
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.935504674911499s
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:27.746 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:27.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:27.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.548601;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56836;2460982.84684894;10.32436194;1.3;_
2025-11-03T10:19:27.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.548601;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56836;2460982.84684894;10.32436194;1.3;_
2025-11-03T10:19:27.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:27.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:27.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:27.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:27.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:27.749 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.548601, teldec = -24.256588
2025-11-03T10:19:27.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.548601 -24.256588
2025-11-03T10:19:27.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.548601 -24.256588
2025-11-03T10:19:27.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.548601 -24.256588
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.548601;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56836;2460982.84684896;10.32436194;1.3;_15.5234284083495 -24.1689211941937
2025-11-03T10:19:27.751 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5234284083495     dec_j2k = -24.1689211941937
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968678950467808;171.162357330327;_
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968678950467808;171.162357330327;_
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:27.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:27.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:27.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:27.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:27.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:27.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54899)
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:27.755 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:27.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:27.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84684894, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968678950467808, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.548601, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56836, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5234284083495, telescope_dec_j2k=-24.1689211941937, observability=1)
2025-11-03T10:19:27.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:27
2025-11-03T10:19:27.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:27.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022216320037841797s
2025-11-03T10:19:27.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022216320037841797
2025-11-03T10:19:28.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:28
2025-11-03T10:19:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0038747787475586s
2025-11-03T10:19:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:28.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5488812;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56864;2460982.84686075;10.32464139;1.3;_
2025-11-03T10:19:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5488812;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56864;2460982.84686075;10.32464139;1.3;_
2025-11-03T10:19:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:28.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5488812, teldec = -24.256588
2025-11-03T10:19:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5488812 -24.256588
2025-11-03T10:19:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5488812 -24.256588
2025-11-03T10:19:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5488812 -24.256588
2025-11-03T10:19:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5488812;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56864;2460982.84686078;10.32464139;1.3;_15.5237084076533 -24.1689293797308
2025-11-03T10:19:28.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5237084076533     dec_j2k = -24.1689293797308
2025-11-03T10:19:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968683362781516;171.162362694745;_
2025-11-03T10:19:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968683362781516;171.162362694745;_
2025-11-03T10:19:28.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35693)
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:28.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:28.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:28.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:28.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:28.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:28.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84686075, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968683362781516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5488812, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56864, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5237084076533, telescope_dec_j2k=-24.1689293797308, observability=1)
2025-11-03T10:19:29.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:29
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.007129192352295s
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:29.795 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:29.796 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5491522;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56892;2460982.84687265;10.32491167;1.3;_
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5491522;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56892;2460982.84687265;10.32491167;1.3;_
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:29.797 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5491522, teldec = -24.256588
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5491522 -24.256588
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5491522 -24.256588
2025-11-03T10:19:29.797 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5491522 -24.256588
2025-11-03T10:19:29.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5491522;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56892;2460982.84687266;10.32491167;1.3;_15.523979213562 -24.168937296963
2025-11-03T10:19:29.798 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.523979213562     dec_j2k = -24.168937296963
2025-11-03T10:19:29.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968679752706664;171.162357330327;_
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968679752706664;171.162357330327;_
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:29.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:29.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:29.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:29.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:29.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48913)
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:29.806 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:29.813 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:29.814 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:29.814 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84687265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968679752706664, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5491522, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56892, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.523979213562, telescope_dec_j2k=-24.168937296963, observability=1)
2025-11-03T10:19:29.835 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:29
2025-11-03T10:19:29.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:29.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021726131439208984s
2025-11-03T10:19:29.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021726131439208984
2025-11-03T10:19:30.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:30
2025-11-03T10:19:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9571859836578369s
2025-11-03T10:19:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9571859836578369
2025-11-03T10:19:31.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:31
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8826415538787842s
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:31.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:31.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:31.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:31.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5496859;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56945;2460982.84689465;10.32544389;1.3;_
2025-11-03T10:19:31.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5496859;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56945;2460982.84689465;10.32544389;1.3;_
2025-11-03T10:19:31.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:31.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:31.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:31.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:31.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:31.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5496859, teldec = -24.256588
2025-11-03T10:19:31.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5496859 -24.256588
2025-11-03T10:19:31.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5496859 -24.256588
2025-11-03T10:19:31.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5496859 -24.256588
2025-11-03T10:19:31.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5496859;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56945;2460982.84689469;10.32544389;1.3;_15.524512531368 -24.1689528902568
2025-11-03T10:19:31.701 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.524512531368     dec_j2k = -24.1689528902568
2025-11-03T10:19:31.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:31.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:31.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968683362781516;171.162351965909;_
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968683362781516;171.162351965909;_
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:31.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:31.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:31.704 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50621)
2025-11-03T10:19:31.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:31.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:31.705 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:31.705 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:31.705 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:31.712 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:31.712 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84689465, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968683362781516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5496859, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56945, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.524512531368, telescope_dec_j2k=-24.1689528902568, observability=1)
2025-11-03T10:19:31.733 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:31
2025-11-03T10:19:31.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:31.734 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02157139778137207s
2025-11-03T10:19:31.734 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02157139778137207
2025-11-03T10:19:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:32
2025-11-03T10:19:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0544023513793945s
2025-11-03T10:19:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5499939;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56976;2460982.84690704;10.32575111;1.3;_
2025-11-03T10:19:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5499939;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56976;2460982.84690704;10.32575111;1.3;_
2025-11-03T10:19:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5499939, teldec = -24.256588
2025-11-03T10:19:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5499939 -24.256588
2025-11-03T10:19:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5499939 -24.256588
2025-11-03T10:19:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5499939 -24.256588
2025-11-03T10:19:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5499939;-24.256588;50.108517;89.993044;50.08601;90.12017;12.56976;2460982.84690706;10.32575111;1.3;_15.5248203108292 -24.1689618899895
2025-11-03T10:19:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5248203108292     dec_j2k = -24.1689618899895
2025-11-03T10:19:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968688176214653;171.162362694745;_
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968688176214653;171.162362694745;_
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43143)
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:32.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84690704, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968688176214653, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5499939, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.56976, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5248203108292, telescope_dec_j2k=-24.1689618899895, observability=1)
2025-11-03T10:19:33.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:33
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0142221450805664s
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:33.798 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:33.799 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:33.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5502742;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57004;2460982.84691898;10.32603056;1.3;_
2025-11-03T10:19:33.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5502742;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57004;2460982.84691898;10.32603056;1.3;_
2025-11-03T10:19:33.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:33.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:33.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:33.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:33.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:33.801 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5502742, teldec = -24.256588
2025-11-03T10:19:33.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5502742 -24.256588
2025-11-03T10:19:33.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5502742 -24.256588
2025-11-03T10:19:33.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5502742 -24.256588
2025-11-03T10:19:33.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5502742;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57004;2460982.846919;10.32603056;1.3;_15.5251004101415 -24.1689700808346
2025-11-03T10:19:33.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5251004101415     dec_j2k = -24.1689700808346
2025-11-03T10:19:33.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:33.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:33.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:33.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681758303804;171.162362694745;_
2025-11-03T10:19:33.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681758303804;171.162362694745;_
2025-11-03T10:19:33.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:33.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:33.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:33.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:33.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:33.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:33.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:33.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:33.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:33.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:33.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:33.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:33.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47427)
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:33.813 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:33.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:33.820 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:33.820 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:33.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:33.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84691898, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681758303804, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5502742, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57004, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5251004101415, telescope_dec_j2k=-24.1689700808346, observability=1)
2025-11-03T10:19:33.845 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:33
2025-11-03T10:19:33.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:33.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024565935134887695s
2025-11-03T10:19:33.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024565935134887695
2025-11-03T10:19:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:34
2025-11-03T10:19:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9476239681243896s
2025-11-03T10:19:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9476239681243896
2025-11-03T10:19:35.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:35
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5749139785766602s
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:35.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:35.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5507145;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57048;2460982.84693747;10.32646972;1.3;_
2025-11-03T10:19:35.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5507145;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57048;2460982.84693747;10.32646972;1.3;_
2025-11-03T10:19:35.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:35.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:35.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:35.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:35.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:35.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5507145, teldec = -24.256588
2025-11-03T10:19:35.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5507145 -24.256588
2025-11-03T10:19:35.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5507145 -24.256588
2025-11-03T10:19:35.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5507145 -24.256588
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5507145;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57048;2460982.84693749;10.32646972;1.3;_15.5255403949304 -24.1689829481226
2025-11-03T10:19:35.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5255403949304     dec_j2k = -24.1689829481226
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968682159423232;171.162362694745;_
2025-11-03T10:19:35.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968682159423232;171.162362694745;_
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:35.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:35.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:35.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:35.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:35.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54975)
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:35.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:35.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:35.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:35.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:35.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84693747, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968682159423232, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5507145, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57048, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5255403949304, telescope_dec_j2k=-24.1689829481226, observability=1)
2025-11-03T10:19:35.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:35
2025-11-03T10:19:35.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:35.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021898508071899414s
2025-11-03T10:19:35.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021898508071899414
2025-11-03T10:19:35.885 [DEBUG] [Thread-88871 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:35.885 [DEBUG] [Thread-88871 (handle)] [server.py] [get_status()] Status age = 0.46958112716674805s
2025-11-03T10:19:35.885 [DEBUG] [Thread-88871 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46958112716674805
2025-11-03T10:19:36.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:36
2025-11-03T10:19:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3506462574005127s
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:36.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5511075;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57087;2460982.84695333;10.32686167;1.3;_
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5511075;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57087;2460982.84695333;10.32686167;1.3;_
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:36.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:36.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5511075, teldec = -24.256588
2025-11-03T10:19:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5511075 -24.256588
2025-11-03T10:19:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5511075 -24.256588
2025-11-03T10:19:36.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5511075 -24.256588
2025-11-03T10:19:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5511075;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57087;2460982.84695336;10.32686167;1.3;_15.525933113615 -24.1689944341202
2025-11-03T10:19:36.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.525933113615     dec_j2k = -24.1689944341202
2025-11-03T10:19:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:36.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968685769498085;171.162351965909;_
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968685769498085;171.162351965909;_
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:36.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:36.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:36.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44921)
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:36.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:36.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:36.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84695333, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968685769498085, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5511075, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57087, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.525933113615, telescope_dec_j2k=-24.1689944341202, observability=1)
2025-11-03T10:19:37.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:37
2025-11-03T10:19:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.609755277633667s
2025-11-03T10:19:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.609755277633667
2025-11-03T10:19:37.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:37
2025-11-03T10:19:37.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:37.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6317517757415771s
2025-11-03T10:19:37.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6317517757415771
2025-11-03T10:19:38.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:38
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9771003723144531s
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:38.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5516591;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57142;2460982.84697646;10.32741167;1.3;_
2025-11-03T10:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5516591;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57142;2460982.84697646;10.32741167;1.3;_
2025-11-03T10:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:38.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5516591, teldec = -24.256588
2025-11-03T10:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5516591 -24.256588
2025-11-03T10:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5516591 -24.256588
2025-11-03T10:19:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5516591 -24.256588
2025-11-03T10:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5516591;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57142;2460982.84697648;10.32741167;1.3;_15.5264843188247 -24.1690105570255
2025-11-03T10:19:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5264843188247     dec_j2k = -24.1690105570255
2025-11-03T10:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968682159423232;171.162362694745;_
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968682159423232;171.162362694745;_
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:38.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41785)
2025-11-03T10:19:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:38.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:38.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:38.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:38.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:38.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:38.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:38.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:38.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84697646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968682159423232, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5516591, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57142, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5264843188247, telescope_dec_j2k=-24.1690105570255, observability=1)
2025-11-03T10:19:39.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:39
2025-11-03T10:19:39.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:39.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.612741231918335s
2025-11-03T10:19:39.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.612741231918335
2025-11-03T10:19:39.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:39
2025-11-03T10:19:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6351487636566162s
2025-11-03T10:19:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6351487636566162
2025-11-03T10:19:40.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:40
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860281944274902s
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5522203;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57198;2460982.84699964;10.32797139;1.3;_
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5522203;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57198;2460982.84699964;10.32797139;1.3;_
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:40.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5522203, teldec = -24.256588
2025-11-03T10:19:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5522203 -24.256588
2025-11-03T10:19:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5522203 -24.256588
2025-11-03T10:19:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5522203 -24.256588
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5522203;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57198;2460982.84699966;10.32797139;1.3;_15.5270451172277 -24.1690269624399
2025-11-03T10:19:40.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5270451172277     dec_j2k = -24.1690269624399
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968681357184376;171.162362694745;_
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968681357184376;171.162362694745;_
2025-11-03T10:19:40.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38883)
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:40.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:40.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:40.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84699964, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968681357184376, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5522203, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5270451172277, telescope_dec_j2k=-24.1690269624399, observability=1)
2025-11-03T10:19:41.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:41
2025-11-03T10:19:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:41.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6125483512878418s
2025-11-03T10:19:41.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6125483512878418
2025-11-03T10:19:41.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:41
2025-11-03T10:19:41.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:41.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6341323852539062s
2025-11-03T10:19:41.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6341323852539062
2025-11-03T10:19:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:42
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9792861938476562s
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5527805;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57254;2460982.84702277;10.32853;1.3;_
2025-11-03T10:19:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5527805;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57254;2460982.84702277;10.32853;1.3;_
2025-11-03T10:19:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5527805, teldec = -24.256588
2025-11-03T10:19:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5527805 -24.256588
2025-11-03T10:19:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5527805 -24.256588
2025-11-03T10:19:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5527805 -24.256588
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5527805;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57254;2460982.84702279;10.32853;1.3;_15.5276049164108 -24.1690433405399
2025-11-03T10:19:42.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5276049164108     dec_j2k = -24.1690433405399
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968686170617512;171.162351965909;_
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968686170617512;171.162351965909;_
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57197)
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84702277, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968686170617512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5527805, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57254, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5276049164108, telescope_dec_j2k=-24.1690433405399, observability=1)
2025-11-03T10:19:43.007 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.007 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.007 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:43.007 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:43.007 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:19:43.008 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:43.009 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:43.010 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:19:43.011 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:43.012 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Park
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:19:43.013 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:19:43.014 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 29;15.5528364;-24.256588;50.108517;89.993044;50.08601;90.12017;12.5726;2460982.84702562;10.32858583;1.3;_Park Command Successful
2025-11-03T10:19:43.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:43
2025-11-03T10:19:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6118907928466797s
2025-11-03T10:19:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6118907928466797
2025-11-03T10:19:43.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:43
2025-11-03T10:19:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6333110332489014s
2025-11-03T10:19:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6333110332489014
2025-11-03T10:19:44.014 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:19:44.014 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:19:44.015 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:19:44.015 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:19:44.015 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:19:44.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:44
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828805923461914s
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5533311;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57309;2460982.84704593;10.32907917;1.3;_
2025-11-03T10:19:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5533311;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57309;2460982.84704593;10.32907917;1.3;_
2025-11-03T10:19:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5533311, teldec = -24.256588
2025-11-03T10:19:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5533311 -24.256588
2025-11-03T10:19:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5533311 -24.256588
2025-11-03T10:19:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5533311 -24.256588
2025-11-03T10:19:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5533311;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57309;2460982.84704595;10.32907917;1.3;_15.5281551225253 -24.16905943984
2025-11-03T10:19:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5281551225253     dec_j2k = -24.16905943984
2025-11-03T10:19:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096868055494552;171.162351965909;_
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096868055494552;171.162351965909;_
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58437)
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:44.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:44.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:44.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84704593, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096868055494552, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5533311, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57309, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5281551225253, telescope_dec_j2k=-24.16905943984, observability=1)
2025-11-03T10:19:45.015 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:19:45.016 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:19:45.016 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:19:45.016 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:19:45.016 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:19:45.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:45
2025-11-03T10:19:45.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:45.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6058542728424072s
2025-11-03T10:19:45.393 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6058542728424072
2025-11-03T10:19:45.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:45
2025-11-03T10:19:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6278047561645508s
2025-11-03T10:19:45.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6278047561645508
2025-11-03T10:19:46.016 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:19:46.017 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:19:46.017 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:19:46.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:19:46.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:19:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:46
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.984954833984375s
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:46.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:46.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5538918;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57365;2460982.84706914;10.32963833;1.3;_
2025-11-03T10:19:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5538918;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57365;2460982.84706914;10.32963833;1.3;_
2025-11-03T10:19:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:46.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5538918, teldec = -24.256588
2025-11-03T10:19:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5538918 -24.256588
2025-11-03T10:19:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5538918 -24.256588
2025-11-03T10:19:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5538918 -24.256588
2025-11-03T10:19:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5538918;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57365;2460982.84706917;10.32963833;1.3;_15.5287154214786 -24.1690758363618
2025-11-03T10:19:46.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5287154214786     dec_j2k = -24.1690758363618
2025-11-03T10:19:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968688577334081;171.162357330327;_
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968688577334081;171.162357330327;_
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:46.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44275)
2025-11-03T10:19:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:46.786 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:46.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:46.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:46.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84706914, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968688577334081, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5538918, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57365, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5287154214786, telescope_dec_j2k=-24.1690758363618, observability=1)
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:19:47.018 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:19:47.019 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:19:47.020 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:47.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:47
2025-11-03T10:19:47.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:47.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6131668090820312s
2025-11-03T10:19:47.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6131668090820312
2025-11-03T10:19:47.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:47
2025-11-03T10:19:47.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:47.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6381344795227051s
2025-11-03T10:19:47.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6381344795227051
2025-11-03T10:19:48.020 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:48.020 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:48.020 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:48.020 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:48.020 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:19:48.021 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:19:48.022 [DEBUG] [ThreadPoolExecutor-3454_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:48.022 [INFO] [ThreadPoolExecutor-3454_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:19:48.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:48
2025-11-03T10:19:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.973487377166748s
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.554452;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57421;2460982.84709223;10.33019694;1.3;_
2025-11-03T10:19:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.554452;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57421;2460982.84709223;10.33019694;1.3;_
2025-11-03T10:19:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:48.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.554452, teldec = -24.256588
2025-11-03T10:19:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.554452 -24.256588
2025-11-03T10:19:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.554452 -24.256588
2025-11-03T10:19:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.554452 -24.256588
2025-11-03T10:19:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.554452;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57421;2460982.84709226;10.33019694;1.3;_15.529275220854 -24.1690922201784
2025-11-03T10:19:48.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.529275220854     dec_j2k = -24.1690922201784
2025-11-03T10:19:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968691786289505;171.162357330327;_
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968691786289505;171.162357330327;_
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45315)
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:48.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:48.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:48.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84709223, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968691786289505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.554452, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57421, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.529275220854, telescope_dec_j2k=-24.1690922201784, observability=1)
2025-11-03T10:19:49.855 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:49
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0715632438659668s
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:49.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:49.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:49.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5547319;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57449;2460982.84710483;10.33047611;1.3;_
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5547319;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57449;2460982.84710483;10.33047611;1.3;_
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:49.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:49.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:49.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:49.858 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5547319, teldec = -24.256588
2025-11-03T10:19:49.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5547319 -24.256588
2025-11-03T10:19:49.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5547319 -24.256588
2025-11-03T10:19:49.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5547319 -24.256588
2025-11-03T10:19:49.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5547319;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57449;2460982.84710485;10.33047611;1.3;_15.5295549207088 -24.1691004069551
2025-11-03T10:19:49.859 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5295549207088     dec_j2k = -24.1691004069551
2025-11-03T10:19:49.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:49.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:49.859 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968680956064948;171.162351965909;_
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968680956064948;171.162351965909;_
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:49.860 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:49.861 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:49.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:49.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:49.862 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37015)
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:49.868 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:49.875 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:49.875 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84710483, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968680956064948, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5547319, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57449, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5295549207088, telescope_dec_j2k=-24.1691004069551, observability=1)
2025-11-03T10:19:49.897 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:49
2025-11-03T10:19:49.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:49.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021535634994506836s
2025-11-03T10:19:49.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021535634994506836
2025-11-03T10:19:50.238 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:50.238 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.36230039596557617s
2025-11-03T10:19:50.238 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36230039596557617
2025-11-03T10:19:50.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:50
2025-11-03T10:19:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8859102725982666s
2025-11-03T10:19:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8859102725982666
2025-11-03T10:19:51.699 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:51
2025-11-03T10:19:51.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8240752220153809s
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:51.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:51.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:51.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.555255;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57502;2460982.84712618;10.33099778;1.3;_
2025-11-03T10:19:51.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.555255;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57502;2460982.84712618;10.33099778;1.3;_
2025-11-03T10:19:51.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:51.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:51.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:51.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:51.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:51.703 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.555255, teldec = -24.256588
2025-11-03T10:19:51.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.555255 -24.256588
2025-11-03T10:19:51.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.555255 -24.256588
2025-11-03T10:19:51.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.555255 -24.256588
2025-11-03T10:19:51.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.555255;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57502;2460982.8471262;10.33099778;1.3;_15.5300776467044 -24.1691157083541
2025-11-03T10:19:51.704 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5300776467044     dec_j2k = -24.1691157083541
2025-11-03T10:19:51.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:51.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:51.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:51.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968684967259228;171.162362694745;_
2025-11-03T10:19:51.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968684967259228;171.162362694745;_
2025-11-03T10:19:51.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:51.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:51.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:51.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:51.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:51.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:51.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:51.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:51.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:51.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:51.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:51.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:51.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44767)
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:51.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:51.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:51.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:51.720 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84712618, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968684967259228, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.555255, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57502, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5300776467044, telescope_dec_j2k=-24.1691157083541, observability=1)
2025-11-03T10:19:51.743 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:51
2025-11-03T10:19:51.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:51.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023355722427368164s
2025-11-03T10:19:51.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023355722427368164
2025-11-03T10:19:52.311 [DEBUG] [Thread-88872 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:52.311 [DEBUG] [Thread-88872 (handle)] [server.py] [get_status()] Status age = 0.5911900997161865s
2025-11-03T10:19:52.311 [DEBUG] [Thread-88872 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5911900997161865
2025-11-03T10:19:52.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:52
2025-11-03T10:19:52.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.043553352355957s
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:52.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:52.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5555631;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57533;2460982.8471385;10.331305;1.3;_
2025-11-03T10:19:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5555631;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57533;2460982.8471385;10.331305;1.3;_
2025-11-03T10:19:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:52.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5555631, teldec = -24.256588
2025-11-03T10:19:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5555631 -24.256588
2025-11-03T10:19:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5555631 -24.256588
2025-11-03T10:19:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5555631 -24.256588
2025-11-03T10:19:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5555631;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57533;2460982.84713852;10.331305;1.3;_15.5303855264463 -24.1691247214868
2025-11-03T10:19:52.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5303855264463     dec_j2k = -24.1691247214868
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968688176214653;171.162362694745;_
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968688176214653;171.162362694745;_
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:52.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49369)
2025-11-03T10:19:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:52.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:52.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8471385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968688176214653, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5555631, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57533, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5303855264463, telescope_dec_j2k=-24.1691247214868, observability=1)
2025-11-03T10:19:53.845 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:53
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.060513973236084s
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:53.845 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:53.846 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:53.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5558436;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57561;2460982.84715101;10.33158472;1.3;_
2025-11-03T10:19:53.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5558436;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57561;2460982.84715101;10.33158472;1.3;_
2025-11-03T10:19:53.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:53.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:53.847 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:53.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:53.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:53.848 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5558436, teldec = -24.256588
2025-11-03T10:19:53.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5558436 -24.256588
2025-11-03T10:19:53.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5558436 -24.256588
2025-11-03T10:19:53.848 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5558436 -24.256588
2025-11-03T10:19:53.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5558436;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57561;2460982.84715103;10.33158472;1.3;_15.5306658259362 -24.1691329277149
2025-11-03T10:19:53.849 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5306658259362     dec_j2k = -24.1691329277149
2025-11-03T10:19:53.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:53.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:53.849 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968685368378656;171.162351965909;_
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968685368378656;171.162351965909;_
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:53.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:53.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39917)
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:53.855 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:53.862 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:53.862 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:53.863 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:53.863 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84715101, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968685368378656, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5558436, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57561, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5306658259362, telescope_dec_j2k=-24.1691329277149, observability=1)
2025-11-03T10:19:53.885 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:53
2025-11-03T10:19:53.885 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:53.885 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02199077606201172s
2025-11-03T10:19:53.885 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02199077606201172
2025-11-03T10:19:54.029 [DEBUG] [Thread-88873 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:54.029 [DEBUG] [Thread-88873 (handle)] [server.py] [get_status()] Status age = 0.16612005233764648s
2025-11-03T10:19:54.029 [DEBUG] [Thread-88873 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16612005233764648
2025-11-03T10:19:54.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:54
2025-11-03T10:19:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9021942615509033s
2025-11-03T10:19:54.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9021942615509033
2025-11-03T10:19:55.849 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:55
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986755132675171s
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:55.850 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:55.851 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:55.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.556424;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57619;2460982.84717421;10.33216361;1.3;_
2025-11-03T10:19:55.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.556424;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57619;2460982.84717421;10.33216361;1.3;_
2025-11-03T10:19:55.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:55.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:55.852 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:55.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:55.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:55.853 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.556424, teldec = -24.256588
2025-11-03T10:19:55.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.556424 -24.256588
2025-11-03T10:19:55.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.556424 -24.256588
2025-11-03T10:19:55.853 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.556424 -24.256588
2025-11-03T10:19:55.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.556424;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57619;2460982.84717424;10.33216361;1.3;_15.5312458110996 -24.169149909256
2025-11-03T10:19:55.854 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5312458110996     dec_j2k = -24.169149909256
2025-11-03T10:19:55.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:55.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:55.854 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968693390767218;171.162362694745;_
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968693390767218;171.162362694745;_
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:55.855 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:55.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:55.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:55.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:55.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:55.856 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:55.857 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:55.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:55.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:55.858 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:55.859 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51361)
2025-11-03T10:19:55.860 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:55.860 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:55.860 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:55.860 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:55.860 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:55.867 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:55.867 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84717421, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968693390767218, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.556424, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57619, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5312458110996, telescope_dec_j2k=-24.169149909256, observability=1)
2025-11-03T10:19:55.889 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:55
2025-11-03T10:19:55.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:55.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022262096405029297s
2025-11-03T10:19:55.889 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022262096405029297
2025-11-03T10:19:56.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:56
2025-11-03T10:19:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9049303531646729s
2025-11-03T10:19:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9049303531646729
2025-11-03T10:19:57.952 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:57
2025-11-03T10:19:57.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:57.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0853395462036133s
2025-11-03T10:19:57.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:57.953 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:57.953 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5569858;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57675;2460982.84719855;10.33272389;1.3;_
2025-11-03T10:19:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5569858;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57675;2460982.84719855;10.33272389;1.3;_
2025-11-03T10:19:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:57.956 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5569858, teldec = -24.256588
2025-11-03T10:19:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5569858 -24.256588
2025-11-03T10:19:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5569858 -24.256588
2025-11-03T10:19:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5569858 -24.256588
2025-11-03T10:19:57.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5569858;-24.256588;50.108517;89.993044;50.08601;90.12017;12.57675;2460982.84719858;10.33272389;1.3;_15.5318072096231 -24.1691663485487
2025-11-03T10:19:57.957 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5318072096231     dec_j2k = -24.1691663485487
2025-11-03T10:19:57.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:57.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:57.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968688176214653;171.162351965909;_
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968688176214653;171.162351965909;_
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:57.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:57.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:57.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:57.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:57.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41821)
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:57.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:57.970 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84719855, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968688176214653, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5569858, telescope_dec=-24.256588, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57675, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5318072096231, telescope_dec_j2k=-24.1691663485487, observability=1)
2025-11-03T10:19:57.997 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:57
2025-11-03T10:19:57.997 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:57.997 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026918411254882812s
2025-11-03T10:19:57.997 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026918411254882812
2025-11-03T10:19:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.183610200881958s
2025-11-03T10:19:58.154 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.183610200881958
2025-11-03T10:19:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:58
2025-11-03T10:19:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7915523052215576s
2025-11-03T10:19:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7915523052215576
2025-11-03T10:19:59.895 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:59
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9246466159820557s
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:19:59.895 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:19:59.896 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:19:59.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5575465;-24.256587;50.108517;89.993044;50.08601;90.12017;12.57731;2460982.84722103;10.33328306;1.3;_
2025-11-03T10:19:59.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5575465;-24.256587;50.108517;89.993044;50.08601;90.12017;12.57731;2460982.84722103;10.33328306;1.3;_
2025-11-03T10:19:59.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:19:59.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:19:59.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:19:59.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:59.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:19:59.899 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5575465, teldec = -24.256587
2025-11-03T10:19:59.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5575465 -24.256587
2025-11-03T10:19:59.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5575465 -24.256587
2025-11-03T10:19:59.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5575465 -24.256587
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5575465;-24.256587;50.108517;89.993044;50.08601;90.12017;12.57731;2460982.84722105;10.33328306;1.3;_15.5323675091538 -24.1691817576011
2025-11-03T10:19:59.900 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5323675091538     dec_j2k = -24.1691817576011
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968683362781516;171.162357330327;_
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968683362781516;171.162357330327;_
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:59.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:59.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:59.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:19:59.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:19:59.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49735)
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:19:59.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:19:59.916 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:19:59.917 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84722103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968683362781516, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108517, telescope_az=89.993044, telescope_ra=15.5575465, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57731, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5323675091538, telescope_dec_j2k=-24.1691817576011, observability=1)
2025-11-03T10:19:59.939 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:19:59
2025-11-03T10:19:59.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:19:59.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022811412811279297s
2025-11-03T10:19:59.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022811412811279297
2025-11-03T10:20:00.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:00
2025-11-03T10:20:00.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:00.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8545169830322266s
2025-11-03T10:20:00.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8545169830322266
2025-11-03T10:20:01.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:01
2025-11-03T10:20:01.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7800359725952148s
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:01.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5580421;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57781;2460982.84724187;10.33377722;1.3;_
2025-11-03T10:20:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5580421;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57781;2460982.84724187;10.33377722;1.3;_
2025-11-03T10:20:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:01.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:01.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:01.699 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5580421, teldec = -24.256587
2025-11-03T10:20:01.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5580421 -24.256587
2025-11-03T10:20:01.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5580421 -24.256587
2025-11-03T10:20:01.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5580421 -24.256587
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5580421;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57781;2460982.8472419;10.33377722;1.3;_15.5328627550966 -24.1691962630531
2025-11-03T10:20:01.701 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5328627550966     dec_j2k = -24.1691962630531
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:01.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:01.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:01.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59881)
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:01.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:01.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:01.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:01.717 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84724187, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968686170617512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5580421, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57781, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5328627550966, telescope_dec_j2k=-24.1691962630531, observability=1)
2025-11-03T10:20:01.739 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:01
2025-11-03T10:20:01.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:01.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022206783294677734s
2025-11-03T10:20:01.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022206783294677734
2025-11-03T10:20:02.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:02
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0551822185516357s
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.558351;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57811;2460982.84725432;10.33408528;1.3;_
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.558351;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57811;2460982.84725432;10.33408528;1.3;_
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:02.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:02.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.558351, teldec = -24.256587
2025-11-03T10:20:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.558351 -24.256587
2025-11-03T10:20:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.558351 -24.256587
2025-11-03T10:20:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.558351 -24.256587
2025-11-03T10:20:02.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.558351;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57811;2460982.84725434;10.33408528;1.3;_15.5331714344436 -24.1692053048399
2025-11-03T10:20:02.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5331714344436     dec_j2k = -24.1692053048399
2025-11-03T10:20:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:02.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968690181811793;171.162357330327;_
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968690181811793;171.162357330327;_
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:02.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:02.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:02.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:02.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:02.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:02.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40039)
2025-11-03T10:20:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:02.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:02.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:02.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:02.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84725432, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968690181811793, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.558351, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57811, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5331714344436, telescope_dec_j2k=-24.1692053048399, observability=1)
2025-11-03T10:20:03.896 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:03
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1085624694824219s
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:03.897 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:03.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:03.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:03.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5586599;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57842;2460982.84726735;10.33439333;1.3;_
2025-11-03T10:20:03.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5586599;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57842;2460982.84726735;10.33439333;1.3;_
2025-11-03T10:20:03.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:03.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:03.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:03.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:03.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:03.900 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5586599, teldec = -24.256587
2025-11-03T10:20:03.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5586599 -24.256587
2025-11-03T10:20:03.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5586599 -24.256587
2025-11-03T10:20:03.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5586599 -24.256587
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5586599;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57842;2460982.84726737;10.33439333;1.3;_15.5334801138102 -24.1692143472082
2025-11-03T10:20:03.901 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5334801138102     dec_j2k = -24.1692143472082
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968685368378656;171.162351965909;_
2025-11-03T10:20:03.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968685368378656;171.162351965909;_
2025-11-03T10:20:03.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:03.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:03.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:03.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:03.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:03.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:03.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:03.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43965)
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:03.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:03.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:03.918 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:03.918 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:03.918 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84726735, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968685368378656, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5586599, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57842, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5334801138102, telescope_dec_j2k=-24.1692143472082, observability=1)
2025-11-03T10:20:03.939 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:03
2025-11-03T10:20:03.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:03.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021752119064331055s
2025-11-03T10:20:03.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021752119064331055
2025-11-03T10:20:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:04
2025-11-03T10:20:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8464429378509521s
2025-11-03T10:20:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8464429378509521
2025-11-03T10:20:05.899 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:05
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812953472137451s
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:05.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:05.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:05.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5592117;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57897;2460982.84729052;10.33494361;1.3;_
2025-11-03T10:20:05.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5592117;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57897;2460982.84729052;10.33494361;1.3;_
2025-11-03T10:20:05.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:05.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:05.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:05.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:05.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:05.902 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5592117, teldec = -24.256587
2025-11-03T10:20:05.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5592117 -24.256587
2025-11-03T10:20:05.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5592117 -24.256587
2025-11-03T10:20:05.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5592117 -24.256587
2025-11-03T10:20:05.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5592117;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57897;2460982.84729054;10.33494361;1.3;_15.5340315197331 -24.1692305013872
2025-11-03T10:20:05.903 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5340315197331     dec_j2k = -24.1692305013872
2025-11-03T10:20:05.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:05.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:05.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968684967259228;171.162351965909;_
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968684967259228;171.162351965909;_
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:05.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:05.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:05.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37923)
2025-11-03T10:20:05.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:05.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:05.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:05.910 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:05.910 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:05.917 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:05.917 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84729052, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968684967259228, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5592117, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57897, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5340315197331, telescope_dec_j2k=-24.1692305013872, observability=1)
2025-11-03T10:20:05.940 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:05
2025-11-03T10:20:05.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:05.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022359848022460938s
2025-11-03T10:20:05.940 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022359848022460938
2025-11-03T10:20:06.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:06
2025-11-03T10:20:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.849900484085083s
2025-11-03T10:20:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.849900484085083
2025-11-03T10:20:07.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:07
2025-11-03T10:20:07.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:07.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4790396690368652s
2025-11-03T10:20:07.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:07.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:07.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5596331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5794;2460982.84730786;10.33536389;1.3;_
2025-11-03T10:20:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5596331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5794;2460982.84730786;10.33536389;1.3;_
2025-11-03T10:20:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:07.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5596331, teldec = -24.256587
2025-11-03T10:20:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5596331 -24.256587
2025-11-03T10:20:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5596331 -24.256587
2025-11-03T10:20:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5596331 -24.256587
2025-11-03T10:20:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5596331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5794;2460982.84730788;10.33536389;1.3;_15.5344526188255 -24.1692428393004
2025-11-03T10:20:07.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5344526188255     dec_j2k = -24.1692428393004
2025-11-03T10:20:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968688176214653;171.162357330327;_
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968688176214653;171.162357330327;_
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:07.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:07.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47451)
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:07.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:07.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:07.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:07.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84730786, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968688176214653, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5596331, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5794, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5344526188255, telescope_dec_j2k=-24.1692428393004, observability=1)
2025-11-03T10:20:07.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:07
2025-11-03T10:20:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021688461303710938s
2025-11-03T10:20:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021688461303710938
2025-11-03T10:20:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:08
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3470990657806396s
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:08.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5600253;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57979;2460982.84732367;10.335755;1.3;_
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5600253;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57979;2460982.84732367;10.335755;1.3;_
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:08.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:08.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5600253, teldec = -24.256587
2025-11-03T10:20:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5600253 -24.256587
2025-11-03T10:20:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5600253 -24.256587
2025-11-03T10:20:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5600253 -24.256587
2025-11-03T10:20:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5600253;-24.256587;50.108516;89.993044;50.08601;90.12017;12.57979;2460982.84732369;10.335755;1.3;_15.5348445388014 -24.1692543232566
2025-11-03T10:20:08.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5348445388014     dec_j2k = -24.1692543232566
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968689379572937;171.162362694745;_
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968689379572937;171.162362694745;_
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33491)
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:08.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:08.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:08.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84732367, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968689379572937, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5600253, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.57979, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5348445388014, telescope_dec_j2k=-24.1692543232566, observability=1)
2025-11-03T10:20:09.898 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:09
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1168179512023926s
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:09.898 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:09.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:09.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:09.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:09.899 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:09.899 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5603331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5801;2460982.84733681;10.33606194;1.3;_
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5603331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5801;2460982.84733681;10.33606194;1.3;_
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:09.900 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:09.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:09.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:09.901 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:09.901 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5603331, teldec = -24.256587
2025-11-03T10:20:09.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5603331 -24.256587
2025-11-03T10:20:09.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5603331 -24.256587
2025-11-03T10:20:09.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5603331 -24.256587
2025-11-03T10:20:09.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5603331;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5801;2460982.84733684;10.33606194;1.3;_15.5351521190597 -24.169263336564
2025-11-03T10:20:09.903 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5351521190597     dec_j2k = -24.169263336564
2025-11-03T10:20:09.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:09.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:09.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968692187408933;171.162362694745;_
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968692187408933;171.162362694745;_
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:09.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:09.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:09.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:09.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39091)
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:09.909 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:09.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:09.917 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:09.917 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:09.917 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:09.917 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84733681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968692187408933, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5603331, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5801, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5351521190597, telescope_dec_j2k=-24.169263336564, observability=1)
2025-11-03T10:20:09.939 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:09
2025-11-03T10:20:09.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:09.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02203083038330078s
2025-11-03T10:20:09.939 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02203083038330078
2025-11-03T10:20:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:10
2025-11-03T10:20:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8481612205505371s
2025-11-03T10:20:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8481612205505371
2025-11-03T10:20:11.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:11
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4799156188964844s
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5607442;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58051;2460982.84735416;10.33647194;1.3;_
2025-11-03T10:20:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5607442;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58051;2460982.84735416;10.33647194;1.3;_
2025-11-03T10:20:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:11.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5607442, teldec = -24.256587
2025-11-03T10:20:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5607442 -24.256587
2025-11-03T10:20:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5607442 -24.256587
2025-11-03T10:20:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5607442 -24.256587
2025-11-03T10:20:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5607442;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58051;2460982.84735418;10.33647194;1.3;_15.5355629256013 -24.1692753757052
2025-11-03T10:20:11.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5355629256013     dec_j2k = -24.1692753757052
2025-11-03T10:20:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968686170617512;171.162362694745;_
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:11.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:11.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:11.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:11.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45177)
2025-11-03T10:20:11.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:11.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:11.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:11.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:11.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:11.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:11.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:11.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84735416, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968686170617512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5607442, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58051, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5355629256013, telescope_dec_j2k=-24.1692753757052, observability=1)
2025-11-03T10:20:11.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:11
2025-11-03T10:20:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021777629852294922s
2025-11-03T10:20:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021777629852294922
2025-11-03T10:20:12.079 [DEBUG] [Thread-88874 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:12.079 [DEBUG] [Thread-88874 (handle)] [server.py] [get_status()] Status age = 0.6662285327911377s
2025-11-03T10:20:12.079 [DEBUG] [Thread-88874 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6662285327911377
2025-11-03T10:20:12.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:12
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.361330509185791s
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5611364;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5809;2460982.84737009;10.33686306;1.3;_
2025-11-03T10:20:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5611364;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5809;2460982.84737009;10.33686306;1.3;_
2025-11-03T10:20:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:12.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5611364, teldec = -24.256587
2025-11-03T10:20:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5611364 -24.256587
2025-11-03T10:20:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5611364 -24.256587
2025-11-03T10:20:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5611364 -24.256587
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5611364;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5809;2460982.84737012;10.33686306;1.3;_15.5359548456669 -24.1692868623158
2025-11-03T10:20:12.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5359548456669     dec_j2k = -24.1692868623158
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096869499524493;171.162357330327;_
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096869499524493;171.162357330327;_
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54313)
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:12.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:12.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:12.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84737009, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096869499524493, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5611364, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5809, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5359548456669, telescope_dec_j2k=-24.1692868623158, observability=1)
2025-11-03T10:20:13.614 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:13
2025-11-03T10:20:13.614 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:13.614 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8220250606536865s
2025-11-03T10:20:13.614 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8220250606536865
2025-11-03T10:20:13.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:13
2025-11-03T10:20:13.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:13.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9138171672821045s
2025-11-03T10:20:13.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9138171672821045
2025-11-03T10:20:14.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:14
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.972261667251587s
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5616687;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58143;2460982.84739312;10.33739389;1.3;_
2025-11-03T10:20:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5616687;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58143;2460982.84739312;10.33739389;1.3;_
2025-11-03T10:20:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5616687, teldec = -24.256587
2025-11-03T10:20:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5616687 -24.256587
2025-11-03T10:20:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5616687 -24.256587
2025-11-03T10:20:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5616687 -24.256587
2025-11-03T10:20:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5616687;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58143;2460982.84739315;10.33739389;1.3;_15.5364867657862 -24.1693024536225
2025-11-03T10:20:14.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5364867657862     dec_j2k = -24.1693024536225
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096869900643921;171.162351965909;_
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096869900643921;171.162351965909;_
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42437)
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:14.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84739312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096869900643921, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5616687, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58143, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5364867657862, telescope_dec_j2k=-24.1693024536225, observability=1)
2025-11-03T10:20:15.259 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:20:15
2025-11-03T10:20:15.259 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:15.259 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.47551918029785156s
2025-11-03T10:20:15.259 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.47551918029785156
2025-11-03T10:20:15.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:15
2025-11-03T10:20:15.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:15.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6103274822235107s
2025-11-03T10:20:15.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6103274822235107
2025-11-03T10:20:15.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:15
2025-11-03T10:20:15.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:15.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6319191455841064s
2025-11-03T10:20:15.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6319191455841064
2025-11-03T10:20:16.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:16
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.002232789993286s
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:16.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:16.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:16.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5622561;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58202;2460982.84741653;10.33797972;1.3;_
2025-11-03T10:20:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5622561;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58202;2460982.84741653;10.33797972;1.3;_
2025-11-03T10:20:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:16.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:16.789 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5622561, teldec = -24.256587
2025-11-03T10:20:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5622561 -24.256587
2025-11-03T10:20:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5622561 -24.256587
2025-11-03T10:20:16.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5622561 -24.256587
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5622561;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58202;2460982.84741655;10.33797972;1.3;_15.5370737466505 -24.1693196608351
2025-11-03T10:20:16.790 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5370737466505     dec_j2k = -24.1693196608351
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968690984050649;171.162362694745;_
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968690984050649;171.162362694745;_
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:16.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:16.791 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45649)
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:16.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:16.799 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:16.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84741653, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968690984050649, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5622561, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58202, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5370737466505, telescope_dec_j2k=-24.1693196608351, observability=1)
2025-11-03T10:20:17.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:17
2025-11-03T10:20:17.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:17.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5999126434326172s
2025-11-03T10:20:17.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5999126434326172
2025-11-03T10:20:17.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:17
2025-11-03T10:20:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6222720146179199s
2025-11-03T10:20:17.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6222720146179199
2025-11-03T10:20:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:18
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.967569351196289s
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5628082;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58257;2460982.84743944;10.33853028;1.3;_
2025-11-03T10:20:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5628082;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58257;2460982.84743944;10.33853028;1.3;_
2025-11-03T10:20:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5628082, teldec = -24.256587
2025-11-03T10:20:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5628082 -24.256587
2025-11-03T10:20:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5628082 -24.256587
2025-11-03T10:20:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5628082 -24.256587
2025-11-03T10:20:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5628082;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58257;2460982.84743948;10.33853028;1.3;_15.5376254527676 -24.1693358358894
2025-11-03T10:20:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5376254527676     dec_j2k = -24.1693358358894
2025-11-03T10:20:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968690582931221;171.162351965909;_
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968690582931221;171.162351965909;_
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49983)
2025-11-03T10:20:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:18.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:18.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84743944, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968690582931221, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5628082, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58257, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5376254527676, telescope_dec_j2k=-24.1693358358894, observability=1)
2025-11-03T10:20:18.850 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:20:18.850 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.06440305709838867s
2025-11-03T10:20:18.850 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.06440305709838867
2025-11-03T10:20:18.850 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5908737182617188 seconds ago
2025-11-03T10:20:19.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:19
2025-11-03T10:20:19.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:19.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.617917537689209s
2025-11-03T10:20:19.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.617917537689209
2025-11-03T10:20:19.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:19
2025-11-03T10:20:19.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:19.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6588485240936279s
2025-11-03T10:20:19.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6588485240936279
2025-11-03T10:20:20.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:20
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9820032119750977s
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5633413;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5831;2460982.8474626;10.33906194;1.3;_
2025-11-03T10:20:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5633413;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5831;2460982.8474626;10.33906194;1.3;_
2025-11-03T10:20:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5633413, teldec = -24.256587
2025-11-03T10:20:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5633413 -24.256587
2025-11-03T10:20:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5633413 -24.256587
2025-11-03T10:20:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5633413 -24.256587
2025-11-03T10:20:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5633413;-24.256587;50.108516;89.993044;50.08601;90.12017;12.5831;2460982.84746263;10.33906194;1.3;_15.5381581724994 -24.1693514560549
2025-11-03T10:20:20.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5381581724994     dec_j2k = -24.1693514560549
2025-11-03T10:20:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968692989647789;171.162357330327;_
2025-11-03T10:20:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968692989647789;171.162357330327;_
2025-11-03T10:20:20.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47787)
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:20.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:20.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:20.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:20.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:20.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8474626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968692989647789, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5633413, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.5831, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:19:22.127409', telescope_ra_j2k=15.5381581724994, telescope_dec_j2k=-24.1693514560549, observability=1)
2025-11-03T10:20:21.623 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:21
2025-11-03T10:20:21.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:21.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8397312164306641s
2025-11-03T10:20:21.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8397312164306641
2025-11-03T10:20:21.645 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:21
2025-11-03T10:20:21.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:21.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8617069721221924s
2025-11-03T10:20:21.645 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8617069721221924
2025-11-03T10:20:22.269 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:22.270 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:22.270 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:22.270 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:22.270 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:22.271 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:22.271 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:22.272 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:22.272 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:22.272 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:22.272 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:20:22.272 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:22.272 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:22.272 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:22.272 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:22.272 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:20:22.273 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:20:22.274 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:22.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:22
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977062463760376s
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:22.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:22.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5639212;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58368;2460982.84748568;10.33964028;1.3;_
2025-11-03T10:20:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5639212;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58368;2460982.84748568;10.33964028;1.3;_
2025-11-03T10:20:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:22.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:22.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5639212, teldec = -24.256587
2025-11-03T10:20:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5639212 -24.256587
2025-11-03T10:20:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5639212 -24.256587
2025-11-03T10:20:22.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5639212 -24.256587
2025-11-03T10:20:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5639212;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58368;2460982.84748571;10.33964028;1.3;_15.5387376589145 -24.1693684494537
2025-11-03T10:20:22.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5387376589145     dec_j2k = -24.1693684494537
2025-11-03T10:20:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:22.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968694594125502;171.162351965909;_
2025-11-03T10:20:22.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968694594125502;171.162351965909;_
2025-11-03T10:20:22.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:22.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50845)
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:22.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:22.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:22.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84748568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968694594125502, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5639212, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58368, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5387376589145, telescope_dec_j2k=-24.1693684494537, observability=1)
2025-11-03T10:20:23.274 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:23.274 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:23.274 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:23.274 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:23.275 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:23.276 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:23.277 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:23.277 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:23.277 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:23.277 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:23.278 [DEBUG] [ThreadPoolExecutor-3456_0] [payload.py] [to_registers()] [0]
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33101)
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:23.285 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:23.292 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:23.292 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:20:23.293 [DEBUG] [ThreadPoolExecutor-3456_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:20:23.293 [DEBUG] [ThreadPoolExecutor-3456_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:20:23.293 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:23.293 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:23.293 [DEBUG] [ThreadPoolExecutor-3456_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:23.658 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:23
2025-11-03T10:20:23.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:23.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8764443397521973s
2025-11-03T10:20:23.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8764443397521973
2025-11-03T10:20:23.679 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:23
2025-11-03T10:20:23.679 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:23.679 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8979027271270752s
2025-11-03T10:20:23.680 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8979027271270752
2025-11-03T10:20:24.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:24
2025-11-03T10:20:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.981874942779541s
2025-11-03T10:20:24.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5644546;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58422;2460982.84750884;10.34017222;1.3;_
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5644546;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58422;2460982.84750884;10.34017222;1.3;_
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:24.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:24.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:24.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5644546, teldec = -24.256587
2025-11-03T10:20:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5644546 -24.256587
2025-11-03T10:20:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5644546 -24.256587
2025-11-03T10:20:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5644546 -24.256587
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5644546;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58422;2460982.84750888;10.34017222;1.3;_15.5392706785546 -24.1693840820221
2025-11-03T10:20:24.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5392706785546     dec_j2k = -24.1693840820221
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968696599722642;171.162362694745;_
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968696599722642;171.162362694745;_
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53899)
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:24.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:24.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:24.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:24.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84750884, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968696599722642, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5644546, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58422, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5392706785546, telescope_dec_j2k=-24.1693840820221, observability=1)
2025-11-03T10:20:25.902 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:25
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.121262550354004s
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:25.902 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:25.903 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5647911;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58455;2460982.84752204;10.34050778;1.3;_
2025-11-03T10:20:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5647911;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58455;2460982.84752204;10.34050778;1.3;_
2025-11-03T10:20:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:25.904 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:25.905 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5647911, teldec = -24.256587
2025-11-03T10:20:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5647911 -24.256587
2025-11-03T10:20:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5647911 -24.256587
2025-11-03T10:20:25.905 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5647911 -24.256587
2025-11-03T10:20:25.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5647911;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58455;2460982.84752206;10.34050778;1.3;_15.5396069386313 -24.1693939448534
2025-11-03T10:20:25.906 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5396069386313     dec_j2k = -24.1693939448534
2025-11-03T10:20:25.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:25.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:25.906 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968692989647789;171.162362694745;_
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968692989647789;171.162362694745;_
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:25.907 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:25.908 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:25.909 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:25.909 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:25.909 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:25.915 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58429)
2025-11-03T10:20:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:25.915 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:25.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:25.916 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:25.916 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:25.922 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:25.923 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:25.923 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84752204, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968692989647789, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5647911, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58455, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5396069386313, telescope_dec_j2k=-24.1693939448534, observability=1)
2025-11-03T10:20:25.946 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:25
2025-11-03T10:20:25.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:25.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022780179977416992s
2025-11-03T10:20:25.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022780179977416992
2025-11-03T10:20:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:26
2025-11-03T10:20:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8449194431304932s
2025-11-03T10:20:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8449194431304932
2025-11-03T10:20:27.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:27
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4726758003234863s
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:27.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5652025;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58497;2460982.84753933;10.34091806;1.3;_
2025-11-03T10:20:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5652025;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58497;2460982.84753933;10.34091806;1.3;_
2025-11-03T10:20:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:27.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5652025, teldec = -24.256587
2025-11-03T10:20:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5652025 -24.256587
2025-11-03T10:20:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5652025 -24.256587
2025-11-03T10:20:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5652025 -24.256587
2025-11-03T10:20:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5652025;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58497;2460982.84753935;10.34091806;1.3;_15.5400180453364 -24.1694060039429
2025-11-03T10:20:27.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5400180453364     dec_j2k = -24.1694060039429
2025-11-03T10:20:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096869900643921;171.162362694745;_
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096869900643921;171.162362694745;_
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:27.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:27.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:27.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:27.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59041)
2025-11-03T10:20:27.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:27.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:27.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:27.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:27.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:27.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84753933, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096869900643921, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5652025, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58497, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5400180453364, telescope_dec_j2k=-24.1694060039429, observability=1)
2025-11-03T10:20:27.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:27
2025-11-03T10:20:27.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:27.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021966218948364258s
2025-11-03T10:20:27.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021966218948364258
2025-11-03T10:20:28.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:28
2025-11-03T10:20:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.352186679840088s
2025-11-03T10:20:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:28.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:28.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5655955;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58536;2460982.84755522;10.34131;1.3;_
2025-11-03T10:20:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5655955;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58536;2460982.84755522;10.34131;1.3;_
2025-11-03T10:20:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:28.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5655955, teldec = -24.256587
2025-11-03T10:20:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5655955 -24.256587
2025-11-03T10:20:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5655955 -24.256587
2025-11-03T10:20:28.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5655955 -24.256587
2025-11-03T10:20:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5655955;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58536;2460982.84755524;10.34131;1.3;_15.5404107651917 -24.1694175246469
2025-11-03T10:20:28.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5404107651917     dec_j2k = -24.1694175246469
2025-11-03T10:20:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:28.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968701012036351;171.162357330327;_
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968701012036351;171.162357330327;_
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:28.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:28.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40839)
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:28.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:28.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:28.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84755522, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968701012036351, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5655955, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58536, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5404107651917, telescope_dec_j2k=-24.1694175246469, observability=1)
2025-11-03T10:20:29.717 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:29
2025-11-03T10:20:29.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:29.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9281606674194336s
2025-11-03T10:20:29.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9281606674194336
2025-11-03T10:20:29.740 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:29
2025-11-03T10:20:29.740 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:29.740 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9508497714996338s
2025-11-03T10:20:29.740 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9508497714996338
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Status age = 1.37385892868042s
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:30.163 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:30.164 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:30.164 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 17;15.5659604;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58572;2460982.84757134;10.34167389;1.3;_
2025-11-03T10:20:30.164 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response 17;15.5659604;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58572;2460982.84757134;10.34167389;1.3;_
2025-11-03T10:20:30.164 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:30.164 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:30.165 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:30.165 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:30.165 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:30.166 [INFO] [Thread-88875 (handle)] [driver.py] [get_status()] Telra = 15.5659604, teldec = -24.256587
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5659604 -24.256587
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5659604 -24.256587
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5659604 -24.256587
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 17;15.5659604;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58572;2460982.84757137;10.34167389;1.3;_15.5407754051062 -24.1694282224468
2025-11-03T10:20:30.166 [INFO] [Thread-88875 (handle)] [driver.py] [get_status()] ra_j2k = 15.5407754051062     dec_j2k = -24.1694282224468
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:30.166 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 140;0.0968699808678066;171.162357330327;_
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response 140;0.0968699808678066;171.162357330327;_
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:30.167 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:30.168 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:30.169 [DEBUG] [Thread-88875 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:30.169 [DEBUG] [Thread-88875 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:30.169 [DEBUG] [Thread-88875 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41981)
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:30.171 [DEBUG] [Thread-88875 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:30.178 [DEBUG] [Thread-88875 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:30.179 [INFO] [Thread-88875 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84757134, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968699808678066, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5659604, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58572, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5407754051062, telescope_dec_j2k=-24.1694282224468, observability=1)
2025-11-03T10:20:30.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:30
2025-11-03T10:20:30.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:30.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.610576868057251s
2025-11-03T10:20:30.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.610576868057251
2025-11-03T10:20:31.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:31
2025-11-03T10:20:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2159507274627686s
2025-11-03T10:20:31.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:31.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5663247;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58609;2460982.8475856;10.34203722;1.3;_
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5663247;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58609;2460982.8475856;10.34203722;1.3;_
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:31.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:31.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:31.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:31.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5663247, teldec = -24.256587
2025-11-03T10:20:31.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5663247 -24.256587
2025-11-03T10:20:31.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5663247 -24.256587
2025-11-03T10:20:31.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5663247 -24.256587
2025-11-03T10:20:31.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5663247;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58609;2460982.84758562;10.34203722;1.3;_15.5411394454757 -24.169438903464
2025-11-03T10:20:31.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5411394454757     dec_j2k = -24.169438903464
2025-11-03T10:20:31.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:31.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:31.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:31.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968695797483786;171.162368059163;_
2025-11-03T10:20:31.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968695797483786;171.162368059163;_
2025-11-03T10:20:31.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:31.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:31.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:31.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:31.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:31.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:31.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:31.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:31.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42973)
2025-11-03T10:20:31.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:31.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:31.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:31.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:31.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:31.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:31.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:31.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:31.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:31.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8475856, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968695797483786, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5663247, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5411394454757, telescope_dec_j2k=-24.169438903464, observability=1)
2025-11-03T10:20:31.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:31
2025-11-03T10:20:31.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:31.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021135568618774414s
2025-11-03T10:20:31.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021135568618774414
2025-11-03T10:20:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:32
2025-11-03T10:20:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3528900146484375s
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5667083;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58647;2460982.84760148;10.34241972;1.3;_
2025-11-03T10:20:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5667083;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58647;2460982.84760148;10.34241972;1.3;_
2025-11-03T10:20:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5667083, teldec = -24.256587
2025-11-03T10:20:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5667083 -24.256587
2025-11-03T10:20:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5667083 -24.256587
2025-11-03T10:20:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5667083 -24.256587
2025-11-03T10:20:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5667083;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58647;2460982.8476015;10.34241972;1.3;_15.5415227721199 -24.1694501512155
2025-11-03T10:20:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5415227721199     dec_j2k = -24.1694501512155
2025-11-03T10:20:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968700209797494;171.162362694745;_
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968700209797494;171.162362694745;_
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39989)
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:32.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84760148, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968700209797494, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5667083, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58647, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5415227721199, telescope_dec_j2k=-24.1694501512155, observability=1)
2025-11-03T10:20:33.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:33
2025-11-03T10:20:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6145896911621094s
2025-11-03T10:20:33.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6145896911621094
2025-11-03T10:20:33.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:33
2025-11-03T10:20:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6369459629058838s
2025-11-03T10:20:33.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6369459629058838
2025-11-03T10:20:34.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:34
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813001155853271s
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:34.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5672414;-24.256587;50.108516;89.993044;50.08601;90.12017;12.587;2460982.84762461;10.34295139;1.3;_
2025-11-03T10:20:34.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5672414;-24.256587;50.108516;89.993044;50.08601;90.12017;12.587;2460982.84762461;10.34295139;1.3;_
2025-11-03T10:20:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:34.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5672414, teldec = -24.256587
2025-11-03T10:20:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5672414 -24.256587
2025-11-03T10:20:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5672414 -24.256587
2025-11-03T10:20:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5672414 -24.256587
2025-11-03T10:20:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5672414;-24.256587;50.108516;89.993044;50.08601;90.12017;12.587;2460982.84762464;10.34295139;1.3;_15.5420554922799 -24.1694657840259
2025-11-03T10:20:34.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5420554922799     dec_j2k = -24.1694657840259
2025-11-03T10:20:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968703819872347;171.162362694745;_
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968703819872347;171.162362694745;_
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:34.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48743)
2025-11-03T10:20:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:34.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:34.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:34.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:34.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84762461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968703819872347, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5672414, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.587, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5420554922799, telescope_dec_j2k=-24.1694657840259, observability=1)
2025-11-03T10:20:35.960 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:35
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.173671007156372s
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:35.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5675779;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58734;2460982.84763844;10.34328694;1.3;_
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5675779;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58734;2460982.84763844;10.34328694;1.3;_
2025-11-03T10:20:35.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:35.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:35.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:35.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:35.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:35.963 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5675779, teldec = -24.256587
2025-11-03T10:20:35.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5675779 -24.256587
2025-11-03T10:20:35.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5675779 -24.256587
2025-11-03T10:20:35.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5675779 -24.256587
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5675779;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58734;2460982.84763847;10.34328694;1.3;_15.5423917525499 -24.1694756525584
2025-11-03T10:20:35.964 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5423917525499     dec_j2k = -24.1694756525584
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968703017633491;171.162362694745;_
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968703017633491;171.162362694745;_
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:35.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:35.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:35.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:35.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:35.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:35.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:35.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:35.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:35.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:35.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43143)
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:35.973 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:35.980 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:35.980 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:35.980 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:35.981 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:35.981 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84763844, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968703017633491, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5675779, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58734, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5423917525499, telescope_dec_j2k=-24.1694756525584, observability=1)
2025-11-03T10:20:36.003 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:36
2025-11-03T10:20:36.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:36.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02210855484008789s
2025-11-03T10:20:36.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02210855484008789
2025-11-03T10:20:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:36
2025-11-03T10:20:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7868545055389404s
2025-11-03T10:20:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7868545055389404
2025-11-03T10:20:37.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:37
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4143345355987549s
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:37.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5679896;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58775;2460982.84765505;10.3436975;1.3;_
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5679896;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58775;2460982.84765505;10.3436975;1.3;_
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:37.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:37.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:37.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:37.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5679896, teldec = -24.256587
2025-11-03T10:20:37.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5679896 -24.256587
2025-11-03T10:20:37.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5679896 -24.256587
2025-11-03T10:20:37.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5679896 -24.256587
2025-11-03T10:20:37.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5679896;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58775;2460982.84765507;10.3436975;1.3;_15.5428031592774 -24.1694877274166
2025-11-03T10:20:37.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5428031592774     dec_j2k = -24.1694877274166
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968705825469487;171.162357330327;_
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968705825469487;171.162357330327;_
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:37.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:37.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:37.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:37.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:37.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52393)
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:37.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:37.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:37.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:37.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:37.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:37.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:37.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:37.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:37.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:37.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:37.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84765505, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968705825469487, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5679896, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58775, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5428031592774, telescope_dec_j2k=-24.1694877274166, observability=1)
2025-11-03T10:20:37.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:37
2025-11-03T10:20:37.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:37.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022539615631103516s
2025-11-03T10:20:37.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022539615631103516
2025-11-03T10:20:38.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:38
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3539915084838867s
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5683542;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58812;2460982.84767093;10.34406111;1.3;_
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5683542;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58812;2460982.84767093;10.34406111;1.3;_
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5683542, teldec = -24.256587
2025-11-03T10:20:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5683542 -24.256587
2025-11-03T10:20:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5683542 -24.256587
2025-11-03T10:20:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5683542 -24.256587
2025-11-03T10:20:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5683542;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58812;2460982.84767095;10.34406111;1.3;_15.5431674995856 -24.1694984217263
2025-11-03T10:20:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5431674995856     dec_j2k = -24.1694984217263
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096870943554434;171.162351965909;_
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096870943554434;171.162351965909;_
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57967)
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:38.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84767093, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096870943554434, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5683542, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58812, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5431674995856, telescope_dec_j2k=-24.1694984217263, observability=1)
2025-11-03T10:20:39.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:39
2025-11-03T10:20:39.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:39.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.608741283416748s
2025-11-03T10:20:39.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.608741283416748
2025-11-03T10:20:39.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:39
2025-11-03T10:20:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6310064792633057s
2025-11-03T10:20:39.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6310064792633057
2025-11-03T10:20:40.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:40
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816155433654785s
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:40.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:40.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.568914;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58868;2460982.84769409;10.34461944;1.3;_
2025-11-03T10:20:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.568914;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58868;2460982.84769409;10.34461944;1.3;_
2025-11-03T10:20:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:40.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:40.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.568914, teldec = -24.256587
2025-11-03T10:20:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.568914 -24.256587
2025-11-03T10:20:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.568914 -24.256587
2025-11-03T10:20:40.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.568914 -24.256587
2025-11-03T10:20:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.568914;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58868;2460982.84769411;10.34461944;1.3;_15.5437269009129 -24.1695148431406
2025-11-03T10:20:40.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5437269009129     dec_j2k = -24.1695148431406
2025-11-03T10:20:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:40.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968707429947199;171.162357330327;_
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968707429947199;171.162357330327;_
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:40.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56119)
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:40.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:40.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:40.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:40.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:40.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:40.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84769409, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968707429947199, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.568914, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58868, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5437269009129, telescope_dec_j2k=-24.1695148431406, observability=1)
2025-11-03T10:20:41.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:41
2025-11-03T10:20:41.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:41.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9103069305419922s
2025-11-03T10:20:41.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9103069305419922
2025-11-03T10:20:41.719 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:41
2025-11-03T10:20:41.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:41.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.932645320892334s
2025-11-03T10:20:41.719 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.932645320892334
2025-11-03T10:20:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:42
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9764881134033203s
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:42.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:42.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5694934;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58926;2460982.84771719;10.34519722;1.3;_
2025-11-03T10:20:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5694934;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58926;2460982.84771719;10.34519722;1.3;_
2025-11-03T10:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:42.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5694934, teldec = -24.256587
2025-11-03T10:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5694934 -24.256587
2025-11-03T10:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5694934 -24.256587
2025-11-03T10:20:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5694934 -24.256587
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5694934;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58926;2460982.84771722;10.34519722;1.3;_15.5443058883498 -24.1695318415143
2025-11-03T10:20:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5443058883498     dec_j2k = -24.1695318415143
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968704622111203;171.162357330327;_
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968704622111203;171.162357330327;_
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57455)
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:42.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:42.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:42.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:42.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:42.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84771719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968704622111203, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5694934, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58926, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5443058883498, telescope_dec_j2k=-24.1695318415143, observability=1)
2025-11-03T10:20:43.946 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:43
2025-11-03T10:20:43.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1616945266723633s
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:43.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:43.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.569802;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58956;2460982.84773088;10.345505;1.3;_
2025-11-03T10:20:43.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.569802;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58956;2460982.84773088;10.345505;1.3;_
2025-11-03T10:20:43.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:43.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:43.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:43.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:43.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:43.950 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.569802, teldec = -24.256587
2025-11-03T10:20:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.569802 -24.256587
2025-11-03T10:20:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.569802 -24.256587
2025-11-03T10:20:43.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.569802 -24.256587
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.569802;-24.256587;50.108516;89.993044;50.08601;90.12017;12.58956;2460982.84773091;10.345505;1.3;_15.5446142686386 -24.1695408960194
2025-11-03T10:20:43.951 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5446142686386     dec_j2k = -24.1695408960194
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968709836663768;171.162362694745;_
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968709836663768;171.162362694745;_
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:43.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:43.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:43.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:43.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36325)
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:43.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:43.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:43.966 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:43.966 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:43.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:43.966 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84773088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968709836663768, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.569802, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.58956, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5446142686386, telescope_dec_j2k=-24.1695408960194, observability=1)
2025-11-03T10:20:43.988 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:43
2025-11-03T10:20:43.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:43.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022456884384155273s
2025-11-03T10:20:43.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022456884384155273
2025-11-03T10:20:44.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:44
2025-11-03T10:20:44.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7988307476043701s
2025-11-03T10:20:44.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7988307476043701
2025-11-03T10:20:45.954 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:45
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9889183044433594s
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:45.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:45.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:45.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5703633;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59013;2460982.84775413;10.34606472;1.3;_
2025-11-03T10:20:45.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5703633;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59013;2460982.84775413;10.34606472;1.3;_
2025-11-03T10:20:45.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:45.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:45.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:45.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:45.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:45.958 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5703633, teldec = -24.256587
2025-11-03T10:20:45.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5703633 -24.256587
2025-11-03T10:20:45.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5703633 -24.256587
2025-11-03T10:20:45.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5703633 -24.256587
2025-11-03T10:20:45.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5703633;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59013;2460982.84775416;10.34606472;1.3;_15.5451751690654 -24.1695573663732
2025-11-03T10:20:45.959 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5451751690654     dec_j2k = -24.1695573663732
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968712243380336;171.162351965909;_
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968712243380336;171.162351965909;_
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:45.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:45.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:45.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:45.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:45.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42821)
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:45.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:45.976 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:45.977 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84775413, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968712243380336, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5703633, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59013, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5451751690654, telescope_dec_j2k=-24.1695573663732, observability=1)
2025-11-03T10:20:45.998 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:45
2025-11-03T10:20:45.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:45.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021847248077392578s
2025-11-03T10:20:45.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021847248077392578
2025-11-03T10:20:46.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:46
2025-11-03T10:20:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.808142900466919s
2025-11-03T10:20:46.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.808142900466919
2025-11-03T10:20:47.950 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:47
2025-11-03T10:20:47.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.973989725112915s
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:47.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:47.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:47.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5709145;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59068;2460982.84777723;10.34661444;1.3;_
2025-11-03T10:20:47.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5709145;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59068;2460982.84777723;10.34661444;1.3;_
2025-11-03T10:20:47.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:47.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:47.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:47.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:47.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:47.954 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5709145, teldec = -24.256587
2025-11-03T10:20:47.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5709145 -24.256587
2025-11-03T10:20:47.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5709145 -24.256587
2025-11-03T10:20:47.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5709145 -24.256587
2025-11-03T10:20:47.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5709145;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59068;2460982.84777726;10.34661444;1.3;_15.5457259767452 -24.1695735422218
2025-11-03T10:20:47.955 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5457259767452     dec_j2k = -24.1695735422218
2025-11-03T10:20:47.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096871344673862;171.162346601491;_
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096871344673862;171.162346601491;_
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:47.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:47.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42649)
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:47.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:47.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:47.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:47.968 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:47.968 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:47.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:47.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:47.969 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:47.969 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:47.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:47.969 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84777723, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096871344673862, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.5709145, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59068, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5457259767452, telescope_dec_j2k=-24.1695735422218, observability=1)
2025-11-03T10:20:47.990 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:47
2025-11-03T10:20:47.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:47.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0218050479888916s
2025-11-03T10:20:47.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0218050479888916
2025-11-03T10:20:48.280 [DEBUG] [Thread-88876 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:48.280 [DEBUG] [Thread-88876 (handle)] [server.py] [get_status()] Status age = 0.31096768379211426s
2025-11-03T10:20:48.280 [DEBUG] [Thread-88876 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31096768379211426
2025-11-03T10:20:48.293 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:48.293 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:48.293 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:48.293 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:48.293 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:48.294 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:20:48.295 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:20:48.296 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:48.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:48
2025-11-03T10:20:48.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:48.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8216691017150879s
2025-11-03T10:20:48.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8216691017150879
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.357908010482788s
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:49.327 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:49.328 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:49.328 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:49.328 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:49.328 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.571307;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59107;2460982.84779315;10.34700583;1.3;_
2025-11-03T10:20:49.328 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.571307;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59107;2460982.84779315;10.34700583;1.3;_
2025-11-03T10:20:49.329 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:49.329 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:49.329 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:49.329 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:49.330 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:49.330 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.571307, teldec = -24.256587
2025-11-03T10:20:49.330 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.571307 -24.256587
2025-11-03T10:20:49.330 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.571307 -24.256587
2025-11-03T10:20:49.330 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.571307 -24.256587
2025-11-03T10:20:49.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.571307;-24.256587;50.108516;89.993044;50.08601;90.12017;12.59107;2460982.84779318;10.34700583;1.3;_15.546118197419 -24.1695850618883
2025-11-03T10:20:49.331 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.546118197419     dec_j2k = -24.1695850618883
2025-11-03T10:20:49.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:49.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:49.331 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968712243380336;171.162357330327;_
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968712243380336;171.162357330327;_
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:49.332 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:49.333 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:49.333 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:49.333 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:49.339 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34685)
2025-11-03T10:20:49.340 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:49.340 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:49.340 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:49.340 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:49.340 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:49.347 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:49.347 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84779315, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968712243380336, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108516, telescope_az=89.993044, telescope_ra=15.571307, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59107, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.546118197419, telescope_dec_j2k=-24.1695850618883, observability=1)
2025-11-03T10:20:49.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:49
2025-11-03T10:20:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04748082160949707s
2025-11-03T10:20:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04748082160949707
2025-11-03T10:20:49.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:49
2025-11-03T10:20:49.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:49.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0691831111907959s
2025-11-03T10:20:49.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0691831111907959
2025-11-03T10:20:50.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:50
2025-11-03T10:20:50.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4152953624725342s
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:50.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:50.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5716991;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59146;2460982.84780978;10.34739694;1.3;_
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5716991;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59146;2460982.84780978;10.34739694;1.3;_
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:50.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5716991, teldec = -24.256587
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5716991 -24.256587
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5716991 -24.256587
2025-11-03T10:20:50.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5716991 -24.256587
2025-11-03T10:20:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5716991;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59146;2460982.84780979;10.34739694;1.3;_15.5465100184091 -24.1695965707487
2025-11-03T10:20:50.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5465100184091     dec_j2k = -24.1695965707487
2025-11-03T10:20:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968712243380336;171.162357330327;_
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968712243380336;171.162357330327;_
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43839)
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:50.770 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:50.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:50.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:50.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84780978, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968712243380336, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5716991, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59146, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5465100184091, telescope_dec_j2k=-24.1695965707487, observability=1)
2025-11-03T10:20:51.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:51
2025-11-03T10:20:51.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:51.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9183084964752197s
2025-11-03T10:20:51.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9183084964752197
2025-11-03T10:20:51.718 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:51
2025-11-03T10:20:51.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:51.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9398913383483887s
2025-11-03T10:20:51.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9398913383483887
2025-11-03T10:20:52.346 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:52.346 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Status age = 1.5682146549224854s
2025-11-03T10:20:52.346 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:52.346 [DEBUG] [Thread-88877 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:52.347 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:52.348 [DEBUG] [Thread-88877 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:52.348 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:52.348 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:52.348 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:52.348 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:52.349 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 17;15.5721468;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59191;2460982.84782811;10.34784333;1.3;_
2025-11-03T10:20:52.349 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response 17;15.5721468;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59191;2460982.84782811;10.34784333;1.3;_
2025-11-03T10:20:52.349 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:52.349 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:52.349 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:52.350 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:52.350 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:52.350 [INFO] [Thread-88877 (handle)] [driver.py] [get_status()] Telra = 15.5721468, teldec = -24.256587
2025-11-03T10:20:52.350 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5721468 -24.256587
2025-11-03T10:20:52.350 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5721468 -24.256587
2025-11-03T10:20:52.350 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5721468 -24.256587
2025-11-03T10:20:52.351 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 17;15.5721468;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59191;2460982.84782814;10.34784333;1.3;_15.5469573998744 -24.1696097127127
2025-11-03T10:20:52.351 [INFO] [Thread-88877 (handle)] [driver.py] [get_status()] ra_j2k = 15.5469573998744     dec_j2k = -24.1696097127127
2025-11-03T10:20:52.351 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:52.351 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:52.351 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 140;0.0968717457932901;171.162368059163;_
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response 140;0.0968717457932901;171.162368059163;_
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:52.352 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:52.353 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:52.354 [DEBUG] [Thread-88877 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:52.354 [DEBUG] [Thread-88877 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:52.354 [DEBUG] [Thread-88877 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:52.356 [DEBUG] [Thread-88877 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35393)
2025-11-03T10:20:52.356 [DEBUG] [Thread-88877 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:52.356 [DEBUG] [Thread-88877 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:52.357 [DEBUG] [Thread-88877 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:52.357 [DEBUG] [Thread-88877 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:52.357 [DEBUG] [Thread-88877 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:52.364 [DEBUG] [Thread-88877 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:52.364 [INFO] [Thread-88877 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84782811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968717457932901, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5721468, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59191, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5469573998744, telescope_dec_j2k=-24.1696097127127, observability=1)
2025-11-03T10:20:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:52
2025-11-03T10:20:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3999612331390381s
2025-11-03T10:20:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3999612331390381
2025-11-03T10:20:53.962 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:53
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5978078842163086s
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:53.962 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:53.963 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:53.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5725852;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59235;2460982.84784681;10.34828056;1.3;_
2025-11-03T10:20:53.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5725852;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59235;2460982.84784681;10.34828056;1.3;_
2025-11-03T10:20:53.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:53.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:53.964 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:53.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:53.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:53.965 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5725852, teldec = -24.256587
2025-11-03T10:20:53.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5725852 -24.256587
2025-11-03T10:20:53.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5725852 -24.256587
2025-11-03T10:20:53.965 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5725852 -24.256587
2025-11-03T10:20:53.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5725852;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59238;2460982.84784683;10.34830833;1.3;_15.5473954879965 -24.1696225828592
2025-11-03T10:20:53.966 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5473954879965     dec_j2k = -24.1696225828592
2025-11-03T10:20:53.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:53.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:53.966 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968722672485466;171.162346601491;_
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968722672485466;171.162346601491;_
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:53.967 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:53.968 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:53.969 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:53.969 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:53.969 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55353)
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:53.972 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:53.979 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:53.979 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84784681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968722672485466, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5725852, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59235, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5473954879965, telescope_dec_j2k=-24.1696225828592, observability=1)
2025-11-03T10:20:54.001 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:54
2025-11-03T10:20:54.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:54.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02152419090270996s
2025-11-03T10:20:54.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02152419090270996
2025-11-03T10:20:54.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:54
2025-11-03T10:20:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7874629497528076s
2025-11-03T10:20:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7874629497528076
2025-11-03T10:20:55.945 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:55
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9653568267822266s
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:55.945 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:55.946 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:55.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5731459;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59291;2460982.84786976;10.34883972;1.3;_
2025-11-03T10:20:55.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5731459;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59291;2460982.84786976;10.34883972;1.3;_
2025-11-03T10:20:55.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:55.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:55.947 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:55.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:55.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:55.949 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5731459, teldec = -24.256587
2025-11-03T10:20:55.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5731459 -24.256587
2025-11-03T10:20:55.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5731459 -24.256587
2025-11-03T10:20:55.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5731459 -24.256587
2025-11-03T10:20:55.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5731459;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59291;2460982.84786979;10.34883972;1.3;_15.5479557891722 -24.1696390450767
2025-11-03T10:20:55.950 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5479557891722     dec_j2k = -24.1696390450767
2025-11-03T10:20:55.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:55.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:55.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968720265768897;171.162351965909;_
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968720265768897;171.162351965909;_
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:55.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:55.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:55.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:55.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:55.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57491)
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:55.959 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:55.967 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:55.967 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84786976, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968720265768897, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5731459, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59291, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5479557891722, telescope_dec_j2k=-24.1696390450767, observability=1)
2025-11-03T10:20:55.988 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:55
2025-11-03T10:20:55.989 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:55.989 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021465778350830078s
2025-11-03T10:20:55.989 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021465778350830078
2025-11-03T10:20:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:56
2025-11-03T10:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7968697547912598s
2025-11-03T10:20:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7968697547912598
2025-11-03T10:20:57.949 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:57
2025-11-03T10:20:57.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:57.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821724891662598s
2025-11-03T10:20:57.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:57.949 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:57.949 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:57.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:57.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:57.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:57.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:57.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.573706;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59347;2460982.84789296;10.34939833;1.3;_
2025-11-03T10:20:57.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.573706;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59347;2460982.84789296;10.34939833;1.3;_
2025-11-03T10:20:57.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:57.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:57.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:57.953 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.573706, teldec = -24.256587
2025-11-03T10:20:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.573706 -24.256587
2025-11-03T10:20:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.573706 -24.256587
2025-11-03T10:20:57.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.573706 -24.256587
2025-11-03T10:20:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.573706;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59347;2460982.84789299;10.34939833;1.3;_15.5485154908394 -24.1696554915818
2025-11-03T10:20:57.954 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5485154908394     dec_j2k = -24.1696554915818
2025-11-03T10:20:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:57.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968716655694045;171.162351965909;_
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968716655694045;171.162351965909;_
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:57.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:57.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56555)
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:57.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:57.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:57.971 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:57.971 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84789296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968716655694045, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.573706, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59347, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5485154908394, telescope_dec_j2k=-24.1696554915818, observability=1)
2025-11-03T10:20:57.993 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:57
2025-11-03T10:20:57.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:57.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02165079116821289s
2025-11-03T10:20:57.993 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02165079116821289
2025-11-03T10:20:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 0.16490411758422852s
2025-11-03T10:20:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16490411758422852
2025-11-03T10:20:58.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:58
2025-11-03T10:20:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7911789417266846s
2025-11-03T10:20:58.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7911789417266846
2025-11-03T10:20:59.953 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:59
2025-11-03T10:20:59.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:59.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9823400974273682s
2025-11-03T10:20:59.953 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:20:59.954 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:20:59.954 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:20:59.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:20:59.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:20:59.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:20:59.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:20:59.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.574257;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59402;2460982.84791616;10.34994778;1.3;_
2025-11-03T10:20:59.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.574257;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59402;2460982.84791616;10.34994778;1.3;_
2025-11-03T10:20:59.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:20:59.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:20:59.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:20:59.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:59.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:20:59.957 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.574257, teldec = -24.256587
2025-11-03T10:20:59.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.574257 -24.256587
2025-11-03T10:20:59.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.574257 -24.256587
2025-11-03T10:20:59.957 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.574257 -24.256587
2025-11-03T10:20:59.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.574257;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59402;2460982.84791618;10.34994778;1.3;_15.5490660990416 -24.1696716727353
2025-11-03T10:20:59.958 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5490660990416     dec_j2k = -24.1696716727353
2025-11-03T10:20:59.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:20:59.958 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968726282560318;171.162346601491;_
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968726282560318;171.162346601491;_
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:59.959 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:59.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:59.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:59.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:59.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:20:59.960 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:20:59.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:20:59.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:59.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:20:59.961 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47425)
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:20:59.964 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:20:59.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:20:59.966 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:20:59.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:20:59.966 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84791616, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968726282560318, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.574257, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59402, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5490660990416, telescope_dec_j2k=-24.1696716727353, observability=1)
2025-11-03T10:20:59.987 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:20:59
2025-11-03T10:20:59.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:20:59.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021265029907226562s
2025-11-03T10:20:59.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021265029907226562
2025-11-03T10:21:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:00
2025-11-03T10:21:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7985632419586182s
2025-11-03T10:21:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7985632419586182
2025-11-03T10:21:01.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:01
2025-11-03T10:21:01.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:01.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4335057735443115s
2025-11-03T10:21:01.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:01.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:01.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:01.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:01.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:01.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:01.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:01.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:01.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5746784;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59444;2460982.8479329;10.35036806;1.3;_
2025-11-03T10:21:01.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5746784;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59444;2460982.8479329;10.35036806;1.3;_
2025-11-03T10:21:01.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:01.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:01.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:01.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:01.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:01.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5746784, teldec = -24.256587
2025-11-03T10:21:01.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5746784 -24.256587
2025-11-03T10:21:01.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5746784 -24.256587
2025-11-03T10:21:01.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5746784 -24.256587
2025-11-03T10:21:01.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5746784;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59444;2460982.84793293;10.35036806;1.3;_15.5494871994403 -24.1696840491829
2025-11-03T10:21:01.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5494871994403     dec_j2k = -24.1696840491829
2025-11-03T10:21:01.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:01.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:01.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968721469127181;171.162362694745;_
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968721469127181;171.162362694745;_
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:01.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:01.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:01.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:01.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:01.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:01.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:01.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40075)
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:01.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:01.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:01.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:01.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8479329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968721469127181, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5746784, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5494871994403, telescope_dec_j2k=-24.1696840491829, observability=1)
2025-11-03T10:21:01.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:01
2025-11-03T10:21:01.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:01.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.032300472259521484s
2025-11-03T10:21:01.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.032300472259521484
2025-11-03T10:21:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:02
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3424382209777832s
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5750433;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59481;2460982.8479487;10.35073194;1.3;_
2025-11-03T10:21:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5750433;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59481;2460982.8479487;10.35073194;1.3;_
2025-11-03T10:21:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5750433, teldec = -24.256587
2025-11-03T10:21:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5750433 -24.256587
2025-11-03T10:21:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5750433 -24.256587
2025-11-03T10:21:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5750433 -24.256587
2025-11-03T10:21:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5750433;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59481;2460982.84794873;10.35073194;1.3;_15.5498518400382 -24.1696947671046
2025-11-03T10:21:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5498518400382     dec_j2k = -24.1696947671046
2025-11-03T10:21:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968729090396314;171.162357330327;_
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968729090396314;171.162357330327;_
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:02.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47691)
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:02.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:02.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8479487, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968729090396314, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5750433, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59481, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5498518400382, telescope_dec_j2k=-24.1696947671046, observability=1)
2025-11-03T10:21:03.950 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:03
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1649656295776367s
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:03.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5753795;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59514;2460982.8479624;10.35106722;1.3;_
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5753795;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59514;2460982.8479624;10.35106722;1.3;_
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:03.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:03.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:03.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:03.952 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5753795, teldec = -24.256587
2025-11-03T10:21:03.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5753795 -24.256587
2025-11-03T10:21:03.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5753795 -24.256587
2025-11-03T10:21:03.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5753795 -24.256587
2025-11-03T10:21:03.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5753795;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59514;2460982.84796242;10.35106722;1.3;_15.5501878010629 -24.169704642758
2025-11-03T10:21:03.953 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5501878010629     dec_j2k = -24.169704642758
2025-11-03T10:21:03.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:03.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:03.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968722271366037;171.162357330327;_
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968722271366037;171.162357330327;_
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:03.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:03.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:03.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:03.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:03.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:03.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:03.960 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50391)
2025-11-03T10:21:03.960 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:03.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:03.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:03.961 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:03.961 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:03.968 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:03.968 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8479624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968722271366037, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5753795, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5501878010629, telescope_dec_j2k=-24.169704642758, observability=1)
2025-11-03T10:21:03.992 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:03
2025-11-03T10:21:03.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:03.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023749351501464844s
2025-11-03T10:21:03.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023749351501464844
2025-11-03T10:21:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:04
2025-11-03T10:21:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7958240509033203s
2025-11-03T10:21:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7958240509033203
2025-11-03T10:21:05.948 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:05
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796793460845947s
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:05.948 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.575931;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59569;2460982.84798552;10.35161722;1.3;_
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.575931;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59569;2460982.84798552;10.35161722;1.3;_
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:05.949 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:05.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:05.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:05.950 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.575931, teldec = -24.256587
2025-11-03T10:21:05.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.575931 -24.256587
2025-11-03T10:21:05.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.575931 -24.256587
2025-11-03T10:21:05.950 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.575931 -24.256587
2025-11-03T10:21:05.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.575931;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59569;2460982.84798554;10.35161722;1.3;_15.5507389091 -24.1697208441908
2025-11-03T10:21:05.951 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5507389091     dec_j2k = -24.1697208441908
2025-11-03T10:21:05.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:05.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:05.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096872989263517;171.162357330327;_
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096872989263517;171.162357330327;_
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:05.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:05.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:05.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:05.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:05.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:05.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:05.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:05.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:05.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:05.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35227)
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:05.958 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:05.965 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:05.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:05.966 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84798552, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096872989263517, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.575931, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59569, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5507389091, telescope_dec_j2k=-24.1697208441908, observability=1)
2025-11-03T10:21:05.987 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:05
2025-11-03T10:21:05.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:05.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021854639053344727s
2025-11-03T10:21:05.987 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021854639053344727
2025-11-03T10:21:06.346 [DEBUG] [Thread-88878 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:06.346 [DEBUG] [Thread-88878 (handle)] [server.py] [get_status()] Status age = 0.38076210021972656s
2025-11-03T10:21:06.346 [DEBUG] [Thread-88878 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38076210021972656
2025-11-03T10:21:06.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:06
2025-11-03T10:21:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8013837337493896s
2025-11-03T10:21:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8013837337493896
2025-11-03T10:21:07.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:07
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.429229974746704s
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:07.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:07.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5763516;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59611;2460982.84800228;10.35203667;1.3;_
2025-11-03T10:21:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5763516;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59611;2460982.84800228;10.35203667;1.3;_
2025-11-03T10:21:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:07.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:07.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5763516, teldec = -24.256587
2025-11-03T10:21:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5763516 -24.256587
2025-11-03T10:21:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5763516 -24.256587
2025-11-03T10:21:07.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5763516 -24.256587
2025-11-03T10:21:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5763516;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59611;2460982.8480023;10.35203667;1.3;_15.5511592102129 -24.1697332014089
2025-11-03T10:21:07.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5511592102129     dec_j2k = -24.1697332014089
2025-11-03T10:21:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:07.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968732700471167;171.162357330327;_
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968732700471167;171.162357330327;_
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:07.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:07.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47465)
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:07.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:07.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:07.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:07.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:07.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84800228, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968732700471167, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5763516, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59611, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5511592102129, telescope_dec_j2k=-24.1697332014089, observability=1)
2025-11-03T10:21:07.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:07
2025-11-03T10:21:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021625041961669922s
2025-11-03T10:21:07.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021625041961669922
2025-11-03T10:21:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:08
2025-11-03T10:21:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3485677242279053s
2025-11-03T10:21:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:08.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5767159;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59648;2460982.84801814;10.3524;1.3;_
2025-11-03T10:21:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5767159;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59648;2460982.84801814;10.3524;1.3;_
2025-11-03T10:21:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5767159, teldec = -24.256587
2025-11-03T10:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5767159 -24.256587
2025-11-03T10:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5767159 -24.256587
2025-11-03T10:21:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5767159 -24.256587
2025-11-03T10:21:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5767159;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59648;2460982.84801817;10.3524;1.3;_15.5515232513631 -24.1697439054007
2025-11-03T10:21:08.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5515232513631     dec_j2k = -24.1697439054007
2025-11-03T10:21:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096872788703803;171.162362694745;_
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096872788703803;171.162362694745;_
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42709)
2025-11-03T10:21:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:08.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:08.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:08.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:08.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:08.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84801814, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096872788703803, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5767159, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59648, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5515232513631, telescope_dec_j2k=-24.1697439054007, observability=1)
2025-11-03T10:21:09.950 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:09
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1633110046386719s
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:09.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5770524;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59682;2460982.84803185;10.35273556;1.3;_
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5770524;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59682;2460982.84803185;10.35273556;1.3;_
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:09.952 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:09.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:09.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:09.953 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5770524, teldec = -24.256587
2025-11-03T10:21:09.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5770524 -24.256587
2025-11-03T10:21:09.953 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5770524 -24.256587
2025-11-03T10:21:09.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5770524 -24.256587
2025-11-03T10:21:09.954 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5770524;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59682;2460982.84803188;10.35273556;1.3;_15.5518595122908 -24.1697537932773
2025-11-03T10:21:09.954 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5518595122908     dec_j2k = -24.1697537932773
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968725079202034;171.162351965909;_
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968725079202034;171.162351965909;_
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:09.955 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:09.956 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57019)
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:09.963 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:09.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:09.971 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84803185, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968725079202034, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5770524, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59682, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5518595122908, telescope_dec_j2k=-24.1697537932773, observability=1)
2025-11-03T10:21:09.992 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:09
2025-11-03T10:21:09.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:09.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021910905838012695s
2025-11-03T10:21:09.992 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021910905838012695
2025-11-03T10:21:10.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:10
2025-11-03T10:21:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.805835485458374s
2025-11-03T10:21:10.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.805835485458374
2025-11-03T10:21:11.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:11
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4241023063659668s
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:11.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5774641;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59723;2460982.84804856;10.35314611;1.3;_
2025-11-03T10:21:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5774641;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59723;2460982.84804856;10.35314611;1.3;_
2025-11-03T10:21:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:11.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:11.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5774641, teldec = -24.256587
2025-11-03T10:21:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5774641 -24.256587
2025-11-03T10:21:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5774641 -24.256587
2025-11-03T10:21:11.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5774641 -24.256587
2025-11-03T10:21:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5774641;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59723;2460982.84804859;10.35314611;1.3;_15.5522709198231 -24.1697658917996
2025-11-03T10:21:11.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5522709198231     dec_j2k = -24.1697658917996
2025-11-03T10:21:11.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968729491515743;171.162351965909;_
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968729491515743;171.162351965909;_
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:11.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:11.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:11.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50899)
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:11.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:11.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:11.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:11.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:11.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84804856, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968729491515743, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5774641, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59723, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5522709198231, telescope_dec_j2k=-24.1697658917996, observability=1)
2025-11-03T10:21:11.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:11
2025-11-03T10:21:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021765947341918945s
2025-11-03T10:21:11.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021765947341918945
2025-11-03T10:21:12.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:12
2025-11-03T10:21:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3507895469665527s
2025-11-03T10:21:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:12.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:12.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.577829;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59759;2460982.84806442;10.35351;1.3;_
2025-11-03T10:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.577829;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59759;2460982.84806442;10.35351;1.3;_
2025-11-03T10:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:12.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:12.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.577829, teldec = -24.256587
2025-11-03T10:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.577829 -24.256587
2025-11-03T10:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.577829 -24.256587
2025-11-03T10:21:12.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.577829 -24.256587
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.577829;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59759;2460982.84806446;10.35351;1.3;_15.5526355606309 -24.1697766158805
2025-11-03T10:21:12.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5526355606309     dec_j2k = -24.1697766158805
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968731095993455;171.162351965909;_
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968731095993455;171.162351965909;_
2025-11-03T10:21:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54587)
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:12.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:12.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:12.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:12.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84806442, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968731095993455, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.577829, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59759, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5526355606309, telescope_dec_j2k=-24.1697766158805, observability=1)
2025-11-03T10:21:13.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:13
2025-11-03T10:21:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6200363636016846s
2025-11-03T10:21:13.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6200363636016846
2025-11-03T10:21:13.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:13
2025-11-03T10:21:13.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:13.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6422908306121826s
2025-11-03T10:21:13.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6422908306121826
2025-11-03T10:21:14.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:14
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978560447692871s
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:14.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:14.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5783894;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59815;2460982.84808756;10.35406889;1.3;_
2025-11-03T10:21:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5783894;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59815;2460982.84808756;10.35406889;1.3;_
2025-11-03T10:21:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:14.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:14.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5783894, teldec = -24.256587
2025-11-03T10:21:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5783894 -24.256587
2025-11-03T10:21:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5783894 -24.256587
2025-11-03T10:21:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5783894 -24.256587
2025-11-03T10:21:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5783894;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59815;2460982.84808758;10.35406889;1.3;_15.5531955626267 -24.1697930870996
2025-11-03T10:21:14.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5531955626267     dec_j2k = -24.1697930870996
2025-11-03T10:21:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968733101590595;171.162351965909;_
2025-11-03T10:21:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968733101590595;171.162351965909;_
2025-11-03T10:21:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34309)
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84808756, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968733101590595, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5783894, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59815, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5531955626267, telescope_dec_j2k=-24.1697930870996, observability=1)
2025-11-03T10:21:15.320 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:21:15
2025-11-03T10:21:15.320 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:15.320 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.5361325740814209s
2025-11-03T10:21:15.320 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5361325740814209
2025-11-03T10:21:15.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:15
2025-11-03T10:21:15.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:15.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6133284568786621s
2025-11-03T10:21:15.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6133284568786621
2025-11-03T10:21:15.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:15
2025-11-03T10:21:15.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:15.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6366875171661377s
2025-11-03T10:21:15.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6366875171661377
2025-11-03T10:21:16.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:16
2025-11-03T10:21:16.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:16.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0154693126678467s
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:16.800 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5789696;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59873;2460982.84811112;10.3546475;1.3;_
2025-11-03T10:21:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5789696;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59873;2460982.84811112;10.3546475;1.3;_
2025-11-03T10:21:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:16.801 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:16.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:16.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:16.802 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5789696, teldec = -24.256587
2025-11-03T10:21:16.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5789696 -24.256587
2025-11-03T10:21:16.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5789696 -24.256587
2025-11-03T10:21:16.802 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5789696 -24.256587
2025-11-03T10:21:16.803 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5789696;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59873;2460982.84811115;10.3546475;1.3;_15.5537753506286 -24.1698101422818
2025-11-03T10:21:16.803 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5537753506286     dec_j2k = -24.1698101422818
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968734304948879;171.162357330327;_
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968734304948879;171.162357330327;_
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:16.804 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:16.805 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:16.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:16.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:16.806 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56601)
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:16.808 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:16.816 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84811112, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968734304948879, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5789696, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59873, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5537753506286, telescope_dec_j2k=-24.1698101422818, observability=1)
2025-11-03T10:21:17.996 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:17
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.179826021194458s
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:17.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:17.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:17.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:17.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5793063;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59907;2460982.84812498;10.35498333;1.3;_
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5793063;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59907;2460982.84812498;10.35498333;1.3;_
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:17.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:17.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:17.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:17.999 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5793063, teldec = -24.256587
2025-11-03T10:21:17.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5793063 -24.256587
2025-11-03T10:21:17.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5793063 -24.256587
2025-11-03T10:21:17.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5793063 -24.256587
2025-11-03T10:21:18.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5793063;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59907;2460982.848125;10.35498333;1.3;_15.5541118115709 -24.1698200406307
2025-11-03T10:21:18.000 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5541118115709     dec_j2k = -24.1698200406307
2025-11-03T10:21:18.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:18.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968739920620872;171.162362694745;_
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968739920620872;171.162362694745;_
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:18.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:18.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:18.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:18.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:18.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:18.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:18.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:18.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:18.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:18.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41921)
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:18.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:18.012 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:18.012 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84812498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968739920620872, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5793063, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59907, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5541118115709, telescope_dec_j2k=-24.1698200406307, observability=1)
2025-11-03T10:21:18.036 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:18
2025-11-03T10:21:18.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:18.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023559093475341797s
2025-11-03T10:21:18.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023559093475341797
2025-11-03T10:21:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:18
2025-11-03T10:21:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7544612884521484s
2025-11-03T10:21:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7544612884521484
2025-11-03T10:21:18.910 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:21:18.910 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8975253105163574s
2025-11-03T10:21:18.910 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8975253105163574
2025-11-03T10:21:18.910 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.590082883834839 seconds ago
2025-11-03T10:21:20.008 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:20
2025-11-03T10:21:20.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9960782527923584s
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:20.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:20.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5798578;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59962;2460982.84814826;10.35553333;1.3;_
2025-11-03T10:21:20.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5798578;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59962;2460982.84814826;10.35553333;1.3;_
2025-11-03T10:21:20.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:20.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:20.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:20.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:20.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:20.011 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5798578, teldec = -24.256587
2025-11-03T10:21:20.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5798578 -24.256587
2025-11-03T10:21:20.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5798578 -24.256587
2025-11-03T10:21:20.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5798578 -24.256587
2025-11-03T10:21:20.012 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5798578;-24.256587;50.108515;89.993044;50.08601;90.12017;12.59962;2460982.84814829;10.35553333;1.3;_15.5546629200554 -24.1698362551794
2025-11-03T10:21:20.012 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5546629200554     dec_j2k = -24.1698362551794
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968737112784876;171.162351965909;_
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968737112784876;171.162351965909;_
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:20.013 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:20.014 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50435)
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:20.019 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:20.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:20.026 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:20.027 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:20.027 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84814826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968737112784876, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5798578, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.59962, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5546629200554, telescope_dec_j2k=-24.1698362551794, observability=1)
2025-11-03T10:21:20.048 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:20
2025-11-03T10:21:20.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:20.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02168130874633789s
2025-11-03T10:21:20.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02168130874633789
2025-11-03T10:21:20.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:20
2025-11-03T10:21:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7401087284088135s
2025-11-03T10:21:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7401087284088135
2025-11-03T10:21:21.693 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:21
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6663990020751953s
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:21.693 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:21.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:21.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:21.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:21.694 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:21.694 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5803353;-24.256587;50.108515;89.993044;50.08601;90.12017;12.6001;2460982.84816777;10.35600944;1.3;_
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5803353;-24.256587;50.108515;89.993044;50.08601;90.12017;12.6001;2460982.84816777;10.35600944;1.3;_
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:21.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:21.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:21.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:21.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:21.697 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5803353, teldec = -24.256587
2025-11-03T10:21:21.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5803353 -24.256587
2025-11-03T10:21:21.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5803353 -24.256587
2025-11-03T10:21:21.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5803353 -24.256587
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5803353;-24.256587;50.108515;89.993044;50.08601;90.12017;12.6001;2460982.8481678;10.35600944;1.3;_15.5551400811241 -24.1698502955548
2025-11-03T10:21:21.698 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5551400811241     dec_j2k = -24.1698502955548
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968739519501444;171.162351965909;_
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968739519501444;171.162351965909;_
2025-11-03T10:21:21.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:21.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:21.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:21.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:21.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:21.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:21.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:21.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:21.703 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36679)
2025-11-03T10:21:21.703 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:21.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:21.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:21.704 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:21.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:21.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:21.711 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84816777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968739519501444, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5803353, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6001, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:20:22.269451', telescope_ra_j2k=15.5551400811241, telescope_dec_j2k=-24.1698502955548, observability=1)
2025-11-03T10:21:21.733 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:21
2025-11-03T10:21:21.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:21.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021661996841430664s
2025-11-03T10:21:21.733 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021661996841430664
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:22.413 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:22.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:22.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:22.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:22.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:22.414 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:21:22.415 [INFO] [ThreadPoolExecutor-3457_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:21:22.415 [INFO] [ThreadPoolExecutor-3457_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:21:22.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:22
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0676376819610596s
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:22.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:22.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.580616;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60038;2460982.84818034;10.35628944;1.3;_
2025-11-03T10:21:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.580616;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60038;2460982.84818034;10.35628944;1.3;_
2025-11-03T10:21:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:22.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:22.782 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.580616, teldec = -24.256587
2025-11-03T10:21:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.580616 -24.256587
2025-11-03T10:21:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.580616 -24.256587
2025-11-03T10:21:22.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.580616 -24.256587
2025-11-03T10:21:22.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.580616;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60038;2460982.84818036;10.35628944;1.3;_15.5554205819041 -24.1698585498812
2025-11-03T10:21:22.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5554205819041     dec_j2k = -24.1698585498812
2025-11-03T10:21:22.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968735508307163;171.162362694745;_
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968735508307163;171.162362694745;_
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:22.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:22.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:22.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:22.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:22.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:22.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:22.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:22.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:22.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:22.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:22.793 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39787)
2025-11-03T10:21:22.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:22.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:22.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:22.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:22.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:22.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:22.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:22.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84818034, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968735508307163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.580616, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60038, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5554205819041, telescope_dec_j2k=-24.1698585498812, observability=1)
2025-11-03T10:21:24.003 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:24
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.201758623123169s
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:24.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5809525;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60072;2460982.84819449;10.356625;1.3;_
2025-11-03T10:21:24.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5809525;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60072;2460982.84819449;10.356625;1.3;_
2025-11-03T10:21:24.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:24.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:24.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:24.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:24.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:24.006 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5809525, teldec = -24.256587
2025-11-03T10:21:24.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5809525 -24.256587
2025-11-03T10:21:24.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5809525 -24.256587
2025-11-03T10:21:24.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5809525 -24.256587
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5809804;-24.256587;50.108515;89.993044;50.08601;90.12017;12.60074;2460982.84819453;10.35665278;1.3;_15.5557568431029 -24.169868445703
2025-11-03T10:21:24.007 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5557568431029     dec_j2k = -24.169868445703
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968736310546019;171.162368059163;_
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968736310546019;171.162368059163;_
2025-11-03T10:21:24.007 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:24.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:24.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:24.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35449)
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:24.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:24.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:24.022 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:24.022 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:24.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:24.022 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84819449, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968736310546019, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5809525, telescope_dec=-24.256587, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5557568431029, telescope_dec_j2k=-24.169868445703, observability=1)
2025-11-03T10:21:24.044 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:24
2025-11-03T10:21:24.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:24.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02189803123474121s
2025-11-03T10:21:24.044 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02189803123474121
2025-11-03T10:21:24.409 [DEBUG] [Thread-88879 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:24.409 [DEBUG] [Thread-88879 (handle)] [server.py] [get_status()] Status age = 0.38733553886413574s
2025-11-03T10:21:24.409 [DEBUG] [Thread-88879 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38733553886413574
2025-11-03T10:21:24.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:24
2025-11-03T10:21:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:24.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.742659330368042s
2025-11-03T10:21:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.742659330368042
2025-11-03T10:21:25.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:25
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4235749244689941s
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:25.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:25.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:25.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:25.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5813642;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60113;2460982.84821119;10.35703556;1.3;_
2025-11-03T10:21:25.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5813642;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60113;2460982.84821119;10.35703556;1.3;_
2025-11-03T10:21:25.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:25.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:25.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:25.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:25.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:25.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5813642, teldec = -24.256586
2025-11-03T10:21:25.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5813642 -24.256586
2025-11-03T10:21:25.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5813642 -24.256586
2025-11-03T10:21:25.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5813642 -24.256586
2025-11-03T10:21:25.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5813642;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60113;2460982.84821123;10.35703556;1.3;_15.5561682511242 -24.169879553974
2025-11-03T10:21:25.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5561682511242     dec_j2k = -24.169879553974
2025-11-03T10:21:25.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:25.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:25.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09687403217403;171.162357330327;_
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09687403217403;171.162357330327;_
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:25.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:25.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:25.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:25.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:25.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48649)
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:25.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:25.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:25.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84821119, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09687403217403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5813642, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60113, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5561682511242, telescope_dec_j2k=-24.169879553974, observability=1)
2025-11-03T10:21:25.487 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:25
2025-11-03T10:21:25.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:25.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021837472915649414s
2025-11-03T10:21:25.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021837472915649414
2025-11-03T10:21:26.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:26
2025-11-03T10:21:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.298274278640747s
2025-11-03T10:21:26.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:26.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:26.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:26.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5817291;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60149;2460982.84822646;10.35739944;1.3;_
2025-11-03T10:21:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5817291;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60149;2460982.84822646;10.35739944;1.3;_
2025-11-03T10:21:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:26.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:26.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5817291, teldec = -24.256586
2025-11-03T10:21:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5817291 -24.256586
2025-11-03T10:21:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5817291 -24.256586
2025-11-03T10:21:26.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5817291 -24.256586
2025-11-03T10:21:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5817291;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60149;2460982.84822648;10.35739944;1.3;_15.5565328922261 -24.1698902866685
2025-11-03T10:21:26.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5565328922261     dec_j2k = -24.1698902866685
2025-11-03T10:21:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:26.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968750349726001;171.162362694745;_
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968750349726001;171.162362694745;_
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45889)
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:26.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:26.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:26.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84822646, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968750349726001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5817291, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60149, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5565328922261, telescope_dec_j2k=-24.1698902866685, observability=1)
2025-11-03T10:21:27.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:27
2025-11-03T10:21:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6126172542572021s
2025-11-03T10:21:27.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6126172542572021
2025-11-03T10:21:27.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:27
2025-11-03T10:21:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.634227991104126s
2025-11-03T10:21:27.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.634227991104126
2025-11-03T10:21:28.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:28
2025-11-03T10:21:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9819579124450684s
2025-11-03T10:21:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5822895;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60205;2460982.84824961;10.35795833;1.3;_
2025-11-03T10:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5822895;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60205;2460982.84824961;10.35795833;1.3;_
2025-11-03T10:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5822895, teldec = -24.256586
2025-11-03T10:21:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5822895 -24.256586
2025-11-03T10:21:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5822895 -24.256586
2025-11-03T10:21:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5822895 -24.256586
2025-11-03T10:21:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5822895;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60205;2460982.84824963;10.35795833;1.3;_15.5570928946737 -24.169906771114
2025-11-03T10:21:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5570928946737     dec_j2k = -24.169906771114
2025-11-03T10:21:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968745937412293;171.162351965909;_
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968745937412293;171.162351965909;_
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58907)
2025-11-03T10:21:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:28.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:28.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:28.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84824961, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968745937412293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5822895, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5570928946737, telescope_dec_j2k=-24.169906771114, observability=1)
2025-11-03T10:21:30.003 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:30
2025-11-03T10:21:30.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:30.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2214601039886475s
2025-11-03T10:21:30.003 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:30.004 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:30.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5826441;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60241;2460982.84826395;10.35831194;1.3;_
2025-11-03T10:21:30.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5826441;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60241;2460982.84826395;10.35831194;1.3;_
2025-11-03T10:21:30.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:30.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:30.005 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:30.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:30.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:30.006 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5826441, teldec = -24.256586
2025-11-03T10:21:30.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5826441 -24.256586
2025-11-03T10:21:30.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5826441 -24.256586
2025-11-03T10:21:30.006 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5826441 -24.256586
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5826441;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60241;2460982.84826398;10.35831194;1.3;_15.557447243151 -24.1699172028309
2025-11-03T10:21:30.008 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.557447243151     dec_j2k = -24.1699172028309
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:30.008 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:30.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:30.009 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:30.010 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:30.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:30.011 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33149)
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:30.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:30.021 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:30.021 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84826395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968745937412293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5826441, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60241, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.557447243151, telescope_dec_j2k=-24.1699172028309, observability=1)
2025-11-03T10:21:30.045 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:30
2025-11-03T10:21:30.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:30.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02349853515625s
2025-11-03T10:21:30.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02349853515625
2025-11-03T10:21:30.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:30
2025-11-03T10:21:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7417755126953125s
2025-11-03T10:21:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7417755126953125
2025-11-03T10:21:31.705 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:31
2025-11-03T10:21:31.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:31.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6839799880981445s
2025-11-03T10:21:31.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:31.705 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:31.705 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:31.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:31.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:31.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:31.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:31.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5831204;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60288;2460982.84828366;10.35878694;1.3;_
2025-11-03T10:21:31.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5831204;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60288;2460982.84828366;10.35878694;1.3;_
2025-11-03T10:21:31.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:31.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:31.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:31.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:31.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:31.709 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5831204, teldec = -24.256586
2025-11-03T10:21:31.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5831204 -24.256586
2025-11-03T10:21:31.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5831204 -24.256586
2025-11-03T10:21:31.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5831204 -24.256586
2025-11-03T10:21:31.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5831204;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60288;2460982.84828368;10.35878694;1.3;_15.5579232053457 -24.1699312159471
2025-11-03T10:21:31.710 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5579232053457     dec_j2k = -24.1699312159471
2025-11-03T10:21:31.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:31.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968743530695724;171.162362694745;_
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968743530695724;171.162362694745;_
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:31.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:31.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:31.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:31.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38227)
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:31.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:31.723 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:31.723 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:31.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:31.724 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84828366, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968743530695724, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5831204, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60288, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5579232053457, telescope_dec_j2k=-24.1699312159471, observability=1)
2025-11-03T10:21:31.746 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:31
2025-11-03T10:21:31.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:31.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022467851638793945s
2025-11-03T10:21:31.746 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022467851638793945
2025-11-03T10:21:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:32
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0426130294799805s
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5834009;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60316;2460982.84829593;10.35906667;1.3;_
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5834009;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60316;2460982.84829593;10.35906667;1.3;_
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5834009, teldec = -24.256586
2025-11-03T10:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5834009 -24.256586
2025-11-03T10:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5834009 -24.256586
2025-11-03T10:21:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5834009 -24.256586
2025-11-03T10:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5834009;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60316;2460982.84829595;10.35906667;1.3;_15.5582035064292 -24.1699394691168
2025-11-03T10:21:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5582035064292     dec_j2k = -24.1699394691168
2025-11-03T10:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968745135173437;171.162362694745;_
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968745135173437;171.162362694745;_
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59221)
2025-11-03T10:21:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:32.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84829593, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968745135173437, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5834009, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5582035064292, telescope_dec_j2k=-24.1699394691168, observability=1)
2025-11-03T10:21:33.995 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:33
2025-11-03T10:21:33.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:33.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2134456634521484s
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:33.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:33.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:33.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5837646;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60353;2460982.84831016;10.35942944;1.3;_
2025-11-03T10:21:33.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5837646;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60353;2460982.84831016;10.35942944;1.3;_
2025-11-03T10:21:33.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:33.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:33.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:33.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:33.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:33.999 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5837646, teldec = -24.256586
2025-11-03T10:21:33.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5837646 -24.256586
2025-11-03T10:21:33.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5837646 -24.256586
2025-11-03T10:21:33.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5837646 -24.256586
2025-11-03T10:21:34.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5837646;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60353;2460982.84831018;10.35942944;1.3;_15.5585669485358 -24.1699501709936
2025-11-03T10:21:34.000 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5585669485358     dec_j2k = -24.1699501709936
2025-11-03T10:21:34.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:34.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:34.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:34.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:34.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:34.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:34.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:34.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:34.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:34.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:34.003 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:34.004 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34975)
2025-11-03T10:21:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:34.004 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:34.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:34.005 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:34.005 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:34.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:34.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:34.012 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:34.012 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:34.012 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:34.013 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:34.013 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:34.013 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:34.013 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:34.013 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84831016, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968745937412293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5837646, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60353, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5585669485358, telescope_dec_j2k=-24.1699501709936, observability=1)
2025-11-03T10:21:34.035 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:34
2025-11-03T10:21:34.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:34.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0224759578704834s
2025-11-03T10:21:34.035 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0224759578704834
2025-11-03T10:21:34.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:34
2025-11-03T10:21:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7628800868988037s
2025-11-03T10:21:34.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7628800868988037
2025-11-03T10:21:35.996 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:35
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9828338623046875s
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:35.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:35.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5842961;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60406;2460982.84833329;10.35995944;1.3;_
2025-11-03T10:21:35.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5842961;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60406;2460982.84833329;10.35995944;1.3;_
2025-11-03T10:21:35.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:35.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:35.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:35.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:35.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:35.998 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5842961, teldec = -24.256586
2025-11-03T10:21:35.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5842961 -24.256586
2025-11-03T10:21:35.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5842961 -24.256586
2025-11-03T10:21:35.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5842961 -24.256586
2025-11-03T10:21:35.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5842961;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60406;2460982.84833332;10.35995944;1.3;_15.5590980717074 -24.1699658118253
2025-11-03T10:21:35.999 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5590980717074     dec_j2k = -24.1699658118253
2025-11-03T10:21:35.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:35.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:35.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:35.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968749948606573;171.162357330327;_
2025-11-03T10:21:36.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968749948606573;171.162357330327;_
2025-11-03T10:21:36.000 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:36.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:36.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:36.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:36.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:36.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:36.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:36.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:36.009 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51763)
2025-11-03T10:21:36.009 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:36.009 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:36.009 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:36.009 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:36.010 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:36.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:36.017 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84833329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968749948606573, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5842961, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60406, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5590980717074, telescope_dec_j2k=-24.1699658118253, observability=1)
2025-11-03T10:21:36.039 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:36
2025-11-03T10:21:36.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:36.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021760225296020508s
2025-11-03T10:21:36.039 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021760225296020508
2025-11-03T10:21:36.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:36
2025-11-03T10:21:36.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7491917610168457s
2025-11-03T10:21:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7491917610168457
2025-11-03T10:21:37.995 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:37
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9778978824615479s
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:37.995 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:37.996 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:37.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5848755;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60464;2460982.84835645;10.36053722;1.3;_
2025-11-03T10:21:37.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5848755;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60464;2460982.84835645;10.36053722;1.3;_
2025-11-03T10:21:37.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:37.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:37.997 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:37.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:37.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:37.998 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5848755, teldec = -24.256586
2025-11-03T10:21:37.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5848755 -24.256586
2025-11-03T10:21:37.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5848755 -24.256586
2025-11-03T10:21:37.998 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5848755 -24.256586
2025-11-03T10:21:37.999 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5848755;-24.256586;50.108515;89.993044;50.08601;90.12017;12.60464;2460982.84835647;10.36053722;1.3;_15.5596770609849 -24.1699828641895
2025-11-03T10:21:37.999 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5596770609849     dec_j2k = -24.1699828641895
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968750349726001;171.162362694745;_
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968750349726001;171.162362694745;_
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:38.000 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:38.001 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:38.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:38.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:38.002 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37121)
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:38.007 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:38.014 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:38.015 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84835645, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968750349726001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108515, telescope_az=89.993044, telescope_ra=15.5848755, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60464, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5596770609849, telescope_dec_j2k=-24.1699828641895, observability=1)
2025-11-03T10:21:38.036 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:38
2025-11-03T10:21:38.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:38.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02168440818786621s
2025-11-03T10:21:38.036 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02168440818786621
2025-11-03T10:21:38.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:38
2025-11-03T10:21:38.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:38.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.76084303855896s
2025-11-03T10:21:38.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.76084303855896
2025-11-03T10:21:39.646 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:39
2025-11-03T10:21:39.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:39.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6318845748901367s
2025-11-03T10:21:39.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:39.647 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:39.647 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:39.647 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:39.647 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:39.647 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:39.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:39.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5853239;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60509;2460982.84837557;10.36098444;1.3;_
2025-11-03T10:21:39.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5853239;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60509;2460982.84837557;10.36098444;1.3;_
2025-11-03T10:21:39.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:39.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:39.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:39.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:39.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:39.650 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5853239, teldec = -24.256586
2025-11-03T10:21:39.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5853239 -24.256586
2025-11-03T10:21:39.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5853239 -24.256586
2025-11-03T10:21:39.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5853239 -24.256586
2025-11-03T10:21:39.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5853239;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60509;2460982.84837559;10.36098444;1.3;_15.5601251431728 -24.1699960624752
2025-11-03T10:21:39.651 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5601251431728     dec_j2k = -24.1699960624752
2025-11-03T10:21:39.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:39.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:39.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968748745248289;171.162357330327;_
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968748745248289;171.162357330327;_
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:39.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:39.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:39.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:39.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:39.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53663)
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:39.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:39.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:39.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:39.663 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:39.663 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84837557, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968748745248289, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5853239, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60509, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5601251431728, telescope_dec_j2k=-24.1699960624752, observability=1)
2025-11-03T10:21:39.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:39
2025-11-03T10:21:39.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:39.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021567344665527344s
2025-11-03T10:21:39.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021567344665527344
2025-11-03T10:21:40.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:40
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1097166538238525s
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:40.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:40.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.585632;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60539;2460982.8483886;10.36129167;1.3;_
2025-11-03T10:21:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.585632;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60539;2460982.8483886;10.36129167;1.3;_
2025-11-03T10:21:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:40.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:40.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:40.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.585632, teldec = -24.256586
2025-11-03T10:21:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.585632 -24.256586
2025-11-03T10:21:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.585632 -24.256586
2025-11-03T10:21:40.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.585632 -24.256586
2025-11-03T10:21:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.585632;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60539;2460982.84838863;10.36129167;1.3;_15.5604330248251 -24.1700051318497
2025-11-03T10:21:40.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5604330248251     dec_j2k = -24.1700051318497
2025-11-03T10:21:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:40.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968745937412293;171.162357330327;_
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:40.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:40.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:40.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:40.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:40.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:40.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37679)
2025-11-03T10:21:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:40.788 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:40.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:40.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:40.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8483886, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968745937412293, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.585632, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60539, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5604330248251, telescope_dec_j2k=-24.1700051318497, observability=1)
2025-11-03T10:21:41.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:41
2025-11-03T10:21:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6029934883117676s
2025-11-03T10:21:41.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6029934883117676
2025-11-03T10:21:41.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:41
2025-11-03T10:21:41.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:41.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6242759227752686s
2025-11-03T10:21:41.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6242759227752686
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Status age = 1.7484652996063232s
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:42.544 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:42.545 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 17;15.5861356;-24.256586;50.108514;89.993044;50.08601;90.12017;12.6059;2460982.84840909;10.36179389;1.3;_
2025-11-03T10:21:42.545 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response 17;15.5861356;-24.256586;50.108514;89.993044;50.08601;90.12017;12.6059;2460982.84840909;10.36179389;1.3;_
2025-11-03T10:21:42.545 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:42.545 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:42.545 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:42.546 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:42.546 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:42.546 [INFO] [Thread-88880 (handle)] [driver.py] [get_status()] Telra = 15.5861356, teldec = -24.256586
2025-11-03T10:21:42.546 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5861356 -24.256586
2025-11-03T10:21:42.546 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5861356 -24.256586
2025-11-03T10:21:42.546 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5861356 -24.256586
2025-11-03T10:21:42.547 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 17;15.5861356;-24.256586;50.108514;89.993044;50.08601;90.12017;12.6059;2460982.84840911;10.36179389;1.3;_15.5609362679707 -24.1700199572874
2025-11-03T10:21:42.547 [INFO] [Thread-88880 (handle)] [driver.py] [get_status()] ra_j2k = 15.5609362679707     dec_j2k = -24.1700199572874
2025-11-03T10:21:42.547 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:42.547 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:42.547 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 140;0.0968749948606573;171.162351965909;_
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response 140;0.0968749948606573;171.162351965909;_
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:42.548 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:42.549 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:42.550 [DEBUG] [Thread-88880 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:42.550 [DEBUG] [Thread-88880 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:42.550 [DEBUG] [Thread-88880 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:42.551 [DEBUG] [Thread-88880 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40705)
2025-11-03T10:21:42.551 [DEBUG] [Thread-88880 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:42.551 [DEBUG] [Thread-88880 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:42.551 [DEBUG] [Thread-88880 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:42.551 [DEBUG] [Thread-88880 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:42.552 [DEBUG] [Thread-88880 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:42.559 [DEBUG] [Thread-88880 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:42.560 [INFO] [Thread-88880 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84840909, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968749948606573, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5861356, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6059, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5609362679707, telescope_dec_j2k=-24.1700199572874, observability=1)
2025-11-03T10:21:42.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:42
2025-11-03T10:21:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2032334804534912s
2025-11-03T10:21:42.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2032334804534912
2025-11-03T10:21:43.296 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.296 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.296 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:43.296 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:21:43.297 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:43.298 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:43.299 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.300 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:43.301 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:43.302 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:43.302 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:43.302 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:43.303 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:43.303 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Park
2025-11-03T10:21:43.303 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:21:43.303 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:21:43.304 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 29;15.5863509;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60611;2460982.84841786;10.36200861;1.3;_Park Command Successful
2025-11-03T10:21:43.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:43
2025-11-03T10:21:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8355920314788818s
2025-11-03T10:21:43.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8355920314788818
2025-11-03T10:21:43.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:43
2025-11-03T10:21:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8574695587158203s
2025-11-03T10:21:43.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8574695587158203
2025-11-03T10:21:44.304 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:21:44.304 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:21:44.304 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:21:44.305 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:21:44.305 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:21:44.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:44
2025-11-03T10:21:44.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.201023578643799s
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:44.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:44.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:44.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5867431;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60651;2460982.84843476;10.36239972;1.3;_
2025-11-03T10:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5867431;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60651;2460982.84843476;10.36239972;1.3;_
2025-11-03T10:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:44.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:44.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5867431, teldec = -24.256586
2025-11-03T10:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5867431 -24.256586
2025-11-03T10:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5867431 -24.256586
2025-11-03T10:21:44.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5867431 -24.256586
2025-11-03T10:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5867431;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60651;2460982.84843478;10.36239972;1.3;_15.5615433375619 -24.1700378434667
2025-11-03T10:21:44.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5615433375619     dec_j2k = -24.1700378434667
2025-11-03T10:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:44.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968750750845429;171.162362694745;_
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968750750845429;171.162362694745;_
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56907)
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:44.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:44.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:44.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84843476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968750750845429, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5867431, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60651, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5615433375619, telescope_dec_j2k=-24.1700378434667, observability=1)
2025-11-03T10:21:45.305 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:21:45.305 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:21:45.305 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:21:45.306 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:21:45.306 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:21:45.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:45
2025-11-03T10:21:45.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:45.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6115725040435791s
2025-11-03T10:21:45.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6115725040435791
2025-11-03T10:21:45.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:45
2025-11-03T10:21:45.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:45.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.63330078125s
2025-11-03T10:21:45.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.63330078125
2025-11-03T10:21:46.306 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:21:46.306 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:21:46.306 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:21:46.307 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:21:46.307 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:21:46.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:46
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.992858648300171s
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5873035;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60707;2460982.84845808;10.36295861;1.3;_
2025-11-03T10:21:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5873035;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60707;2460982.84845808;10.36295861;1.3;_
2025-11-03T10:21:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:46.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5873035, teldec = -24.256586
2025-11-03T10:21:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5873035 -24.256586
2025-11-03T10:21:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5873035 -24.256586
2025-11-03T10:21:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5873035 -24.256586
2025-11-03T10:21:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5873035;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60707;2460982.8484581;10.36295861;1.3;_15.5621033405907 -24.1700543448909
2025-11-03T10:21:46.780 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5621033405907     dec_j2k = -24.1700543448909
2025-11-03T10:21:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968751151964857;171.162362694745;_
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968751151964857;171.162362694745;_
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:46.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:46.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:46.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37325)
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:46.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:46.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:46.792 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:46.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:46.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84845808, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968751151964857, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5873035, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60707, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5621033405907, telescope_dec_j2k=-24.1700543448909, observability=1)
2025-11-03T10:21:47.307 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:21:47.307 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:21:47.307 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:47.308 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:21:47.309 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:47.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:47
2025-11-03T10:21:47.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6029314994812012s
2025-11-03T10:21:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6029314994812012
2025-11-03T10:21:47.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:47
2025-11-03T10:21:47.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:47.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6248247623443604s
2025-11-03T10:21:47.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6248247623443604
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:21:48.310 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:21:48.311 [DEBUG] [ThreadPoolExecutor-3456_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:48.311 [INFO] [ThreadPoolExecutor-3456_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.6414306163787842s
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:48.433 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:48.434 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:48.434 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:48.435 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:48.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.587779;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60754;2460982.84847727;10.36343278;1.3;_
2025-11-03T10:21:48.436 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.587779;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60754;2460982.84847727;10.36343278;1.3;_
2025-11-03T10:21:48.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:48.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:48.436 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:48.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:48.437 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:48.437 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.587779, teldec = -24.256586
2025-11-03T10:21:48.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.587779 -24.256586
2025-11-03T10:21:48.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.587779 -24.256586
2025-11-03T10:21:48.437 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.587779 -24.256586
2025-11-03T10:21:48.438 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.587779;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60754;2460982.84847729;10.36343278;1.3;_15.5625785038113 -24.1700683478539
2025-11-03T10:21:48.438 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.5625785038113     dec_j2k = -24.1700683478539
2025-11-03T10:21:48.438 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:48.438 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:48.438 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968751553084286;171.162357330327;_
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968751553084286;171.162357330327;_
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:48.439 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:48.440 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:48.441 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:48.441 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:48.441 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:48.445 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59655)
2025-11-03T10:21:48.445 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:48.446 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:48.446 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:48.446 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:48.446 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:48.453 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:48.453 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84847727, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968751553084286, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.587779, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60754, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5625785038113, telescope_dec_j2k=-24.1700683478539, observability=1)
2025-11-03T10:21:48.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:48
2025-11-03T10:21:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.313382625579834s
2025-11-03T10:21:48.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.313382625579834
2025-11-03T10:21:49.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:49
2025-11-03T10:21:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9415006637573242s
2025-11-03T10:21:49.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9415006637573242
2025-11-03T10:21:49.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:49
2025-11-03T10:21:49.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:49.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9637086391448975s
2025-11-03T10:21:49.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9637086391448975
2025-11-03T10:21:50.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:50
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3169431686401367s
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.588414;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60818;2460982.84850429;10.36406611;1.3;_
2025-11-03T10:21:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.588414;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60818;2460982.84850429;10.36406611;1.3;_
2025-11-03T10:21:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:50.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.588414, teldec = -24.256586
2025-11-03T10:21:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.588414 -24.256586
2025-11-03T10:21:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.588414 -24.256586
2025-11-03T10:21:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.588414 -24.256586
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.588414;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60818;2460982.84850433;10.36406611;1.3;_15.5632130541368 -24.1700870500482
2025-11-03T10:21:50.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5632130541368     dec_j2k = -24.1700870500482
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968750349726001;171.162357330327;_
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968750349726001;171.162357330327;_
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:21:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:21:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50443)
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:50.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:50.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:50.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84850429, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968750349726001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.588414, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60818, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5632130541368, telescope_dec_j2k=-24.1700870500482, observability=1)
2025-11-03T10:21:51.049 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:51
2025-11-03T10:21:51.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:51.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2637145519256592s
2025-11-03T10:21:51.049 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2637145519256592
2025-11-03T10:21:51.071 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:51
2025-11-03T10:21:51.071 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:51.071 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2858757972717285s
2025-11-03T10:21:51.071 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2858757972717285
2025-11-03T10:21:52.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:52
2025-11-03T10:21:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.611119270324707s
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5888627;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60863;2460982.84852312;10.36451361;1.3;_
2025-11-03T10:21:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5888627;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60863;2460982.84852312;10.36451361;1.3;_
2025-11-03T10:21:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:52.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5888627, teldec = -24.256586
2025-11-03T10:21:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5888627 -24.256586
2025-11-03T10:21:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5888627 -24.256586
2025-11-03T10:21:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5888627 -24.256586
2025-11-03T10:21:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5888906;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60865;2460982.84852316;10.36454139;1.3;_15.5636614364408 -24.1701002667511
2025-11-03T10:21:52.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5636614364408     dec_j2k = -24.1701002667511
2025-11-03T10:21:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968751553084286;171.162362694745;_
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968751553084286;171.162362694745;_
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Status age = 1.6185507774353027s
2025-11-03T10:21:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:52.404 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:52.405 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:52.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36125)
2025-11-03T10:21:52.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:52.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:52.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:52.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:52.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:52.406 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 17;15.5888906;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60865;2460982.84852322;10.36454139;1.3;_
2025-11-03T10:21:52.406 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response 17;15.5888906;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60865;2460982.84852322;10.36454139;1.3;_
2025-11-03T10:21:52.406 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:52.406 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:52.406 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:52.407 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:52.407 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:52.407 [INFO] [Thread-88881 (handle)] [driver.py] [get_status()] Telra = 15.5888906, teldec = -24.256586
2025-11-03T10:21:52.407 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5888906 -24.256586
2025-11-03T10:21:52.407 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5888906 -24.256586
2025-11-03T10:21:52.408 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5888906 -24.256586
2025-11-03T10:21:52.408 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 17;15.5888906;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60865;2460982.84852324;10.36454139;1.3;_15.563689316688 -24.1701010886009
2025-11-03T10:21:52.408 [INFO] [Thread-88881 (handle)] [driver.py] [get_status()] ra_j2k = 15.563689316688     dec_j2k = -24.1701010886009
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 140;0.0968751553084286;171.162362694745;_
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response 140;0.0968751553084286;171.162362694745;_
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:52.409 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:52.410 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:52.411 [DEBUG] [Thread-88881 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.411 [DEBUG] [Thread-88881 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:52.411 [DEBUG] [Thread-88881 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50377)
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:52.413 [DEBUG] [Thread-88881 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:52.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:52.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84852312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968751553084286, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5888627, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60863, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5636614364408, telescope_dec_j2k=-24.1701002667511, observability=1)
2025-11-03T10:21:52.421 [DEBUG] [Thread-88881 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:52.421 [DEBUG] [Thread-88881 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:52.421 [DEBUG] [Thread-88881 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:52.422 [DEBUG] [Thread-88881 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:52.422 [INFO] [Thread-88881 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84852322, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968751553084286, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5888906, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60865, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.563689316688, telescope_dec_j2k=-24.1701010886009, observability=1)
2025-11-03T10:21:52.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:52
2025-11-03T10:21:52.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:52.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.01320028305053711s
2025-11-03T10:21:52.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.01320028305053711
2025-11-03T10:21:52.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:52
2025-11-03T10:21:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34564948081970215s
2025-11-03T10:21:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34564948081970215
2025-11-03T10:21:54.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:54
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9729433059692383s
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5894218;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60918;2460982.84854625;10.36507111;1.3;_
2025-11-03T10:21:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5894218;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60918;2460982.84854625;10.36507111;1.3;_
2025-11-03T10:21:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:54.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5894218, teldec = -24.256586
2025-11-03T10:21:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5894218 -24.256586
2025-11-03T10:21:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5894218 -24.256586
2025-11-03T10:21:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5894218 -24.256586
2025-11-03T10:21:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5894218;-24.256586;50.108514;89.993044;50.08601;90.12017;12.60918;2460982.84854628;10.36507111;1.3;_15.5642201406359 -24.1701167370459
2025-11-03T10:21:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5642201406359     dec_j2k = -24.1701167370459
2025-11-03T10:21:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968753558681426;171.162351965909;_
2025-11-03T10:21:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968753558681426;171.162351965909;_
2025-11-03T10:21:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:54.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35741)
2025-11-03T10:21:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:54.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:54.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84854625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968753558681426, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993044, telescope_ra=15.5894218, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60918, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5642201406359, telescope_dec_j2k=-24.1701167370459, observability=1)
2025-11-03T10:21:54.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:54
2025-11-03T10:21:54.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:54.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021663188934326172s
2025-11-03T10:21:54.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021663188934326172
2025-11-03T10:21:54.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:54
2025-11-03T10:21:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35137200355529785s
2025-11-03T10:21:54.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35137200355529785
2025-11-03T10:21:56.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:56
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3514440059661865s
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:56.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.590085;-24.256586;50.108514;89.993043;50.08601;90.12017;12.60985;2460982.84857369;10.3657325;1.3;_
2025-11-03T10:21:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.590085;-24.256586;50.108514;89.993043;50.08601;90.12017;12.60985;2460982.84857369;10.3657325;1.3;_
2025-11-03T10:21:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:56.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.590085, teldec = -24.256586
2025-11-03T10:21:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.590085 -24.256586
2025-11-03T10:21:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.590085 -24.256586
2025-11-03T10:21:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.590085 -24.256586
2025-11-03T10:21:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.590085;-24.256586;50.108514;89.993043;50.08601;90.12017;12.60985;2460982.84857373;10.3657325;1.3;_15.5648828712192 -24.1701362764246
2025-11-03T10:21:56.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5648828712192     dec_j2k = -24.1701362764246
2025-11-03T10:21:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968749547487145;171.162357330327;_
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968749547487145;171.162357330327;_
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40959)
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:56.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:56.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:56.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84857369, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968749547487145, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.590085, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.60985, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5648828712192, telescope_dec_j2k=-24.1701362764246, observability=1)
2025-11-03T10:21:57.046 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:57
2025-11-03T10:21:57.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:57.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2638094425201416s
2025-11-03T10:21:57.046 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2638094425201416
2025-11-03T10:21:57.068 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:57
2025-11-03T10:21:57.068 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:57.068 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2859160900115967s
2025-11-03T10:21:57.068 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2859160900115967
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2035984992980957s
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:21:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5904212;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61018;2460982.84858781;10.36606778;1.3;_
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.5904212;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61018;2460982.84858781;10.36606778;1.3;_
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:21:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:21:57.988 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.5904212, teldec = -24.256586
2025-11-03T10:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5904212 -24.256586
2025-11-03T10:21:57.988 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5904212 -24.256586
2025-11-03T10:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5904212 -24.256586
2025-11-03T10:21:57.989 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.5904212;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61018;2460982.84858784;10.36606778;1.3;_15.5652188332897 -24.1701461826537
2025-11-03T10:21:57.990 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.5652188332897     dec_j2k = -24.1701461826537
2025-11-03T10:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:21:57.990 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096875676763685;171.162357330327;_
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096875676763685;171.162357330327;_
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:57.991 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:21:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:21:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:21:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33519)
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:21:58.000 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:21:58.007 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:21:58.007 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84858781, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875676763685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5904212, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61018, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5652188332897, telescope_dec_j2k=-24.1701461826537, observability=1)
2025-11-03T10:21:58.646 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:58
2025-11-03T10:21:58.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:58.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6389923095703125s
2025-11-03T10:21:58.646 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6389923095703125
2025-11-03T10:21:58.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:58
2025-11-03T10:21:58.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:58.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6604790687561035s
2025-11-03T10:21:58.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6604790687561035
2025-11-03T10:21:58.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:21:58
2025-11-03T10:21:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:21:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7560257911682129s
2025-11-03T10:21:58.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7560257911682129
2025-11-03T10:22:00.393 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:00
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.38625431060791s
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:00.394 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5910933;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61086;2460982.84861568;10.36673806;1.3;_
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5910933;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61086;2460982.84861568;10.36673806;1.3;_
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:00.396 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5910933, teldec = -24.256586
2025-11-03T10:22:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5910933 -24.256586
2025-11-03T10:22:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5910933 -24.256586
2025-11-03T10:22:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5910933 -24.256586
2025-11-03T10:22:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5910933;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61086;2460982.84861571;10.36673806;1.3;_15.5658904577133 -24.1701659883157
2025-11-03T10:22:00.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5658904577133     dec_j2k = -24.1701659883157
2025-11-03T10:22:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968750349726001;171.162357330327;_
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968750349726001;171.162357330327;_
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39097)
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:00.400 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:00.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:00.408 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:00.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:00.408 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84861568, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968750349726001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5910933, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61086, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5658904577133, telescope_dec_j2k=-24.1701659883157, observability=1)
2025-11-03T10:22:00.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:00
2025-11-03T10:22:00.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:00.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021457910537719727s
2025-11-03T10:22:00.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021457910537719727
2025-11-03T10:22:00.611 [DEBUG] [Thread-88882 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:00.611 [DEBUG] [Thread-88882 (handle)] [server.py] [get_status()] Status age = 0.2037220001220703s
2025-11-03T10:22:00.611 [DEBUG] [Thread-88882 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2037220001220703
2025-11-03T10:22:00.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:00
2025-11-03T10:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3536512851715088s
2025-11-03T10:22:00.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3536512851715088
2025-11-03T10:22:02.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:02
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2980475425720215s
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:02.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:02.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:02.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5917562;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61152;2460982.84864245;10.36739917;1.3;_
2025-11-03T10:22:02.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5917562;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61152;2460982.84864245;10.36739917;1.3;_
2025-11-03T10:22:02.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:02.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:02.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:02.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:02.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:02.709 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5917562, teldec = -24.256586
2025-11-03T10:22:02.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5917562 -24.256586
2025-11-03T10:22:02.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5917562 -24.256586
2025-11-03T10:22:02.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5917562 -24.256586
2025-11-03T10:22:02.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5917562;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61152;2460982.84864248;10.36739917;1.3;_15.5665528887385 -24.170185525537
2025-11-03T10:22:02.710 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5665528887385     dec_j2k = -24.170185525537
2025-11-03T10:22:02.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:02.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:02.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968752355323142;171.162351965909;_
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968752355323142;171.162351965909;_
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:02.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:02.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:02.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:02.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:02.713 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37441)
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:02.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:02.727 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:02.728 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:02.728 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:02.728 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84864245, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968752355323142, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5917562, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61152, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5665528887385, telescope_dec_j2k=-24.170185525537, observability=1)
2025-11-03T10:22:02.749 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:02
2025-11-03T10:22:02.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:02.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021757125854492188s
2025-11-03T10:22:02.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021757125854492188
2025-11-03T10:22:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:02
2025-11-03T10:22:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04152989387512207s
2025-11-03T10:22:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04152989387512207
2025-11-03T10:22:04.652 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:04
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9253871440887451s
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:04.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:04.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5922888;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61205;2460982.84866498;10.36793028;1.3;_
2025-11-03T10:22:04.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5922888;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61205;2460982.84866498;10.36793028;1.3;_
2025-11-03T10:22:04.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:04.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:04.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:04.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:04.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:04.656 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5922888, teldec = -24.256586
2025-11-03T10:22:04.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5922888 -24.256586
2025-11-03T10:22:04.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5922888 -24.256586
2025-11-03T10:22:04.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5922888 -24.256586
2025-11-03T10:22:04.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5922888;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61205;2460982.84866501;10.36793028;1.3;_15.5670851120117 -24.17020122443
2025-11-03T10:22:04.657 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5670851120117     dec_j2k = -24.17020122443
2025-11-03T10:22:04.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:04.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:04.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968753558681426;171.162362694745;_
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968753558681426;171.162362694745;_
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42253)
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:04.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:04.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:04.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84866498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968753558681426, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5922888, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61205, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5670851120117, telescope_dec_j2k=-24.17020122443, observability=1)
2025-11-03T10:22:04.691 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:04
2025-11-03T10:22:04.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:04.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021610021591186523s
2025-11-03T10:22:04.691 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021610021591186523
2025-11-03T10:22:04.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:04
2025-11-03T10:22:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09268307685852051s
2025-11-03T10:22:04.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09268307685852051
2025-11-03T10:22:06.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:06
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.097578525543213s
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5928773;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61264;2460982.84868946;10.36851722;1.3;_
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5928773;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61264;2460982.84868946;10.36851722;1.3;_
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:06.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5928773, teldec = -24.256586
2025-11-03T10:22:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5928773 -24.256586
2025-11-03T10:22:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5928773 -24.256586
2025-11-03T10:22:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5928773 -24.256586
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5928773;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61264;2460982.84868948;10.36851722;1.3;_15.5676731958131 -24.1702185730171
2025-11-03T10:22:06.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5676731958131     dec_j2k = -24.1702185730171
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096875275644257;171.162357330327;_
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096875275644257;171.162357330327;_
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43531)
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:06.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:06.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:06.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84868946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875275644257, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5928773, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61264, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5676731958131, telescope_dec_j2k=-24.1702185730171, observability=1)
2025-11-03T10:22:07.045 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:07
2025-11-03T10:22:07.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:07.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25896763801574707s
2025-11-03T10:22:07.045 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25896763801574707
2025-11-03T10:22:07.066 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:07
2025-11-03T10:22:07.066 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:07.067 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28034043312072754s
2025-11-03T10:22:07.067 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28034043312072754
2025-11-03T10:22:08.648 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:08
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8615210056304932s
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:08.648 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5933999;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61316;2460982.84871122;10.36903833;1.3;_
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5933999;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61316;2460982.84871122;10.36903833;1.3;_
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:08.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:08.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:08.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:08.650 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5933999, teldec = -24.256586
2025-11-03T10:22:08.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5933999 -24.256586
2025-11-03T10:22:08.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5933999 -24.256586
2025-11-03T10:22:08.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5933999 -24.256586
2025-11-03T10:22:08.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5933999;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61316;2460982.84871124;10.36903833;1.3;_15.5681954262805 -24.1702339806656
2025-11-03T10:22:08.652 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5681954262805     dec_j2k = -24.1702339806656
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096875476203971;171.162351965909;_
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096875476203971;171.162351965909;_
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:08.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:08.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:08.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:08.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:08.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:08.654 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41853)
2025-11-03T10:22:08.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:08.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:08.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:08.655 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:08.655 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:08.662 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:08.662 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84871122, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875476203971, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5933999, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61316, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5681954262805, telescope_dec_j2k=-24.1702339806656, observability=1)
2025-11-03T10:22:08.684 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:08
2025-11-03T10:22:08.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:08.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02150559425354004s
2025-11-03T10:22:08.684 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02150559425354004
2025-11-03T10:22:08.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:08
2025-11-03T10:22:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10094070434570312s
2025-11-03T10:22:08.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10094070434570312
2025-11-03T10:22:10.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:10
2025-11-03T10:22:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7340784072875977s
2025-11-03T10:22:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5938767;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61364;2460982.84873146;10.36951389;1.3;_
2025-11-03T10:22:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5938767;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61364;2460982.84873146;10.36951389;1.3;_
2025-11-03T10:22:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:10.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5938767, teldec = -24.256586
2025-11-03T10:22:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5938767 -24.256586
2025-11-03T10:22:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5938767 -24.256586
2025-11-03T10:22:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5938767 -24.256586
2025-11-03T10:22:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5938767;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61364;2460982.84873148;10.36951389;1.3;_15.5686718891827 -24.1702480394429
2025-11-03T10:22:10.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5686718891827     dec_j2k = -24.1702480394429
2025-11-03T10:22:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096875676763685;171.162362694745;_
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096875676763685;171.162362694745;_
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43187)
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:10.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:10.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84873146, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875676763685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5938767, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61364, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5686718891827, telescope_dec_j2k=-24.1702480394429, observability=1)
2025-11-03T10:22:10.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:10
2025-11-03T10:22:10.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:10.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0218966007232666s
2025-11-03T10:22:10.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0218966007232666
2025-11-03T10:22:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:10
2025-11-03T10:22:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35151124000549316s
2025-11-03T10:22:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35151124000549316
2025-11-03T10:22:12.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:12
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2843174934387207s
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:12.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:12.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:12.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.594521;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61428;2460982.84875809;10.37015639;1.3;_
2025-11-03T10:22:12.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.594521;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61428;2460982.84875809;10.37015639;1.3;_
2025-11-03T10:22:12.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:12.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:12.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:12.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:12.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:12.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.594521, teldec = -24.256586
2025-11-03T10:22:12.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.594521 -24.256586
2025-11-03T10:22:12.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.594521 -24.256586
2025-11-03T10:22:12.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.594521 -24.256586
2025-11-03T10:22:12.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.594521;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61428;2460982.84875811;10.37015639;1.3;_15.5693157337372 -24.1702670392488
2025-11-03T10:22:12.702 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5693157337372     dec_j2k = -24.1702670392488
2025-11-03T10:22:12.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:12.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:12.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968754360920282;171.162357330327;_
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968754360920282;171.162357330327;_
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:12.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:12.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:12.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:12.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58753)
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:12.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:12.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:12.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:12.719 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:12.719 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:12.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:12.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:12.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:12.720 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:12.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:12.720 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84875809, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968754360920282, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.594521, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61428, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5693157337372, telescope_dec_j2k=-24.1702670392488, observability=1)
2025-11-03T10:22:12.743 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:12
2025-11-03T10:22:12.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:12.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02379775047302246s
2025-11-03T10:22:12.744 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02379775047302246
2025-11-03T10:22:12.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:12
2025-11-03T10:22:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04768252372741699s
2025-11-03T10:22:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04768252372741699
2025-11-03T10:22:14.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:14
2025-11-03T10:22:14.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:14.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6744937896728516s
2025-11-03T10:22:14.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:14.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:14.394 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:14.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:14.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:14.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:14.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:14.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5949965;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61476;2460982.84877774;10.37063056;1.3;_
2025-11-03T10:22:14.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5949965;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61476;2460982.84877774;10.37063056;1.3;_
2025-11-03T10:22:14.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:14.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:14.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:14.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5949965, teldec = -24.256586
2025-11-03T10:22:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5949965 -24.256586
2025-11-03T10:22:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5949965 -24.256586
2025-11-03T10:22:14.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5949965 -24.256586
2025-11-03T10:22:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5949965;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61476;2460982.84877777;10.37063056;1.3;_15.5697908976689 -24.1702810629036
2025-11-03T10:22:14.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5697908976689     dec_j2k = -24.1702810629036
2025-11-03T10:22:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:14.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096875676763685;171.162357330327;_
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096875676763685;171.162357330327;_
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:14.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41263)
2025-11-03T10:22:14.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:14.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:14.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:14.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:14.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:14.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:14.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:14.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84877774, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875676763685, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5949965, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5697908976689, telescope_dec_j2k=-24.1702810629036, observability=1)
2025-11-03T10:22:14.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:14
2025-11-03T10:22:14.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:14.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021701335906982422s
2025-11-03T10:22:14.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021701335906982422
2025-11-03T10:22:14.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:14
2025-11-03T10:22:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3564002513885498s
2025-11-03T10:22:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3564002513885498
2025-11-03T10:22:15.381 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:22:15
2025-11-03T10:22:15.381 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:15.381 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.9680478572845459s
2025-11-03T10:22:15.381 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9680478572845459
2025-11-03T10:22:16.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:16
2025-11-03T10:22:16.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9816360473632812s
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:16.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.595548;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61531;2460982.84880088;10.37118056;1.3;_
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.595548;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61531;2460982.84880088;10.37118056;1.3;_
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:16.397 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.595548, teldec = -24.256586
2025-11-03T10:22:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.595548 -24.256586
2025-11-03T10:22:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.595548 -24.256586
2025-11-03T10:22:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.595548 -24.256586
2025-11-03T10:22:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.595548;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61531;2460982.8488009;10.37118056;1.3;_15.570342007945 -24.1702973296889
2025-11-03T10:22:16.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.570342007945     dec_j2k = -24.1702973296889
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968761179950559;171.162362694745;_
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968761179950559;171.162362694745;_
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:16.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42403)
2025-11-03T10:22:16.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:16.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:16.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:16.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:16.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84880088, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968761179950559, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.595548, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61531, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.570342007945, telescope_dec_j2k=-24.1702973296889, observability=1)
2025-11-03T10:22:16.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:16
2025-11-03T10:22:16.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:16.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021706819534301758s
2025-11-03T10:22:16.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021706819534301758
2025-11-03T10:22:16.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:16
2025-11-03T10:22:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3716926574707031s
2025-11-03T10:22:16.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3716926574707031
2025-11-03T10:22:18.650 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:18
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.238609552383423s
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:18.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:18.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:18.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5961925;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61596;2460982.84882699;10.37182333;1.3;_
2025-11-03T10:22:18.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5961925;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61596;2460982.84882699;10.37182333;1.3;_
2025-11-03T10:22:18.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:18.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:18.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:18.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:18.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:18.653 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5961925, teldec = -24.256586
2025-11-03T10:22:18.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5961925 -24.256586
2025-11-03T10:22:18.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5961925 -24.256586
2025-11-03T10:22:18.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5961925 -24.256586
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5961925;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61596;2460982.84882701;10.37182333;1.3;_15.5709860525816 -24.170316341879
2025-11-03T10:22:18.655 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5709860525816     dec_j2k = -24.170316341879
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968755965397994;171.162362694745;_
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968755965397994;171.162362694745;_
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:18.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:18.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:18.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:18.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:18.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:18.662 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50827)
2025-11-03T10:22:18.662 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:18.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:18.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:18.663 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:18.663 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:18.670 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:18.670 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84882699, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968755965397994, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5961925, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61596, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5709860525816, telescope_dec_j2k=-24.170316341879, observability=1)
2025-11-03T10:22:18.679 [DEBUG] [Thread-88883 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:18.679 [DEBUG] [Thread-88883 (handle)] [server.py] [get_status()] Status age = 0.008390188217163086s
2025-11-03T10:22:18.679 [DEBUG] [Thread-88883 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008390188217163086
2025-11-03T10:22:18.692 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:18
2025-11-03T10:22:18.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:18.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022137880325317383s
2025-11-03T10:22:18.692 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022137880325317383
2025-11-03T10:22:18.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:18
2025-11-03T10:22:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09920835494995117s
2025-11-03T10:22:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09920835494995117
2025-11-03T10:22:18.970 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:22:18.970 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.2996213436126709s
2025-11-03T10:22:18.970 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.2996213436126709
2025-11-03T10:22:18.970 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.58919358253479 seconds ago
2025-11-03T10:22:20.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:20
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7248971462249756s
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:20.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.596668;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61643;2460982.84884719;10.3722975;1.3;_
2025-11-03T10:22:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.596668;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61643;2460982.84884719;10.3722975;1.3;_
2025-11-03T10:22:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:20.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.596668, teldec = -24.256586
2025-11-03T10:22:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.596668 -24.256586
2025-11-03T10:22:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.596668 -24.256586
2025-11-03T10:22:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.596668 -24.256586
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.596668;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61643;2460982.84884722;10.3722975;1.3;_15.5714612166782 -24.1703303703187
2025-11-03T10:22:20.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5714612166782     dec_j2k = -24.1703303703187
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968756366517422;171.162351965909;_
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968756366517422;171.162351965909;_
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:20.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52365)
2025-11-03T10:22:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:20.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:20.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:20.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:20.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:20.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84884719, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968756366517422, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.596668, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61643, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5714612166782, telescope_dec_j2k=-24.1703303703187, observability=1)
2025-11-03T10:22:20.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:20
2025-11-03T10:22:20.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:20.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022459030151367188s
2025-11-03T10:22:20.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022459030151367188
2025-11-03T10:22:20.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:20
2025-11-03T10:22:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34587740898132324s
2025-11-03T10:22:20.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34587740898132324
2025-11-03T10:22:22.457 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:22
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.041128158569336s
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:22.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:22.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5972473;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61701;2460982.84887105;10.37287528;1.3;_
2025-11-03T10:22:22.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5972473;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61701;2460982.84887105;10.37287528;1.3;_
2025-11-03T10:22:22.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:22.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:22.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:22.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:22.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:22.460 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5972473, teldec = -24.256586
2025-11-03T10:22:22.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5972473 -24.256586
2025-11-03T10:22:22.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5972473 -24.256586
2025-11-03T10:22:22.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5972473 -24.256586
2025-11-03T10:22:22.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5972473;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61701;2460982.84887108;10.37287528;1.3;_15.5720401075117 -24.1703474629567
2025-11-03T10:22:22.461 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5720401075117     dec_j2k = -24.1703474629567
2025-11-03T10:22:22.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:22.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968760377711703;171.162351965909;_
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968760377711703;171.162351965909;_
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:22.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:22.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:22.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:22.469 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57499)
2025-11-03T10:22:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:22.470 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:22.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:22.478 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84887105, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968760377711703, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5972473, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61701, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:21:22.412587', telescope_ra_j2k=15.5720401075117, telescope_dec_j2k=-24.1703474629567, observability=1)
2025-11-03T10:22:22.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:22
2025-11-03T10:22:22.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:22.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022549152374267578s
2025-11-03T10:22:22.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022549152374267578
2025-11-03T10:22:22.554 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:22.554 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:22.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:22.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:22.555 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:22.556 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:22.556 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:22.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:22.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:22.557 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:22.557 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:22:22.557 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:22.557 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:22.557 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:22.557 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:22.557 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:22:22.558 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:22:22.559 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:22.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:22
2025-11-03T10:22:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29122090339660645s
2025-11-03T10:22:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29122090339660645
2025-11-03T10:22:23.559 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:23.559 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:23.559 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:23.559 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:23.559 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:22:23.560 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:23.561 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:23.562 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:23.562 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:23.562 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:23.562 [DEBUG] [ThreadPoolExecutor-3458_0] [payload.py] [to_registers()] [0]
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48917)
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:23.564 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:23.572 [DEBUG] [ThreadPoolExecutor-3458_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:24.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:24
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.288572311401367s
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:24.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5978919;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61765;2460982.84889778;10.37351806;1.3;_
2025-11-03T10:22:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5978919;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61765;2460982.84889778;10.37351806;1.3;_
2025-11-03T10:22:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:24.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5978919, teldec = -24.256586
2025-11-03T10:22:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5978919 -24.256586
2025-11-03T10:22:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5978919 -24.256586
2025-11-03T10:22:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5978919 -24.256586
2025-11-03T10:22:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5978919;-24.256586;50.108514;89.993043;50.08601;90.12017;12.61765;2460982.8488978;10.37351806;1.3;_15.5726842523048 -24.1703664846887
2025-11-03T10:22:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5726842523048     dec_j2k = -24.1703664846887
2025-11-03T10:22:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968755564278566;171.162357330327;_
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968755564278566;171.162357330327;_
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40263)
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:24.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:24.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:24.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:24.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84889778, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968755564278566, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5978919, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61765, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5726842523048, telescope_dec_j2k=-24.1703664846887, observability=1)
2025-11-03T10:22:25.163 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:25
2025-11-03T10:22:25.163 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:25.163 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3749077320098877s
2025-11-03T10:22:25.163 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3749077320098877
2025-11-03T10:22:25.186 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:25
2025-11-03T10:22:25.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:25.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3977389335632324s
2025-11-03T10:22:25.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3977389335632324
2025-11-03T10:22:26.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:26
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6147727966308594s
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5983395;-24.256586;50.108514;89.993043;50.08601;90.12017;12.6181;2460982.84891672;10.37396444;1.3;_
2025-11-03T10:22:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5983395;-24.256586;50.108514;89.993043;50.08601;90.12017;12.6181;2460982.84891672;10.37396444;1.3;_
2025-11-03T10:22:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:26.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5983395, teldec = -24.256586
2025-11-03T10:22:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5983395 -24.256586
2025-11-03T10:22:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5983395 -24.256586
2025-11-03T10:22:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5983395 -24.256586
2025-11-03T10:22:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5983395;-24.256586;50.108514;89.993043;50.08601;90.12017;12.6181;2460982.84891675;10.37396444;1.3;_15.5731315362672 -24.1703796945478
2025-11-03T10:22:26.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5731315362672     dec_j2k = -24.1703796945478
2025-11-03T10:22:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096875877323399;171.162351965909;_
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096875877323399;171.162351965909;_
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58677)
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:26.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:26.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:26.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84891672, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096875877323399, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108514, telescope_az=89.993043, telescope_ra=15.5983395, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5731315362672, telescope_dec_j2k=-24.1703796945478, observability=1)
2025-11-03T10:22:26.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:26
2025-11-03T10:22:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022342443466186523s
2025-11-03T10:22:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022342443466186523
2025-11-03T10:22:26.760 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:26
2025-11-03T10:22:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:26.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33600401878356934s
2025-11-03T10:22:26.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33600401878356934
2025-11-03T10:22:28.753 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:28
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3285059928894043s
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:28.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:28.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:28.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:28.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:28.755 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:28.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5990033;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61877;2460982.84894392;10.37462639;1.3;_
2025-11-03T10:22:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.5990033;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61877;2460982.84894392;10.37462639;1.3;_
2025-11-03T10:22:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:28.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:28.757 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.5990033, teldec = -24.256586
2025-11-03T10:22:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.5990033 -24.256586
2025-11-03T10:22:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.5990033 -24.256586
2025-11-03T10:22:28.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.5990033 -24.256586
2025-11-03T10:22:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.5990033;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61877;2460982.84894396;10.37462639;1.3;_15.5737948676534 -24.1703992872588
2025-11-03T10:22:28.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5737948676534     dec_j2k = -24.1703992872588
2025-11-03T10:22:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:28.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968756366517422;171.162346601491;_
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968756366517422;171.162346601491;_
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:28.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:28.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:28.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40609)
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:28.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:28.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:28.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84894392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968756366517422, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.5990033, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61877, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5737948676534, telescope_dec_j2k=-24.1703992872588, observability=1)
2025-11-03T10:22:28.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:28
2025-11-03T10:22:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005955219268798828s
2025-11-03T10:22:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005955219268798828
2025-11-03T10:22:28.797 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:28
2025-11-03T10:22:28.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:28.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022312402725219727s
2025-11-03T10:22:28.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022312402725219727
2025-11-03T10:22:30.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:30
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6239087581634521s
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.599452;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61921;2460982.84896297;10.37507389;1.3;_
2025-11-03T10:22:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.599452;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61921;2460982.84896297;10.37507389;1.3;_
2025-11-03T10:22:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:30.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.599452, teldec = -24.256586
2025-11-03T10:22:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.599452 -24.256586
2025-11-03T10:22:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.599452 -24.256586
2025-11-03T10:22:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.599452 -24.256586
2025-11-03T10:22:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.599452;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61921;2460982.848963;10.37507389;1.3;_15.5742432509426 -24.1704125325824
2025-11-03T10:22:30.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5742432509426     dec_j2k = -24.1704125325824
2025-11-03T10:22:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968759174353419;171.162357330327;_
2025-11-03T10:22:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968759174353419;171.162357330327;_
2025-11-03T10:22:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:30.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41165)
2025-11-03T10:22:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:30.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:30.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:30.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84896297, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968759174353419, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.599452, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61921, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5742432509426, telescope_dec_j2k=-24.1704125325824, observability=1)
2025-11-03T10:22:30.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:30
2025-11-03T10:22:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022594451904296875s
2025-11-03T10:22:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022594451904296875
2025-11-03T10:22:30.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:30
2025-11-03T10:22:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3486003875732422s
2025-11-03T10:22:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3486003875732422
2025-11-03T10:22:32.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:32
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3464996814727783s
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:32.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6001235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61989;2460982.84899031;10.37574361;1.3;_
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6001235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61989;2460982.84899031;10.37574361;1.3;_
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:32.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:32.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:32.764 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6001235, teldec = -24.256586
2025-11-03T10:22:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6001235 -24.256586
2025-11-03T10:22:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6001235 -24.256586
2025-11-03T10:22:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6001235 -24.256586
2025-11-03T10:22:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6001235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.61989;2460982.84899034;10.37574361;1.3;_15.5749142770486 -24.170432357074
2025-11-03T10:22:32.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5749142770486     dec_j2k = -24.170432357074
2025-11-03T10:22:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968761982189415;171.162362694745;_
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968761982189415;171.162362694745;_
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40687)
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:32.771 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:32.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:32.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84899031, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968761982189415, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6001235, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.61989, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5749142770486, telescope_dec_j2k=-24.170432357074, observability=1)
2025-11-03T10:22:33.101 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:33
2025-11-03T10:22:33.101 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:33.101 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3226280212402344s
2025-11-03T10:22:33.101 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3226280212402344
2025-11-03T10:22:33.123 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:33
2025-11-03T10:22:33.123 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:33.123 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34494447708129883s
2025-11-03T10:22:33.123 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34494447708129883
2025-11-03T10:22:34.654 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:34
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8754127025604248s
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:34.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:34.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6006472;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62041;2460982.84901222;10.37626583;1.3;_
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6006472;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62041;2460982.84901222;10.37626583;1.3;_
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:34.656 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6006472, teldec = -24.256586
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6006472 -24.256586
2025-11-03T10:22:34.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6006472 -24.256586
2025-11-03T10:22:34.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6006472 -24.256586
2025-11-03T10:22:34.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6006472;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62041;2460982.84901223;10.37626583;1.3;_15.5754376075257 -24.1704478199922
2025-11-03T10:22:34.657 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5754376075257     dec_j2k = -24.1704478199922
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968763586667127;171.162351965909;_
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968763586667127;171.162351965909;_
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:34.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:34.666 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46639)
2025-11-03T10:22:34.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:34.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:34.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:34.667 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:34.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:34.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:34.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84901222, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968763586667127, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6006472, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62041, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5754376075257, telescope_dec_j2k=-24.1704478199922, observability=1)
2025-11-03T10:22:34.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:34
2025-11-03T10:22:34.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:34.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022157669067382812s
2025-11-03T10:22:34.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022157669067382812
2025-11-03T10:22:34.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:34
2025-11-03T10:22:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09114933013916016s
2025-11-03T10:22:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09114933013916016
2025-11-03T10:22:36.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:36
2025-11-03T10:22:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.726386547088623s
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6011235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62089;2460982.84903244;10.37674083;1.3;_
2025-11-03T10:22:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6011235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62089;2460982.84903244;10.37674083;1.3;_
2025-11-03T10:22:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:36.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6011235, teldec = -24.256586
2025-11-03T10:22:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6011235 -24.256586
2025-11-03T10:22:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6011235 -24.256586
2025-11-03T10:22:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6011235 -24.256586
2025-11-03T10:22:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6011235;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62089;2460982.84903247;10.37674083;1.3;_15.5759135714977 -24.1704618847955
2025-11-03T10:22:36.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5759135714977     dec_j2k = -24.1704618847955
2025-11-03T10:22:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968761982189415;171.162346601491;_
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968761982189415;171.162346601491;_
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:36.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57357)
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:36.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:36.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84903244, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968761982189415, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6011235, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62089, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5759135714977, telescope_dec_j2k=-24.1704618847955, observability=1)
2025-11-03T10:22:36.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:36
2025-11-03T10:22:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02237558364868164s
2025-11-03T10:22:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02237558364868164
2025-11-03T10:22:36.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:36
2025-11-03T10:22:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34368062019348145s
2025-11-03T10:22:36.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34368062019348145
2025-11-03T10:22:36.807 [DEBUG] [Thread-88884 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:36.807 [DEBUG] [Thread-88884 (handle)] [server.py] [get_status()] Status age = 0.3860740661621094s
2025-11-03T10:22:36.807 [DEBUG] [Thread-88884 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3860740661621094
2025-11-03T10:22:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:38
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.343482732772827s
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6017951;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62156;2460982.84905979;10.37741056;1.3;_
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6017951;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62156;2460982.84905979;10.37741056;1.3;_
2025-11-03T10:22:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:38.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6017951, teldec = -24.256586
2025-11-03T10:22:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6017951 -24.256586
2025-11-03T10:22:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6017951 -24.256586
2025-11-03T10:22:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6017951 -24.256586
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6017951;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62156;2460982.84905983;10.37741056;1.3;_15.5765846977663 -24.1704817189864
2025-11-03T10:22:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5765846977663     dec_j2k = -24.1704817189864
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968761982189415;171.162351965909;_
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968761982189415;171.162351965909;_
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49047)
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:38.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:38.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84905979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968761982189415, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6017951, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62156, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5765846977663, telescope_dec_j2k=-24.1704817189864, observability=1)
2025-11-03T10:22:38.947 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:38
2025-11-03T10:22:38.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:38.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16139721870422363s
2025-11-03T10:22:38.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16139721870422363
2025-11-03T10:22:38.976 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:38
2025-11-03T10:22:38.976 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:38.976 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19047904014587402s
2025-11-03T10:22:38.976 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19047904014587402
2025-11-03T10:22:40.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:40
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6091358661651611s
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:40.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.602234;-24.256586;50.108513;89.993043;50.08601;90.12017;12.622;2460982.84907867;10.37784833;1.3;_
2025-11-03T10:22:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.602234;-24.256586;50.108513;89.993043;50.08601;90.12017;12.622;2460982.84907867;10.37784833;1.3;_
2025-11-03T10:22:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:40.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.602234, teldec = -24.256586
2025-11-03T10:22:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.602234 -24.256586
2025-11-03T10:22:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.602234 -24.256586
2025-11-03T10:22:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.602234 -24.256586
2025-11-03T10:22:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6022622;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62202;2460982.84907869;10.37787639;1.3;_15.5770232882268 -24.1704946823719
2025-11-03T10:22:40.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5770232882268     dec_j2k = -24.1704946823719
2025-11-03T10:22:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968762383308843;171.162357330327;_
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968762383308843;171.162357330327;_
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53721)
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:40.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:40.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:40.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84907867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968762383308843, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.602234, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.622, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5770232882268, telescope_dec_j2k=-24.1704946823719, observability=1)
2025-11-03T10:22:40.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:40
2025-11-03T10:22:40.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02332448959350586s
2025-11-03T10:22:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02332448959350586
2025-11-03T10:22:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:40
2025-11-03T10:22:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3511981964111328s
2025-11-03T10:22:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3511981964111328
2025-11-03T10:22:42.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:42
2025-11-03T10:22:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.35520076751709s
2025-11-03T10:22:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:42.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6029067;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62267;2460982.84910613;10.37851917;1.3;_
2025-11-03T10:22:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6029067;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62267;2460982.84910613;10.37851917;1.3;_
2025-11-03T10:22:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:42.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6029067, teldec = -24.256586
2025-11-03T10:22:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6029067 -24.256586
2025-11-03T10:22:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6029067 -24.256586
2025-11-03T10:22:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6029067 -24.256586
2025-11-03T10:22:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6029067;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62267;2460982.84910616;10.37851917;1.3;_15.5776955138747 -24.1705145535388
2025-11-03T10:22:42.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5776955138747     dec_j2k = -24.1705145535388
2025-11-03T10:22:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968766795622552;171.162362694745;_
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968766795622552;171.162362694745;_
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56503)
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:42.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:42.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:42.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84910613, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968766795622552, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6029067, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62267, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5776955138747, telescope_dec_j2k=-24.1705145535388, observability=1)
2025-11-03T10:22:43.104 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:43
2025-11-03T10:22:43.104 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:43.104 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.31556200981140137s
2025-11-03T10:22:43.104 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.31556200981140137
2025-11-03T10:22:43.125 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:43
2025-11-03T10:22:43.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:43.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33711838722229004s
2025-11-03T10:22:43.125 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33711838722229004
2025-11-03T10:22:44.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:44
2025-11-03T10:22:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804046154022217s
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6034666;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62323;2460982.84912928;10.3790775;1.3;_
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6034666;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62323;2460982.84912928;10.3790775;1.3;_
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:44.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6034666, teldec = -24.256586
2025-11-03T10:22:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6034666 -24.256586
2025-11-03T10:22:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6034666 -24.256586
2025-11-03T10:22:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6034666 -24.256586
2025-11-03T10:22:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6034666;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62323;2460982.84912931;10.3790775;1.3;_15.5782550191349 -24.1705310947315
2025-11-03T10:22:44.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5782550191349     dec_j2k = -24.1705310947315
2025-11-03T10:22:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968764790025411;171.162357330327;_
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968764790025411;171.162357330327;_
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57279)
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:44.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:44.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:44.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:44.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84912928, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968764790025411, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6034666, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62323, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5782550191349, telescope_dec_j2k=-24.1705310947315, observability=1)
2025-11-03T10:22:45.145 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:45
2025-11-03T10:22:45.145 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:45.145 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35687708854675293s
2025-11-03T10:22:45.145 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35687708854675293
2025-11-03T10:22:45.166 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:45
2025-11-03T10:22:45.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:45.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37863707542419434s
2025-11-03T10:22:45.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37863707542419434
2025-11-03T10:22:46.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:46
2025-11-03T10:22:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:46.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6065104007720947s
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:46.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:46.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6039056;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62367;2460982.84914811;10.37951528;1.3;_
2025-11-03T10:22:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6039056;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62367;2460982.84914811;10.37951528;1.3;_
2025-11-03T10:22:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:46.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6039056, teldec = -24.256586
2025-11-03T10:22:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6039056 -24.256586
2025-11-03T10:22:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6039056 -24.256586
2025-11-03T10:22:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6039056 -24.256586
2025-11-03T10:22:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6039056;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62367;2460982.84914814;10.37951528;1.3;_15.5786937096774 -24.1705440654776
2025-11-03T10:22:46.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5786937096774     dec_j2k = -24.1705440654776
2025-11-03T10:22:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096876719674198;171.162357330327;_
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096876719674198;171.162357330327;_
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40821)
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:46.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:46.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:46.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84914811, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096876719674198, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6039056, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62367, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5786937096774, telescope_dec_j2k=-24.1705440654776, observability=1)
2025-11-03T10:22:46.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:46
2025-11-03T10:22:46.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022311687469482422s
2025-11-03T10:22:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022311687469482422
2025-11-03T10:22:46.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:46
2025-11-03T10:22:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3650379180908203s
2025-11-03T10:22:46.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3650379180908203
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.1296648979187012s
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:47.545 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:47.546 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:47.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.6042418;-24.256586;50.108513;89.993043;50.08601;90.12017;12.624;2460982.84916142;10.37985056;1.3;_
2025-11-03T10:22:47.547 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.6042418;-24.256586;50.108513;89.993043;50.08601;90.12017;12.624;2460982.84916142;10.37985056;1.3;_
2025-11-03T10:22:47.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:47.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:47.547 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:47.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:47.548 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:47.548 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.6042418, teldec = -24.256586
2025-11-03T10:22:47.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6042418 -24.256586
2025-11-03T10:22:47.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6042418 -24.256586
2025-11-03T10:22:47.548 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6042418 -24.256586
2025-11-03T10:22:47.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.6042418;-24.256586;50.108513;89.993043;50.08601;90.12017;12.624;2460982.84916145;10.37985056;1.3;_15.5790296727122 -24.170553999665
2025-11-03T10:22:47.549 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.5790296727122     dec_j2k = -24.170553999665
2025-11-03T10:22:47.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:47.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:47.549 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968765993383695;171.162351965909;_
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968765993383695;171.162351965909;_
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:47.550 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:47.551 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:47.552 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:47.552 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:47.552 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48765)
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:47.553 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:47.561 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:47.561 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84916142, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968765993383695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6042418, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.624, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5790296727122, telescope_dec_j2k=-24.170553999665, observability=1)
2025-11-03T10:22:48.572 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:48.572 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:48.572 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:48.572 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:48.573 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:22:48.574 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:22:48.575 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:48.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:48
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2097101211547852s
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.604578;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62434;2460982.8491756;10.38018583;1.3;_
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.604578;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62434;2460982.8491756;10.38018583;1.3;_
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:48.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.604578, teldec = -24.256586
2025-11-03T10:22:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.604578 -24.256586
2025-11-03T10:22:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.604578 -24.256586
2025-11-03T10:22:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.604578 -24.256586
2025-11-03T10:22:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.604578;-24.256586;50.108513;89.993043;50.08601;90.12017;12.62434;2460982.84917562;10.38018583;1.3;_15.5793656357704 -24.1705639345309
2025-11-03T10:22:48.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5793656357704     dec_j2k = -24.1705639345309
2025-11-03T10:22:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096876920233912;171.162357330327;_
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096876920233912;171.162357330327;_
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55867)
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:48.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:48.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8491756, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096876920233912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.604578, telescope_dec=-24.256586, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62434, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5793656357704, telescope_dec_j2k=-24.1705639345309, observability=1)
2025-11-03T10:22:49.011 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:49
2025-11-03T10:22:49.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:49.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22487354278564453s
2025-11-03T10:22:49.011 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22487354278564453
2025-11-03T10:22:49.033 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:49
2025-11-03T10:22:49.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:49.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24672913551330566s
2025-11-03T10:22:49.033 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24672913551330566
2025-11-03T10:22:50.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:50
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9845411777496338s
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6051375;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6249;2460982.84919876;10.38074389;1.3;_
2025-11-03T10:22:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6051375;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6249;2460982.84919876;10.38074389;1.3;_
2025-11-03T10:22:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:50.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6051375, teldec = -24.256585
2025-11-03T10:22:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6051375 -24.256585
2025-11-03T10:22:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6051375 -24.256585
2025-11-03T10:22:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6051375 -24.256585
2025-11-03T10:22:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6051375;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6249;2460982.84919878;10.38074389;1.3;_15.5799247416649 -24.1705794695491
2025-11-03T10:22:50.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5799247416649     dec_j2k = -24.1705794695491
2025-11-03T10:22:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968767597861408;171.162362694745;_
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968767597861408;171.162362694745;_
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:50.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:50.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46491)
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:50.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:50.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:50.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84919876, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968767597861408, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6051375, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6249, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5799247416649, telescope_dec_j2k=-24.1705794695491, observability=1)
2025-11-03T10:22:51.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:51
2025-11-03T10:22:51.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:51.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35748934745788574s
2025-11-03T10:22:51.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35748934745788574
2025-11-03T10:22:51.170 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:51
2025-11-03T10:22:51.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:51.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38094496726989746s
2025-11-03T10:22:51.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38094496726989746
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Status age = 1.6667604446411133s
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:52.456 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:52.457 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:52.458 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 17;15.6056041;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62537;2460982.84921826;10.38120917;1.3;_
2025-11-03T10:22:52.458 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response 17;15.6056041;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62537;2460982.84921826;10.38120917;1.3;_
2025-11-03T10:22:52.458 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:52.458 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:52.458 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:52.459 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:52.459 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:52.459 [INFO] [Thread-88885 (handle)] [driver.py] [get_status()] Telra = 15.6056041, teldec = -24.256585
2025-11-03T10:22:52.459 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6056041 -24.256585
2025-11-03T10:22:52.459 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6056041 -24.256585
2025-11-03T10:22:52.459 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6056041 -24.256585
2025-11-03T10:22:52.460 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 17;15.6056041;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62537;2460982.84921829;10.38120917;1.3;_15.5803910129151 -24.1705932604863
2025-11-03T10:22:52.460 [INFO] [Thread-88885 (handle)] [driver.py] [get_status()] ra_j2k = 15.5803910129151     dec_j2k = -24.1705932604863
2025-11-03T10:22:52.460 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:52.460 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:52.460 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 140;0.0968775219130541;171.162357330327;_
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response 140;0.0968775219130541;171.162357330327;_
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:52.461 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:52.462 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:52.463 [DEBUG] [Thread-88885 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:52.463 [DEBUG] [Thread-88885 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:52.463 [DEBUG] [Thread-88885 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45195)
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:52.466 [DEBUG] [Thread-88885 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:52.474 [DEBUG] [Thread-88885 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:52.474 [INFO] [Thread-88885 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84921826, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968775219130541, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6056041, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62537, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5803910129151, telescope_dec_j2k=-24.1705932604863, observability=1)
2025-11-03T10:22:52.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:52
2025-11-03T10:22:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2922482490539551s
2025-11-03T10:22:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2922482490539551
2025-11-03T10:22:53.461 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:53
2025-11-03T10:22:53.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:53.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9867305755615234s
2025-11-03T10:22:53.461 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9867305755615234
2025-11-03T10:22:53.483 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:53
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.008713722229004s
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:53.483 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:53.484 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:53.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.605884;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62565;2460982.84923015;10.38148833;1.3;_
2025-11-03T10:22:53.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.605884;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62565;2460982.84923015;10.38148833;1.3;_
2025-11-03T10:22:53.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:53.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:53.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:53.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:53.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:53.486 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.605884, teldec = -24.256585
2025-11-03T10:22:53.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.605884 -24.256585
2025-11-03T10:22:53.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.605884 -24.256585
2025-11-03T10:22:53.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.605884 -24.256585
2025-11-03T10:22:53.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.605884;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62565;2460982.84923017;10.38148833;1.3;_15.5806707157293 -24.1706015339021
2025-11-03T10:22:53.488 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5806707157293     dec_j2k = -24.1706015339021
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096876920233912;171.162351965909;_
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096876920233912;171.162351965909;_
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:53.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:53.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:53.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:53.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:53.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:53.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:53.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:53.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:53.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:53.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:53.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:53.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60685)
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:53.492 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:53.499 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:53.499 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:53.499 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:53.499 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:53.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:53.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:53.500 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:53.500 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:53.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:53.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84923015, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096876920233912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.605884, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62565, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5806707157293, telescope_dec_j2k=-24.1706015339021, observability=1)
2025-11-03T10:22:54.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:54
2025-11-03T10:22:54.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2637348175048828s
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:54.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6062484;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62601;2460982.84924495;10.38185167;1.3;_
2025-11-03T10:22:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6062484;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62601;2460982.84924495;10.38185167;1.3;_
2025-11-03T10:22:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:54.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:54.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6062484, teldec = -24.256585
2025-11-03T10:22:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6062484 -24.256585
2025-11-03T10:22:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6062484 -24.256585
2025-11-03T10:22:54.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6062484 -24.256585
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6062484;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62601;2460982.84924499;10.38185167;1.3;_15.5810348590387 -24.1706123057129
2025-11-03T10:22:54.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5810348590387     dec_j2k = -24.1706123057129
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968768801219692;171.162362694745;_
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968768801219692;171.162362694745;_
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:54.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:54.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40011)
2025-11-03T10:22:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:54.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:54.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:54.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:54.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:54.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:54.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84924495, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968768801219692, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6062484, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62601, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5810348590387, telescope_dec_j2k=-24.1706123057129, observability=1)
2025-11-03T10:22:54.862 [DEBUG] [Thread-88886 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:54.862 [DEBUG] [Thread-88886 (handle)] [server.py] [get_status()] Status age = 0.08041167259216309s
2025-11-03T10:22:54.862 [DEBUG] [Thread-88886 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08041167259216309
2025-11-03T10:22:56.150 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:56
2025-11-03T10:22:56.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:56.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3684747219085693s
2025-11-03T10:22:56.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:56.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:56.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:56.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:56.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:56.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:56.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:56.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6066408;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6264;2460982.84926103;10.38224306;1.3;_
2025-11-03T10:22:56.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6066408;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6264;2460982.84926103;10.38224306;1.3;_
2025-11-03T10:22:56.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:56.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:56.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:56.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:56.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:56.154 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6066408, teldec = -24.256585
2025-11-03T10:22:56.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6066408 -24.256585
2025-11-03T10:22:56.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6066408 -24.256585
2025-11-03T10:22:56.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6066408 -24.256585
2025-11-03T10:22:56.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6066408;-24.256585;50.108513;89.993043;50.08601;90.12017;12.6264;2460982.84926105;10.38224306;1.3;_15.5814269826552 -24.1706239061057
2025-11-03T10:22:56.155 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5814269826552     dec_j2k = -24.1706239061057
2025-11-03T10:22:56.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:56.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:56.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968770405697404;171.162357330327;_
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968770405697404;171.162357330327;_
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:56.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:56.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:56.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:56.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:56.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43219)
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:56.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:56.166 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:56.166 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84926103, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968770405697404, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6066408, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6264, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5814269826552, telescope_dec_j2k=-24.1706239061057, observability=1)
2025-11-03T10:22:56.191 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:56
2025-11-03T10:22:56.191 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:56.191 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024508953094482422s
2025-11-03T10:22:56.191 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024508953094482422
2025-11-03T10:22:56.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:56
2025-11-03T10:22:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5960237979888916s
2025-11-03T10:22:56.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5960237979888916
2025-11-03T10:22:58.143 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.9771265983581543s
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:58.145 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:58.145 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:58
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9791336059570312s
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:58.146 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.8492841;10.38280139;1.3;_
2025-11-03T10:22:58.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:58.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:58.146 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.8492841;10.38280139;1.3;_
2025-11-03T10:22:58.147 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:58.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.84928411;10.38280139;1.3;_
2025-11-03T10:22:58.147 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:58.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.84928411;10.38280139;1.3;_
2025-11-03T10:22:58.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:58.148 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:58.148 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:58.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:58.149 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:58.149 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6072007, teldec = -24.256585
2025-11-03T10:22:58.149 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:58.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:58.150 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6072007, teldec = -24.256585
2025-11-03T10:22:58.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.150 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.84928416;10.38280139;1.3;_15.5819864883501 -24.1706404598452
2025-11-03T10:22:58.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.151 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.5819864883501     dec_j2k = -24.1706404598452
2025-11-03T10:22:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:58.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6072007 -24.256585
2025-11-03T10:22:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968770004577976;171.162368059163;_
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968770004577976;171.162368059163;_
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6072007;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62696;2460982.84928417;10.38280139;1.3;_15.5819864883501 -24.1706404598452
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:58.152 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5819864883501     dec_j2k = -24.1706404598452
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:58.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:58.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968770004577976;171.162368059163;_
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968770004577976;171.162368059163;_
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:22:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:58.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:58.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:58.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:58.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:58.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:58.161 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60357)
2025-11-03T10:22:58.162 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:58.162 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:58.162 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:58.162 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:58.162 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50939)
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:58.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:58.163 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:58.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:58.163 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:58.164 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:58.164 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:58.164 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:58.164 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:58.164 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:58.164 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8492841, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968770004577976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6072007, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5819864883501, telescope_dec_j2k=-24.1706404598452, observability=1)
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:58.164 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:58.165 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84928411, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968770004577976, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6072007, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62696, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5819864883501, telescope_dec_j2k=-24.1706404598452, observability=1)
2025-11-03T10:22:58.186 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:58
2025-11-03T10:22:58.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:58.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021750450134277344s
2025-11-03T10:22:58.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021750450134277344
2025-11-03T10:22:58.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:58
2025-11-03T10:22:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.599132776260376s
2025-11-03T10:22:58.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.599132776260376
2025-11-03T10:22:59.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:59
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2307226657867432s
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:22:59.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:22:59.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:22:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6075277;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62729;2460982.84929858;10.3831275;1.3;_
2025-11-03T10:22:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6075277;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62729;2460982.84929858;10.3831275;1.3;_
2025-11-03T10:22:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:22:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:22:59.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:22:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:59.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:22:59.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6075277, teldec = -24.256585
2025-11-03T10:22:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6075277 -24.256585
2025-11-03T10:22:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6075277 -24.256585
2025-11-03T10:22:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6075277 -24.256585
2025-11-03T10:22:59.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6075277;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62729;2460982.8492986;10.3831275;1.3;_15.5823132580931 -24.1706501286427
2025-11-03T10:22:59.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5823132580931     dec_j2k = -24.1706501286427
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968770405697404;171.162368059163;_
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968770405697404;171.162368059163;_
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:59.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:22:59.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:22:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:22:59.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:22:59.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40917)
2025-11-03T10:22:59.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:22:59.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:22:59.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:22:59.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:22:59.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:22:59.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:22:59.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:22:59.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84929858, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968770405697404, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6075277, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62729, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5823132580931, telescope_dec_j2k=-24.1706501286427, observability=1)
2025-11-03T10:22:59.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:22:59
2025-11-03T10:22:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:22:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022620677947998047s
2025-11-03T10:22:59.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022620677947998047
2025-11-03T10:23:00.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:00
2025-11-03T10:23:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:00.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3515396118164062s
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:00.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6079199;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62768;2460982.84931444;10.38351861;1.3;_
2025-11-03T10:23:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6079199;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62768;2460982.84931444;10.38351861;1.3;_
2025-11-03T10:23:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:00.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6079199, teldec = -24.256585
2025-11-03T10:23:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6079199 -24.256585
2025-11-03T10:23:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6079199 -24.256585
2025-11-03T10:23:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6079199 -24.256585
2025-11-03T10:23:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6079199;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62768;2460982.84931448;10.38351861;1.3;_15.5827051819549 -24.1706617261317
2025-11-03T10:23:00.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5827051819549     dec_j2k = -24.1706617261317
2025-11-03T10:23:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968769603458548;171.162357330327;_
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968769603458548;171.162357330327;_
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:00.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44711)
2025-11-03T10:23:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:00.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:00.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:00.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:00.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84931444, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968769603458548, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6079199, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62768, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5827051819549, telescope_dec_j2k=-24.1706617261317, observability=1)
2025-11-03T10:23:01.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:01
2025-11-03T10:23:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.613140344619751s
2025-11-03T10:23:01.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.613140344619751
2025-11-03T10:23:01.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:01
2025-11-03T10:23:01.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:01.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6356580257415771s
2025-11-03T10:23:01.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6356580257415771
2025-11-03T10:23:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:02
2025-11-03T10:23:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824488162994385s
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6084803;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62824;2460982.84933758;10.3840775;1.3;_
2025-11-03T10:23:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6084803;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62824;2460982.84933758;10.3840775;1.3;_
2025-11-03T10:23:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6084803, teldec = -24.256585
2025-11-03T10:23:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6084803 -24.256585
2025-11-03T10:23:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6084803 -24.256585
2025-11-03T10:23:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6084803 -24.256585
2025-11-03T10:23:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6084803;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62824;2460982.8493376;10.3840775;1.3;_15.5832651874467 -24.1706782989528
2025-11-03T10:23:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5832651874467     dec_j2k = -24.1706782989528
2025-11-03T10:23:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968771609055688;171.162357330327;_
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968771609055688;171.162357330327;_
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:02.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43007)
2025-11-03T10:23:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:02.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:02.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84933758, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968771609055688, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6084803, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62824, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5832651874467, telescope_dec_j2k=-24.1706782989528, observability=1)
2025-11-03T10:23:04.106 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:04
2025-11-03T10:23:04.106 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.321251630783081s
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:04.107 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:04.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:04.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:04.108 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:04.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6088441;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62861;2460982.8493531;10.38444028;1.3;_
2025-11-03T10:23:04.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6088441;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62861;2460982.8493531;10.38444028;1.3;_
2025-11-03T10:23:04.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:04.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:04.109 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:04.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:04.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:04.110 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6088441, teldec = -24.256585
2025-11-03T10:23:04.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6088441 -24.256585
2025-11-03T10:23:04.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6088441 -24.256585
2025-11-03T10:23:04.110 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6088441 -24.256585
2025-11-03T10:23:04.111 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6088441;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62861;2460982.84935314;10.38444028;1.3;_15.5836287313753 -24.1706890586906
2025-11-03T10:23:04.111 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5836287313753     dec_j2k = -24.1706890586906
2025-11-03T10:23:04.111 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:04.111 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:04.111 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968774015772257;171.162357330327;_
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968774015772257;171.162357330327;_
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:04.112 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:04.113 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:04.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:04.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:04.114 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38055)
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:04.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:04.125 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:04.125 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:04.125 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:04.126 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:04.126 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8493531, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968774015772257, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6088441, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62861, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5836287313753, telescope_dec_j2k=-24.1706890586906, observability=1)
2025-11-03T10:23:04.148 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:04
2025-11-03T10:23:04.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:04.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021982192993164062s
2025-11-03T10:23:04.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021982192993164062
2025-11-03T10:23:04.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:04
2025-11-03T10:23:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6431331634521484s
2025-11-03T10:23:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6431331634521484
2025-11-03T10:23:05.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:05
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2769789695739746s
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:05.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6092265;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62899;2460982.8493681;10.38482167;1.3;_
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6092265;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62899;2460982.8493681;10.38482167;1.3;_
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:05.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:05.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:05.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:05.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:05.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6092265, teldec = -24.256585
2025-11-03T10:23:05.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6092265 -24.256585
2025-11-03T10:23:05.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6092265 -24.256585
2025-11-03T10:23:05.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6092265 -24.256585
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6092265;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62899;2460982.84936814;10.38482167;1.3;_15.5840108622413 -24.1707003693965
2025-11-03T10:23:05.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5840108622413     dec_j2k = -24.1707003693965
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968777625847109;171.162368059163;_
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968777625847109;171.162368059163;_
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:05.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:05.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:05.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:05.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:05.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38225)
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:05.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:05.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:05.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8493681, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968777625847109, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6092265, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62899, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5840108622413, telescope_dec_j2k=-24.1707003693965, observability=1)
2025-11-03T10:23:05.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:05
2025-11-03T10:23:05.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:05.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022202730178833008s
2025-11-03T10:23:05.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022202730178833008
2025-11-03T10:23:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:06
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3463985919952393s
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:06.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6095911;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62935;2460982.84938389;10.38518528;1.3;_
2025-11-03T10:23:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6095911;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62935;2460982.84938389;10.38518528;1.3;_
2025-11-03T10:23:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:06.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6095911, teldec = -24.256585
2025-11-03T10:23:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6095911 -24.256585
2025-11-03T10:23:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6095911 -24.256585
2025-11-03T10:23:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6095911 -24.256585
2025-11-03T10:23:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6095911;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62935;2460982.84938391;10.38518528;1.3;_15.5843752056634 -24.1707111544265
2025-11-03T10:23:06.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5843752056634     dec_j2k = -24.1707111544265
2025-11-03T10:23:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968780032563677;171.162357330327;_
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968780032563677;171.162357330327;_
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47169)
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:06.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:06.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:06.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:06.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:06.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84938389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968780032563677, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6095911, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62935, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5843752056634, telescope_dec_j2k=-24.1707111544265, observability=1)
2025-11-03T10:23:07.499 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:07
2025-11-03T10:23:07.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:07.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.713737964630127s
2025-11-03T10:23:07.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.713737964630127
2025-11-03T10:23:07.522 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:07
2025-11-03T10:23:07.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:07.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7364423274993896s
2025-11-03T10:23:07.522 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7364423274993896
2025-11-03T10:23:08.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:08
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9967482089996338s
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:08.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:08.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:08.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6101518;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62991;2460982.84940722;10.38574444;1.3;_
2025-11-03T10:23:08.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6101518;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62991;2460982.84940722;10.38574444;1.3;_
2025-11-03T10:23:08.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:08.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:08.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:08.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:08.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:08.785 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6101518, teldec = -24.256585
2025-11-03T10:23:08.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6101518 -24.256585
2025-11-03T10:23:08.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6101518 -24.256585
2025-11-03T10:23:08.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6101518 -24.256585
2025-11-03T10:23:08.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6101518;-24.256585;50.108513;89.993043;50.08601;90.12017;12.62991;2460982.84940725;10.38574444;1.3;_15.5849355111391 -24.1707277417359
2025-11-03T10:23:08.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5849355111391     dec_j2k = -24.1707277417359
2025-11-03T10:23:08.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:08.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:08.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096876920233912;171.162362694745;_
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096876920233912;171.162362694745;_
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:08.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:08.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:08.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:08.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:08.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:08.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:08.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:08.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:08.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:08.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50829)
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:08.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:08.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:08.801 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:08.801 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:08.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:08.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84940722, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096876920233912, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6101518, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.62991, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5849355111391, telescope_dec_j2k=-24.1707277417359, observability=1)
2025-11-03T10:23:10.152 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:10
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.350799322128296s
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:10.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:10.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:10.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6105437;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63031;2460982.84942308;10.38613528;1.3;_
2025-11-03T10:23:10.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6105437;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63031;2460982.84942308;10.38613528;1.3;_
2025-11-03T10:23:10.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:10.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:10.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:10.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:10.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:10.156 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6105437, teldec = -24.256585
2025-11-03T10:23:10.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6105437 -24.256585
2025-11-03T10:23:10.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6105437 -24.256585
2025-11-03T10:23:10.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6105437 -24.256585
2025-11-03T10:23:10.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6105437;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63031;2460982.84942311;10.38613528;1.3;_15.5853271354261 -24.1707393365167
2025-11-03T10:23:10.157 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5853271354261     dec_j2k = -24.1707393365167
2025-11-03T10:23:10.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:10.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:10.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968772812413972;171.162362694745;_
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968772812413972;171.162362694745;_
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:10.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:10.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:10.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:10.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:10.160 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42517)
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:10.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:10.174 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:10.174 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84942308, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968772812413972, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6105437, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63031, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5853271354261, telescope_dec_j2k=-24.1707393365167, observability=1)
2025-11-03T10:23:10.196 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:10
2025-11-03T10:23:10.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:10.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02151942253112793s
2025-11-03T10:23:10.196 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02151942253112793
2025-11-03T10:23:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:10
2025-11-03T10:23:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5902538299560547s
2025-11-03T10:23:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5902538299560547
2025-11-03T10:23:11.698 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:11
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5243937969207764s
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:11.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:11.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.610954;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63072;2460982.84944098;10.38654444;1.3;_
2025-11-03T10:23:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.610954;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63072;2460982.84944098;10.38654444;1.3;_
2025-11-03T10:23:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:11.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:11.702 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.610954, teldec = -24.256585
2025-11-03T10:23:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.610954 -24.256585
2025-11-03T10:23:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.610954 -24.256585
2025-11-03T10:23:11.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.610954 -24.256585
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.610954;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63072;2460982.84944101;10.38654444;1.3;_15.5857371468024 -24.1707514766669
2025-11-03T10:23:11.703 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5857371468024     dec_j2k = -24.1707514766669
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968776021369397;171.162357330327;_
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968776021369397;171.162357330327;_
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:11.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:11.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:11.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:11.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:11.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46875)
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:11.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:11.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:11.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:11.715 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:11.715 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:11.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:11.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:11.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:11.716 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:11.716 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:11.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84944098, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968776021369397, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.610954, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63072, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5857371468024, telescope_dec_j2k=-24.1707514766669, observability=1)
2025-11-03T10:23:11.737 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:11
2025-11-03T10:23:11.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:11.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021447420120239258s
2025-11-03T10:23:11.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021447420120239258
2025-11-03T10:23:12.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:12
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0570755004882812s
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6112621;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63102;2460982.84945341;10.38685167;1.3;_
2025-11-03T10:23:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6112621;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63102;2460982.84945341;10.38685167;1.3;_
2025-11-03T10:23:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:12.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6112621, teldec = -24.256585
2025-11-03T10:23:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6112621 -24.256585
2025-11-03T10:23:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6112621 -24.256585
2025-11-03T10:23:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6112621 -24.256585
2025-11-03T10:23:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6112621;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63102;2460982.84945344;10.38685167;1.3;_15.5860450300938 -24.1707605935381
2025-11-03T10:23:12.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5860450300938     dec_j2k = -24.1707605935381
2025-11-03T10:23:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:12.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968774015772257;171.162357330327;_
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968774015772257;171.162357330327;_
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:12.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:12.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:12.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:12.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54101)
2025-11-03T10:23:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:12.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:12.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:12.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:12.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84945341, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968774015772257, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6112621, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63102, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5860450300938, telescope_dec_j2k=-24.1707605935381, observability=1)
2025-11-03T10:23:12.968 [DEBUG] [Thread-88887 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:12.969 [DEBUG] [Thread-88887 (handle)] [server.py] [get_status()] Status age = 0.17937254905700684s
2025-11-03T10:23:12.969 [DEBUG] [Thread-88887 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17937254905700684
2025-11-03T10:23:13.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:13
2025-11-03T10:23:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6062192916870117s
2025-11-03T10:23:13.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6062192916870117
2025-11-03T10:23:13.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:13
2025-11-03T10:23:13.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:13.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6284258365631104s
2025-11-03T10:23:13.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6284258365631104
2025-11-03T10:23:14.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:14
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9765880107879639s
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:14.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6118247;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63159;2460982.84947648;10.38741278;1.3;_
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6118247;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63159;2460982.84947648;10.38741278;1.3;_
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:14.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6118247, teldec = -24.256585
2025-11-03T10:23:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6118247 -24.256585
2025-11-03T10:23:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6118247 -24.256585
2025-11-03T10:23:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6118247 -24.256585
2025-11-03T10:23:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6118247;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63159;2460982.8494765;10.38741278;1.3;_15.5866072344285 -24.1707772426897
2025-11-03T10:23:14.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5866072344285     dec_j2k = -24.1707772426897
2025-11-03T10:23:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968780834802534;171.162362694745;_
2025-11-03T10:23:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968780834802534;171.162362694745;_
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57205)
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:14.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84947648, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968780834802534, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6118247, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63159, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5866072344285, telescope_dec_j2k=-24.1707772426897, observability=1)
2025-11-03T10:23:15.442 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:23:15
2025-11-03T10:23:15.442 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:15.442 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.6579642295837402s
2025-11-03T10:23:15.442 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6579642295837402
2025-11-03T10:23:16.151 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:16
2025-11-03T10:23:16.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3674819469451904s
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:16.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:16.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6122166;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63198;2460982.84949251;10.38780361;1.3;_
2025-11-03T10:23:16.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6122166;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63198;2460982.84949251;10.38780361;1.3;_
2025-11-03T10:23:16.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:16.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:16.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:16.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:16.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:16.154 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6122166, teldec = -24.256585
2025-11-03T10:23:16.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6122166 -24.256585
2025-11-03T10:23:16.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6122166 -24.256585
2025-11-03T10:23:16.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6122166 -24.256585
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6122166;-24.256585;50.108513;89.993043;50.08601;90.12017;12.63198;2460982.84949253;10.38780361;1.3;_15.5869988588519 -24.1707888413968
2025-11-03T10:23:16.156 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5869988588519     dec_j2k = -24.1707888413968
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968777224727681;171.162351965909;_
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968777224727681;171.162351965909;_
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:16.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:16.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53643)
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:16.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:16.166 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:16.167 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84949251, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968777224727681, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108513, telescope_az=89.993043, telescope_ra=15.6122166, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63198, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5869988588519, telescope_dec_j2k=-24.1707888413968, observability=1)
2025-11-03T10:23:16.189 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:16
2025-11-03T10:23:16.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:16.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022391557693481445s
2025-11-03T10:23:16.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022391557693481445
2025-11-03T10:23:16.804 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:16
2025-11-03T10:23:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6373417377471924s
2025-11-03T10:23:16.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6373417377471924
2025-11-03T10:23:18.148 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:18
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813547134399414s
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:18.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:18.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:18.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6127676;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63253;2460982.84951562;10.38835306;1.3;_
2025-11-03T10:23:18.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6127676;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63253;2460982.84951562;10.38835306;1.3;_
2025-11-03T10:23:18.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:18.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:18.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:18.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:18.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:18.151 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6127676, teldec = -24.256585
2025-11-03T10:23:18.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6127676 -24.256585
2025-11-03T10:23:18.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6127676 -24.256585
2025-11-03T10:23:18.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6127676 -24.256585
2025-11-03T10:23:18.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6127676;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63253;2460982.84951565;10.38835306;1.3;_15.5875494714535 -24.1708051503966
2025-11-03T10:23:18.152 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5875494714535     dec_j2k = -24.1708051503966
2025-11-03T10:23:18.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:18.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:18.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968778829205393;171.162362694745;_
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968778829205393;171.162362694745;_
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:18.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:18.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:18.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:18.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:18.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:18.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:18.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:18.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:18.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:18.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37551)
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:18.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:18.164 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:18.165 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84951562, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968778829205393, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6127676, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63253, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5875494714535, telescope_dec_j2k=-24.1708051503966, observability=1)
2025-11-03T10:23:18.186 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:18
2025-11-03T10:23:18.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:18.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021918535232543945s
2025-11-03T10:23:18.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021918535232543945
2025-11-03T10:23:18.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:18
2025-11-03T10:23:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.598388671875s
2025-11-03T10:23:18.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.598388671875
2025-11-03T10:23:19.030 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:23:19.030 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8656549453735352s
2025-11-03T10:23:19.030 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8656549453735352
2025-11-03T10:23:19.030 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.588437557220459 seconds ago
2025-11-03T10:23:20.152 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:20
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9872639179229736s
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:20.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:20.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:20.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6133283;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63309;2460982.84953882;10.38891222;1.3;_
2025-11-03T10:23:20.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6133283;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63309;2460982.84953882;10.38891222;1.3;_
2025-11-03T10:23:20.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:20.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:20.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:20.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:20.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:20.155 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6133283, teldec = -24.256585
2025-11-03T10:23:20.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6133283 -24.256585
2025-11-03T10:23:20.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6133283 -24.256585
2025-11-03T10:23:20.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6133283 -24.256585
2025-11-03T10:23:20.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6133283;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63309;2460982.84953884;10.38891222;1.3;_15.5881097773 -24.1708217483714
2025-11-03T10:23:20.156 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5881097773     dec_j2k = -24.1708217483714
2025-11-03T10:23:20.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:20.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:20.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:20.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968782840399674;171.162357330327;_
2025-11-03T10:23:20.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968782840399674;171.162357330327;_
2025-11-03T10:23:20.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:20.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:20.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:20.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:20.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:20.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:20.158 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:20.159 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59451)
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:20.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:20.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:20.168 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:20.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:20.168 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84953882, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968782840399674, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6133283, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63309, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5881097773, telescope_dec_j2k=-24.1708217483714, observability=1)
2025-11-03T10:23:20.189 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:20
2025-11-03T10:23:20.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:20.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021271944046020508s
2025-11-03T10:23:20.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021271944046020508
2025-11-03T10:23:20.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:20
2025-11-03T10:23:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5975134372711182s
2025-11-03T10:23:20.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5975134372711182
2025-11-03T10:23:21.556 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:21
2025-11-03T10:23:21.556 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:21.556 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.388864278793335s
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:21.557 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:21.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6137202;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63348;2460982.84955507;10.38930306;1.3;_
2025-11-03T10:23:21.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6137202;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63348;2460982.84955507;10.38930306;1.3;_
2025-11-03T10:23:21.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:21.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:21.558 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:21.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:21.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:21.560 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6137202, teldec = -24.256585
2025-11-03T10:23:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6137202 -24.256585
2025-11-03T10:23:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6137202 -24.256585
2025-11-03T10:23:21.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6137202 -24.256585
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6137202;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63348;2460982.84955509;10.38930306;1.3;_15.5885014018462 -24.1708333506055
2025-11-03T10:23:21.561 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5885014018462     dec_j2k = -24.1708333506055
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968782439280246;171.162357330327;_
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968782439280246;171.162357330327;_
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:21.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:21.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:21.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:21.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:21.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:21.568 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41677)
2025-11-03T10:23:21.568 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:21.568 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:21.568 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:21.568 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:21.569 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:21.575 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:21.576 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:21.576 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84955507, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968782439280246, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6137202, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63348, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:22:22.554085', telescope_ra_j2k=15.5885014018462, telescope_dec_j2k=-24.1708333506055, observability=1)
2025-11-03T10:23:21.601 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:21
2025-11-03T10:23:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025461196899414062s
2025-11-03T10:23:21.601 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025461196899414062
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:22.697 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:22.697 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:22.698 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:22.698 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:22.698 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:22.698 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:23:22.698 [INFO] [ThreadPoolExecutor-3459_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:23:22.698 [INFO] [ThreadPoolExecutor-3459_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:23:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:22
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1921193599700928s
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6140469;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63381;2460982.8495691;10.38962889;1.3;_
2025-11-03T10:23:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6140469;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63381;2460982.8495691;10.38962889;1.3;_
2025-11-03T10:23:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6140469, teldec = -24.256585
2025-11-03T10:23:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6140469 -24.256585
2025-11-03T10:23:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6140469 -24.256585
2025-11-03T10:23:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6140469 -24.256585
2025-11-03T10:23:22.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6140469;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63381;2460982.84956912;10.38962889;1.3;_15.5888278722438 -24.1708430232902
2025-11-03T10:23:22.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5888278722438     dec_j2k = -24.1708430232902
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968780433683105;171.162351965909;_
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968780433683105;171.162351965909;_
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46063)
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:22.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:22.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:22.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8495691, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968780433683105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6140469, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5888278722438, telescope_dec_j2k=-24.1708430232902, observability=1)
2025-11-03T10:23:24.115 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:24
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3273200988769531s
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:24.115 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:24.116 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:24.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6144394;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6342;2460982.84958469;10.39002028;1.3;_
2025-11-03T10:23:24.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6144394;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6342;2460982.84958469;10.39002028;1.3;_
2025-11-03T10:23:24.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:24.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:24.117 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:24.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:24.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:24.118 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6144394, teldec = -24.256585
2025-11-03T10:23:24.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6144394 -24.256585
2025-11-03T10:23:24.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6144394 -24.256585
2025-11-03T10:23:24.118 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6144394 -24.256585
2025-11-03T10:23:24.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6144394;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6342;2460982.84958471;10.39002028;1.3;_15.5892200964271 -24.1708546449756
2025-11-03T10:23:24.119 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5892200964271     dec_j2k = -24.1708546449756
2025-11-03T10:23:24.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:24.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:24.119 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968778026966537;171.162351965909;_
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968778026966537;171.162351965909;_
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:24.120 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:24.121 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:24.122 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:24.122 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:24.123 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39267)
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:24.130 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:24.138 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:24.139 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84958469, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968778026966537, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6144394, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6342, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5892200964271, telescope_dec_j2k=-24.1708546449756, observability=1)
2025-11-03T10:23:24.162 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:24
2025-11-03T10:23:24.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:24.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023259639739990234s
2025-11-03T10:23:24.162 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023259639739990234
2025-11-03T10:23:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:24
2025-11-03T10:23:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.626408576965332s
2025-11-03T10:23:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.626408576965332
2025-11-03T10:23:26.150 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:26
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0113534927368164s
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:26.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:26.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:26.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6149998;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63476;2460982.84960824;10.39057917;1.3;_
2025-11-03T10:23:26.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6149998;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63476;2460982.84960824;10.39057917;1.3;_
2025-11-03T10:23:26.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:26.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:26.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:26.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:26.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:26.153 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6149998, teldec = -24.256585
2025-11-03T10:23:26.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6149998 -24.256585
2025-11-03T10:23:26.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6149998 -24.256585
2025-11-03T10:23:26.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6149998 -24.256585
2025-11-03T10:23:26.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6149998;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63476;2460982.84960826;10.39057917;1.3;_15.5897801026797 -24.1708712396748
2025-11-03T10:23:26.154 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5897801026797     dec_j2k = -24.1708712396748
2025-11-03T10:23:26.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:26.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:26.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:26.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968782439280246;171.162346601491;_
2025-11-03T10:23:26.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968782439280246;171.162346601491;_
2025-11-03T10:23:26.155 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:26.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:26.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:26.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:26.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:26.162 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40767)
2025-11-03T10:23:26.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:26.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:26.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:26.163 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:26.163 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:26.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:26.170 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84960824, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968782439280246, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6149998, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63476, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5897801026797, telescope_dec_j2k=-24.1708712396748, observability=1)
2025-11-03T10:23:26.192 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:26
2025-11-03T10:23:26.192 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:26.192 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021826982498168945s
2025-11-03T10:23:26.192 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021826982498168945
2025-11-03T10:23:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:26
2025-11-03T10:23:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5961184501647949s
2025-11-03T10:23:26.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5961184501647949
2025-11-03T10:23:27.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:27
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2266826629638672s
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:27.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:27.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6153357;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6351;2460982.84962266;10.39091417;1.3;_
2025-11-03T10:23:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6153357;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6351;2460982.84962266;10.39091417;1.3;_
2025-11-03T10:23:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:27.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:27.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6153357, teldec = -24.256585
2025-11-03T10:23:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6153357 -24.256585
2025-11-03T10:23:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6153357 -24.256585
2025-11-03T10:23:27.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6153357 -24.256585
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6153357;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6351;2460982.8496227;10.39091417;1.3;_15.5901157667015 -24.1708811873266
2025-11-03T10:23:27.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5901157667015     dec_j2k = -24.1708811873266
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968783241519102;171.162362694745;_
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968783241519102;171.162362694745;_
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:27.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:27.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:27.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:27.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:27.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:27.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42227)
2025-11-03T10:23:27.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:27.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:27.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:27.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:27.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:27.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:27.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84962266, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968783241519102, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6153357, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5901157667015, telescope_dec_j2k=-24.1708811873266, observability=1)
2025-11-03T10:23:27.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:27
2025-11-03T10:23:27.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:27.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02202916145324707s
2025-11-03T10:23:27.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02202916145324707
2025-11-03T10:23:28.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:28
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3458468914031982s
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6157276;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63549;2460982.8496385;10.391305;1.3;_
2025-11-03T10:23:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6157276;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63549;2460982.8496385;10.391305;1.3;_
2025-11-03T10:23:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:28.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6157276, teldec = -24.256585
2025-11-03T10:23:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6157276 -24.256585
2025-11-03T10:23:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6157276 -24.256585
2025-11-03T10:23:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6157276 -24.256585
2025-11-03T10:23:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6157276;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63549;2460982.84963852;10.391305;1.3;_15.5905073914116 -24.1708927942667
2025-11-03T10:23:28.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5905073914116     dec_j2k = -24.1708927942667
2025-11-03T10:23:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968782038160818;171.162357330327;_
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968782038160818;171.162357330327;_
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:28.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:28.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53673)
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:28.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:28.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:28.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:28.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:28.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:28.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:28.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:28.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8496385, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968782038160818, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6157276, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63549, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5905073914116, telescope_dec_j2k=-24.1708927942667, observability=1)
2025-11-03T10:23:29.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:29
2025-11-03T10:23:29.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:29.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6125791072845459s
2025-11-03T10:23:29.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6125791072845459
2025-11-03T10:23:29.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:29
2025-11-03T10:23:29.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:29.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6346256732940674s
2025-11-03T10:23:29.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6346256732940674
2025-11-03T10:23:30.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:30
2025-11-03T10:23:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:30.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9796903133392334s
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:30.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:30.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6162786;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63604;2460982.84966163;10.39185444;1.3;_
2025-11-03T10:23:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6162786;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63604;2460982.84966163;10.39185444;1.3;_
2025-11-03T10:23:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:30.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:30.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6162786, teldec = -24.256585
2025-11-03T10:23:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6162786 -24.256585
2025-11-03T10:23:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6162786 -24.256585
2025-11-03T10:23:30.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6162786 -24.256585
2025-11-03T10:23:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6162786;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63604;2460982.84966166;10.39185444;1.3;_15.5910580044162 -24.1709091148401
2025-11-03T10:23:30.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5910580044162     dec_j2k = -24.1709091148401
2025-11-03T10:23:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:30.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096878564823567;171.162351965909;_
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096878564823567;171.162351965909;_
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:30.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42789)
2025-11-03T10:23:30.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:30.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:30.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:30.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:30.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84966163, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096878564823567, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6162786, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63604, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5910580044162, telescope_dec_j2k=-24.1709091148401, observability=1)
2025-11-03T10:23:31.025 [DEBUG] [Thread-88888 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:31.025 [DEBUG] [Thread-88888 (handle)] [server.py] [get_status()] Status age = 0.2454371452331543s
2025-11-03T10:23:31.026 [DEBUG] [Thread-88888 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2454371452331543
2025-11-03T10:23:31.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:31
2025-11-03T10:23:31.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:31.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6159312725067139s
2025-11-03T10:23:31.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6159312725067139
2025-11-03T10:23:31.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:31
2025-11-03T10:23:31.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:31.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6393325328826904s
2025-11-03T10:23:31.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6393325328826904
2025-11-03T10:23:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:32
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9860076904296875s
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6168387;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6366;2460982.84968482;10.39241306;1.3;_
2025-11-03T10:23:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6168387;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6366;2460982.84968482;10.39241306;1.3;_
2025-11-03T10:23:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:32.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6168387, teldec = -24.256585
2025-11-03T10:23:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6168387 -24.256585
2025-11-03T10:23:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6168387 -24.256585
2025-11-03T10:23:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6168387 -24.256585
2025-11-03T10:23:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6168387;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6366;2460982.84968484;10.39241306;1.3;_15.5916177110943 -24.1709257068151
2025-11-03T10:23:32.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5916177110943     dec_j2k = -24.1709257068151
2025-11-03T10:23:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968783241519102;171.162368059163;_
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968783241519102;171.162368059163;_
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:32.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45397)
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:32.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:32.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:32.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84968482, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968783241519102, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6168387, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6366, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5916177110943, telescope_dec_j2k=-24.1709257068151, observability=1)
2025-11-03T10:23:34.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:34
2025-11-03T10:23:34.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:34.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3643407821655273s
2025-11-03T10:23:34.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:34.146 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:34.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:34.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6172025;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63697;2460982.84970079;10.39277583;1.3;_
2025-11-03T10:23:34.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6172025;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63697;2460982.84970079;10.39277583;1.3;_
2025-11-03T10:23:34.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:34.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:34.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:34.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:34.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:34.149 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6172025, teldec = -24.256585
2025-11-03T10:23:34.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6172025 -24.256585
2025-11-03T10:23:34.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6172025 -24.256585
2025-11-03T10:23:34.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6172025 -24.256585
2025-11-03T10:23:34.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6172303;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63699;2460982.84970081;10.39280361;1.3;_15.5919812556561 -24.1709364847532
2025-11-03T10:23:34.150 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5919812556561     dec_j2k = -24.1709364847532
2025-11-03T10:23:34.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:34.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968793269504803;171.162351965909;_
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968793269504803;171.162351965909;_
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:34.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:34.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:34.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:34.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:34.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:34.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:34.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:34.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:34.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:34.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:34.158 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40399)
2025-11-03T10:23:34.158 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:34.158 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:34.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:34.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:34.159 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:34.165 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:34.166 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:34.166 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84970079, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968793269504803, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6172025, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63697, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5919812556561, telescope_dec_j2k=-24.1709364847532, observability=1)
2025-11-03T10:23:34.188 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:34
2025-11-03T10:23:34.188 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:34.188 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02178955078125s
2025-11-03T10:23:34.188 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02178955078125
2025-11-03T10:23:34.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:34
2025-11-03T10:23:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6012449264526367s
2025-11-03T10:23:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6012449264526367
2025-11-03T10:23:36.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:36
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801421165466309s
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:36.146 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.617781;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63754;2460982.84972392;10.39335278;1.3;_
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.617781;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63754;2460982.84972392;10.39335278;1.3;_
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:36.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:36.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:36.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:36.148 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.617781, teldec = -24.256585
2025-11-03T10:23:36.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.617781 -24.256585
2025-11-03T10:23:36.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.617781 -24.256585
2025-11-03T10:23:36.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.617781 -24.256585
2025-11-03T10:23:36.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.617781;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63754;2460982.84972395;10.39335278;1.3;_15.5925593495256 -24.170953625022
2025-11-03T10:23:36.149 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5925593495256     dec_j2k = -24.170953625022
2025-11-03T10:23:36.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:36.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968786851593954;171.162346601491;_
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968786851593954;171.162346601491;_
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:36.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:36.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:36.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:36.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:36.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:36.157 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36361)
2025-11-03T10:23:36.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:36.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:36.157 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:36.158 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:36.158 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:36.164 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:36.165 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:36.165 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84972392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968786851593954, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.617781, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63754, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5925593495256, telescope_dec_j2k=-24.170953625022, observability=1)
2025-11-03T10:23:36.187 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:36
2025-11-03T10:23:36.187 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:36.187 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021914243698120117s
2025-11-03T10:23:36.187 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021914243698120117
2025-11-03T10:23:36.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:36
2025-11-03T10:23:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6042652130126953s
2025-11-03T10:23:36.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6042652130126953
2025-11-03T10:23:38.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:38
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9817707538604736s
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:38.147 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:38.148 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:38.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6183417;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6381;2460982.84974709;10.39391194;1.3;_
2025-11-03T10:23:38.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6183417;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6381;2460982.84974709;10.39391194;1.3;_
2025-11-03T10:23:38.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:38.149 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:38.150 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6183417, teldec = -24.256585
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6183417 -24.256585
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6183417 -24.256585
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6183417 -24.256585
2025-11-03T10:23:38.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6183417;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6381;2460982.84974711;10.39391194;1.3;_15.593119655958 -24.1709702398064
2025-11-03T10:23:38.151 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.593119655958     dec_j2k = -24.1709702398064
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968784444877386;171.162357330327;_
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968784444877386;171.162357330327;_
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:38.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:38.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:38.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:38.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:38.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44271)
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:38.155 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:38.162 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:38.163 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:38.163 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84974709, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968784444877386, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6183417, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.593119655958, telescope_dec_j2k=-24.1709702398064, observability=1)
2025-11-03T10:23:38.185 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:38
2025-11-03T10:23:38.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:38.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023004770278930664s
2025-11-03T10:23:38.186 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023004770278930664
2025-11-03T10:23:38.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:38
2025-11-03T10:23:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6064763069152832s
2025-11-03T10:23:38.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6064763069152832
2025-11-03T10:23:40.149 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:40
2025-11-03T10:23:40.149 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:40.149 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986924648284912s
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:40.150 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:40.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:40.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:40.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:40.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:40.151 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:40.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6189018;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63866;2460982.84977028;10.39447056;1.3;_
2025-11-03T10:23:40.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6189018;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63866;2460982.84977028;10.39447056;1.3;_
2025-11-03T10:23:40.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:40.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:40.152 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:40.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:40.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:40.153 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6189018, teldec = -24.256585
2025-11-03T10:23:40.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6189018 -24.256585
2025-11-03T10:23:40.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6189018 -24.256585
2025-11-03T10:23:40.153 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6189018 -24.256585
2025-11-03T10:23:40.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6189018;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63866;2460982.8497703;10.39447056;1.3;_15.593679362877 -24.1709868386866
2025-11-03T10:23:40.154 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.593679362877     dec_j2k = -24.1709868386866
2025-11-03T10:23:40.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:40.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:40.154 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968789258310523;171.162357330327;_
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968789258310523;171.162357330327;_
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:40.155 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:40.156 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:40.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:40.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:40.157 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:40.159 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43989)
2025-11-03T10:23:40.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:40.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:40.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:40.160 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:40.160 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:40.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:40.167 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84977028, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968789258310523, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6189018, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63866, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.593679362877, telescope_dec_j2k=-24.1709868386866, observability=1)
2025-11-03T10:23:40.189 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:40
2025-11-03T10:23:40.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:40.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02169036865234375s
2025-11-03T10:23:40.189 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02169036865234375
2025-11-03T10:23:40.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:40
2025-11-03T10:23:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5937776565551758s
2025-11-03T10:23:40.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5937776565551758
2025-11-03T10:23:41.602 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:41
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4350600242614746s
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:41.602 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:41.603 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:41.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.619294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63906;2460982.84978708;10.39486167;1.3;_
2025-11-03T10:23:41.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.619294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63906;2460982.84978708;10.39486167;1.3;_
2025-11-03T10:23:41.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:41.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:41.604 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:41.605 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.619294, teldec = -24.256585
2025-11-03T10:23:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.619294 -24.256585
2025-11-03T10:23:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.619294 -24.256585
2025-11-03T10:23:41.605 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.619294 -24.256585
2025-11-03T10:23:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.619294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63906;2460982.84978711;10.39486167;1.3;_15.594071287668 -24.1709984628709
2025-11-03T10:23:41.606 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.594071287668     dec_j2k = -24.1709984628709
2025-11-03T10:23:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:41.606 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968793670624231;171.162357330327;_
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968793670624231;171.162357330327;_
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:41.607 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:41.608 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:41.609 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48591)
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:41.610 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:41.617 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:41.618 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:41.618 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:41.618 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:41.618 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84978708, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968793670624231, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.619294, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63906, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.594071287668, telescope_dec_j2k=-24.1709984628709, observability=1)
2025-11-03T10:23:41.641 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:41
2025-11-03T10:23:41.641 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:41.641 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023300886154174805s
2025-11-03T10:23:41.641 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023300886154174805
2025-11-03T10:23:42.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:42
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1559333801269531s
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:42.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6196219;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63938;2460982.84980064;10.39518861;1.3;_
2025-11-03T10:23:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6196219;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63938;2460982.84980064;10.39518861;1.3;_
2025-11-03T10:23:42.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:42.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:42.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6196219, teldec = -24.256585
2025-11-03T10:23:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6196219 -24.256585
2025-11-03T10:23:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6196219 -24.256585
2025-11-03T10:23:42.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6196219 -24.256585
2025-11-03T10:23:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6196219;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63938;2460982.84980067;10.39518861;1.3;_15.5943989576033 -24.1710081820105
2025-11-03T10:23:42.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5943989576033     dec_j2k = -24.1710081820105
2025-11-03T10:23:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:42.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968792467265947;171.162357330327;_
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968792467265947;171.162357330327;_
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:42.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:42.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:42.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:42.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:42.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60607)
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:42.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:42.794 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:42.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:42.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84980064, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968792467265947, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6196219, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63938, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5943989576033, telescope_dec_j2k=-24.1710081820105, observability=1)
2025-11-03T10:23:43.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:43
2025-11-03T10:23:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6027517318725586s
2025-11-03T10:23:43.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6027517318725586
2025-11-03T10:23:43.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:43
2025-11-03T10:23:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6241850852966309s
2025-11-03T10:23:43.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6241850852966309
2025-11-03T10:23:43.575 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.575 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.575 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:43.575 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:43.575 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:23:43.576 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:43.577 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:43.578 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:43.579 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:43.579 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.579 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:43.579 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:43.579 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:43.580 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:43.581 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:43.581 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:43.581 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Park
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:23:43.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 29;15.6198464;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63961;2460982.84980998;10.3954125;1.3;_Park Command Successful
2025-11-03T10:23:44.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:23:44.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:23:44.582 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:23:44.583 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:23:44.583 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_TrackingOffAccepted
2025-11-03T10:23:44.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:44
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9716379642486572s
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:44.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6201834;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63995;2460982.8498237;10.39574861;1.3;_
2025-11-03T10:23:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6201834;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63995;2460982.8498237;10.39574861;1.3;_
2025-11-03T10:23:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:44.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6201834, teldec = -24.256585
2025-11-03T10:23:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6201834 -24.256585
2025-11-03T10:23:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6201834 -24.256585
2025-11-03T10:23:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6201834 -24.256585
2025-11-03T10:23:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6201834;-24.256585;50.108512;89.993043;50.08601;90.12017;12.63995;2460982.84982373;10.39574861;1.3;_15.5949600636898 -24.171024826676
2025-11-03T10:23:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5949600636898     dec_j2k = -24.171024826676
2025-11-03T10:23:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968784845996814;171.162362694745;_
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968784845996814;171.162362694745;_
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51273)
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:44.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:44.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:44.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8498237, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968784845996814, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6201834, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.63995, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5949600636898, telescope_dec_j2k=-24.171024826676, observability=1)
2025-11-03T10:23:45.583 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:23:45.583 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:23:45.583 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:23:45.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:23:45.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:23:46.095 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:46
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3105788230895996s
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:46.095 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:46.096 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:46.097 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:46.097 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6205477;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64031;2460982.84983909;10.39611194;1.3;_
2025-11-03T10:23:46.098 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6205477;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64031;2460982.84983909;10.39611194;1.3;_
2025-11-03T10:23:46.098 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:46.098 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:46.098 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:46.099 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:46.099 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:46.099 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6205477, teldec = -24.256585
2025-11-03T10:23:46.099 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6205477 -24.256585
2025-11-03T10:23:46.099 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6205477 -24.256585
2025-11-03T10:23:46.099 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6205477 -24.256585
2025-11-03T10:23:46.100 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6205477;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64031;2460982.84983912;10.39611194;1.3;_15.5953241081548 -24.1710356267063
2025-11-03T10:23:46.100 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5953241081548     dec_j2k = -24.1710356267063
2025-11-03T10:23:46.100 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:46.100 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:46.100 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096878364263853;171.162357330327;_
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096878364263853;171.162357330327;_
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:46.101 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:46.102 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:46.103 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:46.103 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:46.103 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:46.109 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43961)
2025-11-03T10:23:46.109 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:46.109 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:46.109 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:46.109 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:46.110 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:46.117 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:46.117 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:46.117 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:46.117 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:46.117 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:46.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:46.118 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:46.118 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:46.118 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:46.118 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84983909, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096878364263853, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6205477, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64031, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5953241081548, telescope_dec_j2k=-24.1710356267063, observability=1)
2025-11-03T10:23:46.143 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:46
2025-11-03T10:23:46.143 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:46.143 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025424480438232422s
2025-11-03T10:23:46.143 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025424480438232422
2025-11-03T10:23:46.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:23:46.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:23:46.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:23:46.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:23:46.584 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:23:46.650 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:46.650 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.532273530960083s
2025-11-03T10:23:46.650 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.532273530960083
2025-11-03T10:23:46.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:46
2025-11-03T10:23:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6579844951629639s
2025-11-03T10:23:46.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6579844951629639
2025-11-03T10:23:47.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:47
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2774157524108887s
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:47.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6209034;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64067;2460982.84985412;10.39646667;1.3;_
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6209034;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64067;2460982.84985412;10.39646667;1.3;_
2025-11-03T10:23:47.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:47.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:47.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:47.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:47.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:47.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6209034, teldec = -24.256585
2025-11-03T10:23:47.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6209034 -24.256585
2025-11-03T10:23:47.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6209034 -24.256585
2025-11-03T10:23:47.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6209034 -24.256585
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6209034;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64067;2460982.84985416;10.39646667;1.3;_15.5956795586788 -24.1710461725456
2025-11-03T10:23:47.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5956795586788     dec_j2k = -24.1710461725456
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968787252713382;171.162357330327;_
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968787252713382;171.162357330327;_
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:47.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:47.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:47.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:47.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:47.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54471)
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:47.402 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:47.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:47.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.84985412, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968787252713382, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6209034, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64067, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5956795586788, telescope_dec_j2k=-24.1710461725456, observability=1)
2025-11-03T10:23:47.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:47
2025-11-03T10:23:47.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:47.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022016286849975586s
2025-11-03T10:23:47.432 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022016286849975586
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:47.585 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:23:47.586 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:23:47.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:48.587 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:23:48.588 [DEBUG] [ThreadPoolExecutor-3458_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:48.589 [INFO] [ThreadPoolExecutor-3458_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:23:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:48
2025-11-03T10:23:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:48.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.3554036617279053s
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6212967;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64106;2460982.84986999;10.39685889;1.3;_
2025-11-03T10:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6212967;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64106;2460982.84986999;10.39685889;1.3;_
2025-11-03T10:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6212967, teldec = -24.256585
2025-11-03T10:23:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6212967 -24.256585
2025-11-03T10:23:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6212967 -24.256585
2025-11-03T10:23:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6212967 -24.256585
2025-11-03T10:23:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6212967;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64106;2460982.84987001;10.39685889;1.3;_15.5960725828622 -24.1710578340337
2025-11-03T10:23:48.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5960725828622     dec_j2k = -24.1710578340337
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968794071743659;171.162351965909;_
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968794071743659;171.162351965909;_
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:48.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51871)
2025-11-03T10:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:48.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:48.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:48.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:48.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84986999, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968794071743659, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6212967, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64106, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5960725828622, telescope_dec_j2k=-24.1710578340337, observability=1)
2025-11-03T10:23:49.102 [DEBUG] [Thread-88889 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:49.102 [DEBUG] [Thread-88889 (handle)] [server.py] [get_status()] Status age = 0.32106709480285645s
2025-11-03T10:23:49.102 [DEBUG] [Thread-88889 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32106709480285645
2025-11-03T10:23:50.256 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:50
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.4745395183563232s
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:50.256 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:50.257 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:50.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6217173;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64148;2460982.84988725;10.39727833;1.3;_
2025-11-03T10:23:50.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6217173;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64148;2460982.84988725;10.39727833;1.3;_
2025-11-03T10:23:50.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:50.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:50.258 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:50.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:50.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:50.259 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6217173, teldec = -24.256585
2025-11-03T10:23:50.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6217173 -24.256585
2025-11-03T10:23:50.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6217173 -24.256585
2025-11-03T10:23:50.259 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6217173 -24.256585
2025-11-03T10:23:50.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6217173;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64148;2460982.84988727;10.39727833;1.3;_15.5964928879362 -24.1710703059983
2025-11-03T10:23:50.260 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5964928879362     dec_j2k = -24.1710703059983
2025-11-03T10:23:50.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:50.260 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:50.261 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968793269504803;171.162351965909;_
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968793269504803;171.162351965909;_
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:50.262 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:50.263 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:50.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:50.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:50.264 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:50.270 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59675)
2025-11-03T10:23:50.271 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:50.271 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:50.271 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:50.271 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:50.271 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:50.278 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:50.279 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:50.279 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:50.279 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84988725, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968793269504803, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6217173, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64148, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5964928879362, telescope_dec_j2k=-24.1710703059983, observability=1)
2025-11-03T10:23:50.307 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:50
2025-11-03T10:23:50.307 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:50.307 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028119564056396484s
2025-11-03T10:23:50.307 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028119564056396484
2025-11-03T10:23:50.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:50
2025-11-03T10:23:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4859287738800049s
2025-11-03T10:23:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4859287738800049
2025-11-03T10:23:51.499 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:51
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.220365047454834s
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:51.499 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:51.500 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6220446;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64181;2460982.84990163;10.39760472;1.3;_
2025-11-03T10:23:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6220446;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64181;2460982.84990163;10.39760472;1.3;_
2025-11-03T10:23:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:51.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:51.502 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6220446, teldec = -24.256585
2025-11-03T10:23:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6220446 -24.256585
2025-11-03T10:23:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6220446 -24.256585
2025-11-03T10:23:51.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6220446 -24.256585
2025-11-03T10:23:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6220446;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64181;2460982.84990166;10.39760472;1.3;_15.596819958458 -24.1710800120877
2025-11-03T10:23:51.503 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.596819958458     dec_j2k = -24.1710800120877
2025-11-03T10:23:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:51.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968794472863087;171.162351965909;_
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968794472863087;171.162351965909;_
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:51.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:51.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:51.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:51.513 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49995)
2025-11-03T10:23:51.514 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:51.514 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:51.514 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:51.514 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:51.514 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:51.521 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:51.521 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84990163, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968794472863087, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6220446, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64181, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.596819958458, telescope_dec_j2k=-24.1710800120877, observability=1)
2025-11-03T10:23:51.543 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:51
2025-11-03T10:23:51.543 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:51.543 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021741867065429688s
2025-11-03T10:23:51.543 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021741867065429688
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Status age = 1.0258991718292236s
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:52.547 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 17;15.6223535;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64212;2460982.84991375;10.39791278;1.3;_
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response 17;15.6223535;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64212;2460982.84991375;10.39791278;1.3;_
2025-11-03T10:23:52.548 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:52.549 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:52.549 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:52.549 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:52.550 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:52.550 [INFO] [Thread-88890 (handle)] [driver.py] [get_status()] Telra = 15.6223535, teldec = -24.256585
2025-11-03T10:23:52.550 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6223535 -24.256585
2025-11-03T10:23:52.550 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6223535 -24.256585
2025-11-03T10:23:52.550 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6223535 -24.256585
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 17;15.6223535;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64212;2460982.84991378;10.39791278;1.3;_15.597128641901 -24.1710891731109
2025-11-03T10:23:52.551 [INFO] [Thread-88890 (handle)] [driver.py] [get_status()] ra_j2k = 15.597128641901     dec_j2k = -24.1710891731109
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 140;0.0968786851593954;171.162373423581;_
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response 140;0.0968786851593954;171.162373423581;_
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:52.551 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:52.552 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:52.552 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:52.552 [DEBUG] [Thread-88890 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:52.552 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:52.552 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:52.553 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:52.553 [DEBUG] [Thread-88890 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:52.553 [DEBUG] [Thread-88890 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:52.553 [DEBUG] [Thread-88890 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42741)
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:52.554 [DEBUG] [Thread-88890 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:52.561 [DEBUG] [Thread-88890 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:52.562 [DEBUG] [Thread-88890 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:52.562 [INFO] [Thread-88890 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84991375, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968786851593954, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6223535, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64212, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.597128641901, telescope_dec_j2k=-24.1710891731109, observability=1)
2025-11-03T10:23:52.596 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:52
2025-11-03T10:23:52.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:52.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03452157974243164s
2025-11-03T10:23:52.596 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03452157974243164
2025-11-03T10:23:52.618 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:52
2025-11-03T10:23:52.618 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:52.618 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.056003570556640625s
2025-11-03T10:23:52.618 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.056003570556640625
2025-11-03T10:23:52.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:52
2025-11-03T10:23:52.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2026054859161377s
2025-11-03T10:23:52.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2026054859161377
2025-11-03T10:23:54.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:54
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8333752155303955s
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6228582;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64262;2460982.84993515;10.39841611;1.3;_
2025-11-03T10:23:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6228582;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64262;2460982.84993515;10.39841611;1.3;_
2025-11-03T10:23:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:54.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6228582, teldec = -24.256585
2025-11-03T10:23:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6228582 -24.256585
2025-11-03T10:23:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6228582 -24.256585
2025-11-03T10:23:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6228582 -24.256585
2025-11-03T10:23:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6228582;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64262;2460982.84993517;10.39841611;1.3;_15.5976329881195 -24.1711041421845
2025-11-03T10:23:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5976329881195     dec_j2k = -24.1711041421845
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968788857191095;171.162362694745;_
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968788857191095;171.162362694745;_
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:54.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50609)
2025-11-03T10:23:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:54.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:54.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:54.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:54.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:54.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:54.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84993515, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968788857191095, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6228582, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64262, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5976329881195, telescope_dec_j2k=-24.1711041421845, observability=1)
2025-11-03T10:23:54.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:54
2025-11-03T10:23:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022187471389770508s
2025-11-03T10:23:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022187471389770508
2025-11-03T10:23:54.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:54
2025-11-03T10:23:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35829710960388184s
2025-11-03T10:23:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35829710960388184
2025-11-03T10:23:56.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:56
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.359302043914795s
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6235217;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64328;2460982.84996265;10.39907778;1.3;_
2025-11-03T10:23:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6235217;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64328;2460982.84996265;10.39907778;1.3;_
2025-11-03T10:23:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:56.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6235217, teldec = -24.256585
2025-11-03T10:23:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6235217 -24.256585
2025-11-03T10:23:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6235217 -24.256585
2025-11-03T10:23:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6235217 -24.256585
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6235217;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64328;2460982.84996267;10.39907778;1.3;_15.5982960231044 -24.1711238234744
2025-11-03T10:23:56.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5982960231044     dec_j2k = -24.1711238234744
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968795676221372;171.162357330327;_
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968795676221372;171.162357330327;_
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:56.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:56.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57321)
2025-11-03T10:23:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:56.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:56.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:56.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:56.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84996265, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968795676221372, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6235217, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64328, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5982960231044, telescope_dec_j2k=-24.1711238234744, observability=1)
2025-11-03T10:23:57.150 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:57
2025-11-03T10:23:57.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:57.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36156725883483887s
2025-11-03T10:23:57.151 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36156725883483887
2025-11-03T10:23:57.172 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:57
2025-11-03T10:23:57.172 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:57.173 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3835015296936035s
2025-11-03T10:23:57.173 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3835015296936035
2025-11-03T10:23:58.160 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:58.160 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3714427947998047s
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:23:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:23:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:23:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6239147;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64368;2460982.84997874;10.39946972;1.3;_
2025-11-03T10:23:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6239147;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64368;2460982.84997874;10.39946972;1.3;_
2025-11-03T10:23:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:23:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:23:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:23:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:23:58.164 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6239147, teldec = -24.256585
2025-11-03T10:23:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6239147 -24.256585
2025-11-03T10:23:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6239147 -24.256585
2025-11-03T10:23:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6239147 -24.256585
2025-11-03T10:23:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6239147;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64368;2460982.84997876;10.39946972;1.3;_15.5986887477129 -24.171135482206
2025-11-03T10:23:58.165 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.5986887477129     dec_j2k = -24.171135482206
2025-11-03T10:23:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:23:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:23:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968794873982515;171.162351965909;_
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968794873982515;171.162351965909;_
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:58.166 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:23:58.167 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:23:58.168 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:58.168 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:23:58.168 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42519)
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:23:58.175 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:23:58.182 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:23:58.182 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.84997874, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968794873982515, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6239147, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64368, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5986887477129, telescope_dec_j2k=-24.171135482206, observability=1)
2025-11-03T10:23:58.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:58
2025-11-03T10:23:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5835447311401367s
2025-11-03T10:23:58.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5835447311401367
2025-11-03T10:23:59.157 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:59
2025-11-03T10:23:59.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:59.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9753274917602539s
2025-11-03T10:23:59.158 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9753274917602539
2025-11-03T10:23:59.179 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:23:59
2025-11-03T10:23:59.180 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:23:59.180 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9973137378692627s
2025-11-03T10:23:59.180 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9973137378692627
2025-11-03T10:24:00.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:00
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5867319107055664s
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.624635;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6444;2460982.85000892;10.40018806;1.3;_
2025-11-03T10:24:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.624635;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6444;2460982.85000892;10.40018806;1.3;_
2025-11-03T10:24:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:00.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.624635, teldec = -24.256585
2025-11-03T10:24:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.624635 -24.256585
2025-11-03T10:24:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.624635 -24.256585
2025-11-03T10:24:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.624635 -24.256585
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.624635;-24.256585;50.108512;89.993043;50.08601;90.12017;12.6444;2460982.85000896;10.40018806;1.3;_15.5994085430526 -24.1711568530049
2025-11-03T10:24:00.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5994085430526     dec_j2k = -24.1711568530049
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968795275101944;171.162351965909;_
2025-11-03T10:24:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968795275101944;171.162351965909;_
2025-11-03T10:24:00.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:00.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:00.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38875)
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:00.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:00.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:00.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:00.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85000892, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968795275101944, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.624635, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6444, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5994085430526, telescope_dec_j2k=-24.1711568530049, observability=1)
2025-11-03T10:24:01.145 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:01
2025-11-03T10:24:01.145 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:01.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35935020446777344s
2025-11-03T10:24:01.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35935020446777344
2025-11-03T10:24:01.167 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:01
2025-11-03T10:24:01.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:01.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38079833984375s
2025-11-03T10:24:01.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38079833984375
2025-11-03T10:24:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:02
2025-11-03T10:24:02.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9763572216033936s
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:02.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6251968;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64496;2460982.85003199;10.40074833;1.3;_
2025-11-03T10:24:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6251968;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64496;2460982.85003199;10.40074833;1.3;_
2025-11-03T10:24:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:02.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:02.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6251968, teldec = -24.256585
2025-11-03T10:24:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6251968 -24.256585
2025-11-03T10:24:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6251968 -24.256585
2025-11-03T10:24:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6251968 -24.256585
2025-11-03T10:24:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6251968;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64496;2460982.85003201;10.40074833;1.3;_15.5999699495165 -24.1711735233663
2025-11-03T10:24:02.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.5999699495165     dec_j2k = -24.1711735233663
2025-11-03T10:24:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968804500848789;171.162346601491;_
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968804500848789;171.162346601491;_
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36371)
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:02.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:02.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:02.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85003199, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968804500848789, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6251968, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64496, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.5999699495165, telescope_dec_j2k=-24.1711735233663, observability=1)
2025-11-03T10:24:03.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:03
2025-11-03T10:24:03.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:03.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3645470142364502s
2025-11-03T10:24:03.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3645470142364502
2025-11-03T10:24:03.168 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:03
2025-11-03T10:24:03.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:03.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3865182399749756s
2025-11-03T10:24:03.168 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3865182399749756
2025-11-03T10:24:04.659 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:04
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.87740159034729s
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6257294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64549;2460982.85005395;10.40127944;1.3;_
2025-11-03T10:24:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6257294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64549;2460982.85005395;10.40127944;1.3;_
2025-11-03T10:24:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:04.662 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6257294, teldec = -24.256585
2025-11-03T10:24:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6257294 -24.256585
2025-11-03T10:24:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6257294 -24.256585
2025-11-03T10:24:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6257294 -24.256585
2025-11-03T10:24:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6257294;-24.256585;50.108512;89.993043;50.08601;90.12017;12.64549;2460982.85005397;10.40127944;1.3;_15.6005021764957 -24.1711893290096
2025-11-03T10:24:04.663 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6005021764957     dec_j2k = -24.1711893290096
2025-11-03T10:24:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968792467265947;171.162362694745;_
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968792467265947;171.162362694745;_
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60991)
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:04.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:04.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:04.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:04.676 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85005395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968792467265947, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108512, telescope_az=89.993043, telescope_ra=15.6257294, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64549, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6005021764957, telescope_dec_j2k=-24.1711893290096, observability=1)
2025-11-03T10:24:04.697 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:04
2025-11-03T10:24:04.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:04.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021506786346435547s
2025-11-03T10:24:04.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021506786346435547
2025-11-03T10:24:04.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:04
2025-11-03T10:24:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09012913703918457s
2025-11-03T10:24:04.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09012913703918457
2025-11-03T10:24:06.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:06
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0909175872802734s
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:06.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:06.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6263088;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64607;2460982.85007834;10.40185722;1.3;_
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6263088;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64607;2460982.85007834;10.40185722;1.3;_
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:06.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6263088, teldec = -24.256585
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6263088 -24.256585
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6263088 -24.256585
2025-11-03T10:24:06.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6263088 -24.256585
2025-11-03T10:24:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6263088;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64607;2460982.85007836;10.40185722;1.3;_15.6010811707645 -24.1712065254274
2025-11-03T10:24:06.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6010811707645     dec_j2k = -24.1712065254274
2025-11-03T10:24:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968797681818512;171.162346601491;_
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968797681818512;171.162346601491;_
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:06.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56481)
2025-11-03T10:24:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:06.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:06.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:06.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:06.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:06.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:06.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85007834, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968797681818512, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.6263088, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64607, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6010811707645, telescope_dec_j2k=-24.1712065254274, observability=1)
2025-11-03T10:24:07.154 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:07
2025-11-03T10:24:07.154 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:07.154 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37152743339538574s
2025-11-03T10:24:07.154 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37152743339538574
2025-11-03T10:24:07.175 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:07
2025-11-03T10:24:07.175 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:07.176 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39266037940979004s
2025-11-03T10:24:07.176 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39266037940979004
2025-11-03T10:24:07.232 [DEBUG] [Thread-88891 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:07.232 [DEBUG] [Thread-88891 (handle)] [server.py] [get_status()] Status age = 0.4494779109954834s
2025-11-03T10:24:07.232 [DEBUG] [Thread-88891 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4494779109954834
2025-11-03T10:24:08.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:08
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9881083965301514s
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:08.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6268698;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64663;2460982.85010153;10.40241667;1.3;_
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6268698;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64663;2460982.85010153;10.40241667;1.3;_
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:08.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6268698, teldec = -24.256585
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6268698 -24.256585
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6268698 -24.256585
2025-11-03T10:24:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6268698 -24.256585
2025-11-03T10:24:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6268698;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64663;2460982.85010155;10.40241667;1.3;_15.601641777985 -24.1712231776447
2025-11-03T10:24:08.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.601641777985     dec_j2k = -24.1712231776447
2025-11-03T10:24:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096880209413222;171.162362694745;_
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096880209413222;171.162362694745;_
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48675)
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:08.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:08.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85010153, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096880209413222, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.6268698, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64663, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.601641777985, telescope_dec_j2k=-24.1712231776447, observability=1)
2025-11-03T10:24:09.145 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:09
2025-11-03T10:24:09.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:09.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3571619987487793s
2025-11-03T10:24:09.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3571619987487793
2025-11-03T10:24:09.167 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:09
2025-11-03T10:24:09.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:09.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37859535217285156s
2025-11-03T10:24:09.167 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37859535217285156
2025-11-03T10:24:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:10
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9755299091339111s
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:10.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:10.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6274293;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64719;2460982.85012461;10.40297472;1.3;_
2025-11-03T10:24:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6274293;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64719;2460982.85012461;10.40297472;1.3;_
2025-11-03T10:24:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:10.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:10.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6274293, teldec = -24.256585
2025-11-03T10:24:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6274293 -24.256585
2025-11-03T10:24:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6274293 -24.256585
2025-11-03T10:24:10.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6274293 -24.256585
2025-11-03T10:24:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6274293;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64719;2460982.85012463;10.40297472;1.3;_15.6022008863211 -24.1712397872047
2025-11-03T10:24:10.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6022008863211     dec_j2k = -24.1712397872047
2025-11-03T10:24:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:10.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968797280699084;171.162357330327;_
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968797280699084;171.162357330327;_
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:10.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:10.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:10.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39813)
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:10.772 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:10.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:10.779 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:10.779 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:10.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:10.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:10.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:10.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85012461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968797280699084, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.6274293, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64719, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6022008863211, telescope_dec_j2k=-24.1712397872047, observability=1)
2025-11-03T10:24:11.146 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:11
2025-11-03T10:24:11.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:11.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3664247989654541s
2025-11-03T10:24:11.146 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3664247989654541
2025-11-03T10:24:11.169 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:11
2025-11-03T10:24:11.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:11.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.38885927200317383s
2025-11-03T10:24:11.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.38885927200317383
2025-11-03T10:24:12.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:12
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9892072677612305s
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:12.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:12.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.62798;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64774;2460982.85014781;10.40352389;1.3;_
2025-11-03T10:24:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.62798;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64774;2460982.85014781;10.40352389;1.3;_
2025-11-03T10:24:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:12.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:12.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.62798, teldec = -24.256585
2025-11-03T10:24:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.62798 -24.256585
2025-11-03T10:24:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.62798 -24.256585
2025-11-03T10:24:12.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.62798 -24.256585
2025-11-03T10:24:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.62798;-24.256585;50.108511;89.993043;50.08601;90.12017;12.64774;2460982.85014784;10.40352389;1.3;_15.6027512008814 -24.1712561373446
2025-11-03T10:24:12.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6027512008814     dec_j2k = -24.1712561373446
2025-11-03T10:24:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:12.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968803297490505;171.162362694745;_
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968803297490505;171.162362694745;_
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:12.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:12.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:12.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44131)
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:12.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:12.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:12.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85014781, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968803297490505, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.62798, telescope_dec=-24.256585, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64774, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6027512008814, telescope_dec_j2k=-24.1712561373446, observability=1)
2025-11-03T10:24:13.147 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:13
2025-11-03T10:24:13.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:13.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3577287197113037s
2025-11-03T10:24:13.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3577287197113037
2025-11-03T10:24:13.168 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:13
2025-11-03T10:24:13.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:13.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3792600631713867s
2025-11-03T10:24:13.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3792600631713867
2025-11-03T10:24:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:14
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9776933193206787s
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:14.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:14.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6285407;-24.256584;50.108511;89.993043;50.08601;90.12017;12.6483;2460982.85017094;10.40408306;1.3;_
2025-11-03T10:24:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6285407;-24.256584;50.108511;89.993043;50.08601;90.12017;12.6483;2460982.85017094;10.40408306;1.3;_
2025-11-03T10:24:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:14.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:14.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6285407, teldec = -24.256584
2025-11-03T10:24:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6285407 -24.256584
2025-11-03T10:24:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6285407 -24.256584
2025-11-03T10:24:14.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6285407 -24.256584
2025-11-03T10:24:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6285407;-24.256584;50.108511;89.993043;50.08601;90.12017;12.6483;2460982.85017096;10.40408306;1.3;_15.6033115086664 -24.1712717862676
2025-11-03T10:24:14.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6033115086664     dec_j2k = -24.1712717862676
2025-11-03T10:24:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:14.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096880209413222;171.162362694745;_
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096880209413222;171.162362694745;_
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:14.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:14.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:14.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36399)
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:14.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:14.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:14.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85017094, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096880209413222, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.6285407, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6483, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6033115086664, telescope_dec_j2k=-24.1712717862676, observability=1)
2025-11-03T10:24:15.147 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:15
2025-11-03T10:24:15.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:15.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3628573417663574s
2025-11-03T10:24:15.147 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3628573417663574
2025-11-03T10:24:15.169 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:15
2025-11-03T10:24:15.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:15.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3846161365509033s
2025-11-03T10:24:15.169 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3846161365509033
2025-11-03T10:24:15.503 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:24:15
2025-11-03T10:24:15.503 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:15.503 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 0.7186875343322754s
2025-11-03T10:24:15.503 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7186875343322754
2025-11-03T10:24:16.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:16
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6112699508666992s
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:16.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:16.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6289886;-24.256584;50.108511;89.993043;50.08601;90.12017;12.64875;2460982.85018979;10.40452972;1.3;_
2025-11-03T10:24:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6289886;-24.256584;50.108511;89.993043;50.08601;90.12017;12.64875;2460982.85018979;10.40452972;1.3;_
2025-11-03T10:24:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:16.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:16.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6289886, teldec = -24.256584
2025-11-03T10:24:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6289886 -24.256584
2025-11-03T10:24:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6289886 -24.256584
2025-11-03T10:24:16.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6289886 -24.256584
2025-11-03T10:24:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6289886;-24.256584;50.108511;89.993043;50.08601;90.12017;12.64875;2460982.85018981;10.40452972;1.3;_15.6037590952765 -24.1712850871292
2025-11-03T10:24:16.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6037590952765     dec_j2k = -24.1712850871292
2025-11-03T10:24:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:16.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968804901968217;171.162362694745;_
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968804901968217;171.162362694745;_
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:16.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:16.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:16.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:16.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35669)
2025-11-03T10:24:16.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:16.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:16.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:16.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:16.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:16.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:16.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85018979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968804901968217, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993043, telescope_ra=15.6289886, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64875, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6037590952765, telescope_dec_j2k=-24.1712850871292, observability=1)
2025-11-03T10:24:16.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:16
2025-11-03T10:24:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022166967391967773s
2025-11-03T10:24:16.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022166967391967773
2025-11-03T10:24:16.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:16
2025-11-03T10:24:16.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:16.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37494373321533203s
2025-11-03T10:24:16.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37494373321533203
2025-11-03T10:24:18.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:18
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840807914733887s
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.629539;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6493;2460982.85021294;10.40507861;1.3;_
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.629539;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6493;2460982.85021294;10.40507861;1.3;_
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:18.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.629539, teldec = -24.256584
2025-11-03T10:24:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.629539 -24.256584
2025-11-03T10:24:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.629539 -24.256584
2025-11-03T10:24:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.629539 -24.256584
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.629539;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6493;2460982.85021297;10.40507861;1.3;_15.6043091102262 -24.1713014334714
2025-11-03T10:24:18.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6043091102262     dec_j2k = -24.1713014334714
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968799687415652;171.162351965909;_
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968799687415652;171.162351965909;_
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:18.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46661)
2025-11-03T10:24:18.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:18.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:18.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:18.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:18.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:18.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:18.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85021294, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968799687415652, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.629539, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6493, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6043091102262, telescope_dec_j2k=-24.1713014334714, observability=1)
2025-11-03T10:24:18.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:18
2025-11-03T10:24:18.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:18.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021362781524658203s
2025-11-03T10:24:18.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021362781524658203
2025-11-03T10:24:18.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:18
2025-11-03T10:24:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3562946319580078s
2025-11-03T10:24:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3562946319580078
2025-11-03T10:24:19.090 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:24:19.090 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6781916618347168s
2025-11-03T10:24:19.090 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6781916618347168
2025-11-03T10:24:19.090 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.5875844955444336 seconds ago
2025-11-03T10:24:20.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:20
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3505289554595947s
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:20.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6302114;-24.256584;50.108511;89.993042;50.08601;90.12017;12.64997;2460982.85024032;10.40574917;1.3;_
2025-11-03T10:24:20.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6302114;-24.256584;50.108511;89.993042;50.08601;90.12017;12.64997;2460982.85024032;10.40574917;1.3;_
2025-11-03T10:24:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:20.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:20.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6302114, teldec = -24.256584
2025-11-03T10:24:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6302114 -24.256584
2025-11-03T10:24:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6302114 -24.256584
2025-11-03T10:24:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6302114 -24.256584
2025-11-03T10:24:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6302114;-24.256584;50.108511;89.993042;50.08601;90.12017;12.64997;2460982.85024036;10.40574917;1.3;_15.6049810399127 -24.1713214055411
2025-11-03T10:24:20.767 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6049810399127     dec_j2k = -24.1713214055411
2025-11-03T10:24:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968808512043069;171.162346601491;_
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968808512043069;171.162346601491;_
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52655)
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:20.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:20.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:20.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85024032, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968808512043069, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6302114, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.64997, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6049810399127, telescope_dec_j2k=-24.1713214055411, observability=1)
2025-11-03T10:24:21.148 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:21
2025-11-03T10:24:21.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:21.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36774253845214844s
2025-11-03T10:24:21.148 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36774253845214844
2025-11-03T10:24:21.169 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:21
2025-11-03T10:24:21.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:21.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3893108367919922s
2025-11-03T10:24:21.170 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3893108367919922
2025-11-03T10:24:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:22
2025-11-03T10:24:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9881880283355713s
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6307715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65053;2460982.85026354;10.40630778;1.3;_
2025-11-03T10:24:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6307715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65053;2460982.85026354;10.40630778;1.3;_
2025-11-03T10:24:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6307715, teldec = -24.256584
2025-11-03T10:24:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6307715 -24.256584
2025-11-03T10:24:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6307715 -24.256584
2025-11-03T10:24:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6307715 -24.256584
2025-11-03T10:24:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6307715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65053;2460982.85026358;10.40630778;1.3;_15.6055407482201 -24.1713380440558
2025-11-03T10:24:22.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6055407482201     dec_j2k = -24.1713380440558
2025-11-03T10:24:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:22.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968815331073346;171.162351965909;_
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968815331073346;171.162351965909;_
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52315)
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:22.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:22.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85026354, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968815331073346, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6307715, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65053, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:23:22.696530', telescope_ra_j2k=15.6055407482201, telescope_dec_j2k=-24.1713380440558, observability=1)
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:22.841 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:22.841 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:22.842 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:22.843 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:22.843 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:24:22.844 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:24:22.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:23.157 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:23
2025-11-03T10:24:23.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:23.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36679983139038086s
2025-11-03T10:24:23.157 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36679983139038086
2025-11-03T10:24:23.179 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:23
2025-11-03T10:24:23.179 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:23.179 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3890531063079834s
2025-11-03T10:24:23.179 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3890531063079834
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:23.845 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:24:23.846 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:23.847 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:23.847 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:23.847 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:23.847 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:23.847 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:23.848 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:23.848 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:23.848 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:23.848 [DEBUG] [ThreadPoolExecutor-3460_0] [payload.py] [to_registers()] [0]
2025-11-03T10:24:23.854 [DEBUG] [ThreadPoolExecutor-3460_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45041)
2025-11-03T10:24:23.854 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:23.854 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:23.854 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:24:23.854 [DEBUG] [ThreadPoolExecutor-3460_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:23.855 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:23.861 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:23.861 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:24:23.862 [DEBUG] [ThreadPoolExecutor-3460_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:24:23.862 [DEBUG] [ThreadPoolExecutor-3460_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:24:23.862 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:23.862 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:23.862 [DEBUG] [ThreadPoolExecutor-3460_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:24.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:24
2025-11-03T10:24:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9790089130401611s
2025-11-03T10:24:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:24.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6313219;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65108;2460982.8502867;10.40685667;1.3;_
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6313219;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65108;2460982.8502867;10.40685667;1.3;_
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:24.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6313219, teldec = -24.256584
2025-11-03T10:24:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6313219 -24.256584
2025-11-03T10:24:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6313219 -24.256584
2025-11-03T10:24:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6313219 -24.256584
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6313219;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65108;2460982.85028672;10.40685667;1.3;_15.606090763375 -24.171354396237
2025-11-03T10:24:24.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.606090763375     dec_j2k = -24.171354396237
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968809715401353;171.162351965909;_
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968809715401353;171.162351965909;_
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:24.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:24.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59665)
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:24.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:24.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:24.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8502867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968809715401353, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6313219, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65108, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.606090763375, telescope_dec_j2k=-24.171354396237, observability=1)
2025-11-03T10:24:25.152 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:25
2025-11-03T10:24:25.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:25.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36319971084594727s
2025-11-03T10:24:25.153 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36319971084594727
2025-11-03T10:24:25.179 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:25
2025-11-03T10:24:25.179 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:25.180 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3901021480560303s
2025-11-03T10:24:25.180 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3901021480560303
2025-11-03T10:24:25.305 [DEBUG] [Thread-88892 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:25.305 [DEBUG] [Thread-88892 (handle)] [server.py] [get_status()] Status age = 0.5152170658111572s
2025-11-03T10:24:25.305 [DEBUG] [Thread-88892 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5152170658111572
2025-11-03T10:24:26.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:26
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6072044372558594s
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6317707;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65153;2460982.85030554;10.40730417;1.3;_
2025-11-03T10:24:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6317707;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65153;2460982.85030554;10.40730417;1.3;_
2025-11-03T10:24:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:26.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6317707, teldec = -24.256584
2025-11-03T10:24:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6317707 -24.256584
2025-11-03T10:24:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6317707 -24.256584
2025-11-03T10:24:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6317707 -24.256584
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6317707;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65153;2460982.85030557;10.40730417;1.3;_15.6065392496165 -24.1713677312534
2025-11-03T10:24:26.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6065392496165     dec_j2k = -24.1713677312534
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968809314281925;171.162351965909;_
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968809314281925;171.162351965909;_
2025-11-03T10:24:26.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33795)
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:26.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:26.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:26.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85030554, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968809314281925, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6317707, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65153, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6065392496165, telescope_dec_j2k=-24.1713677312534, observability=1)
2025-11-03T10:24:26.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:26
2025-11-03T10:24:26.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:26.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022140979766845703s
2025-11-03T10:24:26.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022140979766845703
2025-11-03T10:24:26.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:26
2025-11-03T10:24:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3566703796386719s
2025-11-03T10:24:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3566703796386719
2025-11-03T10:24:28.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:28
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982966423034668s
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:28.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:28.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6323314;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65209;2460982.85032868;10.40786333;1.3;_
2025-11-03T10:24:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6323314;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65209;2460982.85032868;10.40786333;1.3;_
2025-11-03T10:24:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:28.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:28.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6323314, teldec = -24.256584
2025-11-03T10:24:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6323314 -24.256584
2025-11-03T10:24:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6323314 -24.256584
2025-11-03T10:24:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6323314 -24.256584
2025-11-03T10:24:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6323314;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65209;2460982.8503287;10.40786333;1.3;_15.6070995576873 -24.1713843927932
2025-11-03T10:24:28.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6070995576873     dec_j2k = -24.1713843927932
2025-11-03T10:24:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968813726595634;171.162351965909;_
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968813726595634;171.162351965909;_
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43387)
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:28.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:28.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:28.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85032868, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968813726595634, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6323314, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65209, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6070995576873, telescope_dec_j2k=-24.1713843927932, observability=1)
2025-11-03T10:24:28.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:28
2025-11-03T10:24:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022535324096679688s
2025-11-03T10:24:28.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022535324096679688
2025-11-03T10:24:28.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:28
2025-11-03T10:24:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3591806888580322s
2025-11-03T10:24:28.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3591806888580322
2025-11-03T10:24:30.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:30
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9841351509094238s
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6328834;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65265;2460982.85035185;10.40841389;1.3;_
2025-11-03T10:24:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6328834;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65265;2460982.85035185;10.40841389;1.3;_
2025-11-03T10:24:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:30.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6328834, teldec = -24.256584
2025-11-03T10:24:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6328834 -24.256584
2025-11-03T10:24:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6328834 -24.256584
2025-11-03T10:24:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6328834 -24.256584
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6328834;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65265;2460982.85035189;10.40841389;1.3;_15.6076511719036 -24.1714007976332
2025-11-03T10:24:30.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6076511719036     dec_j2k = -24.1714007976332
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968810918759638;171.162351965909;_
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968810918759638;171.162351965909;_
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:30.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50523)
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:30.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:30.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:30.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85035185, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968810918759638, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6328834, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65265, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6076511719036, telescope_dec_j2k=-24.1714007976332, observability=1)
2025-11-03T10:24:30.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:30
2025-11-03T10:24:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022940635681152344s
2025-11-03T10:24:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022940635681152344
2025-11-03T10:24:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:30
2025-11-03T10:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35158753395080566s
2025-11-03T10:24:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35158753395080566
2025-11-03T10:24:32.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:32
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3494675159454346s
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:32.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:32.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6335569;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65332;2460982.85037925;10.40908556;1.3;_
2025-11-03T10:24:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6335569;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65332;2460982.85037925;10.40908556;1.3;_
2025-11-03T10:24:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:32.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:32.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6335569, teldec = -24.256584
2025-11-03T10:24:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6335569 -24.256584
2025-11-03T10:24:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6335569 -24.256584
2025-11-03T10:24:32.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6335569 -24.256584
2025-11-03T10:24:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6335569;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65332;2460982.85037927;10.40908556;1.3;_15.608324201292 -24.1714208157744
2025-11-03T10:24:32.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.608324201292     dec_j2k = -24.1714208157744
2025-11-03T10:24:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:32.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968817336670487;171.162357330327;_
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968817336670487;171.162357330327;_
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:32.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:32.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:32.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:32.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45073)
2025-11-03T10:24:32.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:32.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:32.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:32.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:32.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85037925, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968817336670487, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6335569, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65332, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.608324201292, telescope_dec_j2k=-24.1714208157744, observability=1)
2025-11-03T10:24:33.160 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:33
2025-11-03T10:24:33.160 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:33.160 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3769981861114502s
2025-11-03T10:24:33.160 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3769981861114502
2025-11-03T10:24:33.194 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:33
2025-11-03T10:24:33.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:33.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41124844551086426s
2025-11-03T10:24:33.194 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41124844551086426
2025-11-03T10:24:34.659 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:34
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8755462169647217s
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:34.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:34.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:34.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6340803;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65384;2460982.85040117;10.4096075;1.3;_
2025-11-03T10:24:34.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6340803;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65384;2460982.85040117;10.4096075;1.3;_
2025-11-03T10:24:34.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:34.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:34.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:34.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:34.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:34.662 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6340803, teldec = -24.256584
2025-11-03T10:24:34.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6340803 -24.256584
2025-11-03T10:24:34.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6340803 -24.256584
2025-11-03T10:24:34.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6340803 -24.256584
2025-11-03T10:24:34.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6340803;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65384;2460982.85040119;10.4096075;1.3;_15.608847235629 -24.1714363744216
2025-11-03T10:24:34.663 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.608847235629     dec_j2k = -24.1714363744216
2025-11-03T10:24:34.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:34.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:34.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096881452883449;171.162351965909;_
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096881452883449;171.162351965909;_
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:34.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:34.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:34.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:34.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:34.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46527)
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:34.668 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:34.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:34.675 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:34.675 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:34.676 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:34.676 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85040117, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096881452883449, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6340803, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65384, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.608847235629, telescope_dec_j2k=-24.1714363744216, observability=1)
2025-11-03T10:24:34.698 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:34
2025-11-03T10:24:34.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:34.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021895885467529297s
2025-11-03T10:24:34.698 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021895885467529297
2025-11-03T10:24:34.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:34
2025-11-03T10:24:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08747243881225586s
2025-11-03T10:24:34.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08747243881225586
2025-11-03T10:24:36.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:36
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0203213691711426s
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:36.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:36.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:36.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6346418;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6544;2460982.85042476;10.4101675;1.3;_
2025-11-03T10:24:36.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6346418;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6544;2460982.85042476;10.4101675;1.3;_
2025-11-03T10:24:36.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:36.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:36.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:36.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:36.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:36.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6346418, teldec = -24.256584
2025-11-03T10:24:36.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6346418 -24.256584
2025-11-03T10:24:36.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6346418 -24.256584
2025-11-03T10:24:36.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6346418 -24.256584
2025-11-03T10:24:36.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6346418;-24.256584;50.108511;89.993042;50.08601;90.12017;12.6544;2460982.85042478;10.4101675;1.3;_15.6094083434121 -24.1714530674437
2025-11-03T10:24:36.701 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6094083434121     dec_j2k = -24.1714530674437
2025-11-03T10:24:36.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:36.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:36.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968820144506483;171.162357330327;_
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968820144506483;171.162357330327;_
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:36.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:36.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38001)
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:36.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:36.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:36.714 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:36.714 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:36.714 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85042476, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968820144506483, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6346418, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6544, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6094083434121, telescope_dec_j2k=-24.1714530674437, observability=1)
2025-11-03T10:24:36.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:36
2025-11-03T10:24:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06038641929626465s
2025-11-03T10:24:36.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06038641929626465
2025-11-03T10:24:36.852 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:36
2025-11-03T10:24:36.852 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:36.852 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.13833880424499512s
2025-11-03T10:24:36.852 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.13833880424499512
2025-11-03T10:24:38.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:38
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0515241622924805s
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:38.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6352307;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65499;2460982.85044869;10.41075472;1.3;_
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6352307;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65499;2460982.85044869;10.41075472;1.3;_
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:38.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6352307, teldec = -24.256584
2025-11-03T10:24:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6352307 -24.256584
2025-11-03T10:24:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6352307 -24.256584
2025-11-03T10:24:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6352307 -24.256584
2025-11-03T10:24:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6352307;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65499;2460982.85044872;10.41075472;1.3;_15.6099968321266 -24.1714705770621
2025-11-03T10:24:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6099968321266     dec_j2k = -24.1714705770621
2025-11-03T10:24:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968818941148199;171.162357330327;_
2025-11-03T10:24:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968818941148199;171.162357330327;_
2025-11-03T10:24:38.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49015)
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:38.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:38.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:38.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85044869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968818941148199, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6352307, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65499, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6099968321266, telescope_dec_j2k=-24.1714705770621, observability=1)
2025-11-03T10:24:38.945 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:38
2025-11-03T10:24:38.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:38.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1589043140411377s
2025-11-03T10:24:38.945 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1589043140411377
2025-11-03T10:24:38.970 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:38
2025-11-03T10:24:38.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:38.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1839897632598877s
2025-11-03T10:24:38.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1839897632598877
2025-11-03T10:24:40.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:40
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.60927414894104s
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:40.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6356702;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65543;2460982.85046757;10.41119306;1.3;_
2025-11-03T10:24:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6356702;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65543;2460982.85046757;10.41119306;1.3;_
2025-11-03T10:24:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:40.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6356702, teldec = -24.256584
2025-11-03T10:24:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6356702 -24.256584
2025-11-03T10:24:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6356702 -24.256584
2025-11-03T10:24:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6356702 -24.256584
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6356702;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65543;2460982.8504676;10.41119306;1.3;_15.6104360252289 -24.1714836459496
2025-11-03T10:24:40.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6104360252289     dec_j2k = -24.1714836459496
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968819342267627;171.162351965909;_
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819342267627;171.162351965909;_
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38009)
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:40.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:40.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85046757, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819342267627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6356702, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65543, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6104360252289, telescope_dec_j2k=-24.1714836459496, observability=1)
2025-11-03T10:24:40.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:40
2025-11-03T10:24:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022328615188598633s
2025-11-03T10:24:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022328615188598633
2025-11-03T10:24:40.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:40
2025-11-03T10:24:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3534519672393799s
2025-11-03T10:24:40.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3534519672393799
2025-11-03T10:24:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:42
2025-11-03T10:24:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3498687744140625s
2025-11-03T10:24:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6363443;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65611;2460982.85049498;10.41186528;1.3;_
2025-11-03T10:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6363443;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65611;2460982.85049498;10.41186528;1.3;_
2025-11-03T10:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:42.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6363443, teldec = -24.256584
2025-11-03T10:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6363443 -24.256584
2025-11-03T10:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6363443 -24.256584
2025-11-03T10:24:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6363443 -24.256584
2025-11-03T10:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6363443;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65611;2460982.85049501;10.41186528;1.3;_15.6111096545913 -24.1715036930866
2025-11-03T10:24:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6111096545913     dec_j2k = -24.1715036930866
2025-11-03T10:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968819342267627;171.162368059163;_
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819342267627;171.162368059163;_
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44687)
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:42.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:42.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:42.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85049498, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819342267627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6363443, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65611, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6111096545913, telescope_dec_j2k=-24.1715036930866, observability=1)
2025-11-03T10:24:43.198 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:43
2025-11-03T10:24:43.198 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:43.198 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4144887924194336s
2025-11-03T10:24:43.198 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4144887924194336
2025-11-03T10:24:43.219 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:43
2025-11-03T10:24:43.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:43.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43636250495910645s
2025-11-03T10:24:43.220 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43636250495910645
2025-11-03T10:24:43.372 [DEBUG] [Thread-88893 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:43.372 [DEBUG] [Thread-88893 (handle)] [server.py] [get_status()] Status age = 0.588508129119873s
2025-11-03T10:24:43.372 [DEBUG] [Thread-88893 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.588508129119873
2025-11-03T10:24:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:44
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9837334156036377s
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:44.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:44.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6368961;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65666;2460982.85051816;10.41241556;1.3;_
2025-11-03T10:24:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6368961;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65666;2460982.85051816;10.41241556;1.3;_
2025-11-03T10:24:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:44.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:44.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6368961, teldec = -24.256584
2025-11-03T10:24:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6368961 -24.256584
2025-11-03T10:24:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6368961 -24.256584
2025-11-03T10:24:44.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6368961 -24.256584
2025-11-03T10:24:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6368961;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65666;2460982.85051818;10.41241556;1.3;_15.6116610694109 -24.1715201051382
2025-11-03T10:24:44.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6116610694109     dec_j2k = -24.1715201051382
2025-11-03T10:24:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:44.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968819342267627;171.162351965909;_
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819342267627;171.162351965909;_
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:44.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:44.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:44.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53601)
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:44.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:44.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:44.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:44.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85051816, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819342267627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6368961, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6116610694109, telescope_dec_j2k=-24.1715201051382, observability=1)
2025-11-03T10:24:45.198 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:45
2025-11-03T10:24:45.199 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:45.199 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4096822738647461s
2025-11-03T10:24:45.199 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4096822738647461
2025-11-03T10:24:45.223 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:45
2025-11-03T10:24:45.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:45.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43419504165649414s
2025-11-03T10:24:45.223 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43419504165649414
2025-11-03T10:24:45.741 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:45.741 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.9521920680999756s
2025-11-03T10:24:45.741 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9521920680999756
2025-11-03T10:24:46.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:46
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9853546619415283s
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:46.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:46.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6374579;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65722;2460982.85054139;10.41297583;1.3;_
2025-11-03T10:24:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6374579;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65722;2460982.85054139;10.41297583;1.3;_
2025-11-03T10:24:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:46.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:46.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6374579, teldec = -24.256584
2025-11-03T10:24:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6374579 -24.256584
2025-11-03T10:24:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6374579 -24.256584
2025-11-03T10:24:46.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6374579 -24.256584
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6374579;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65722;2460982.85054141;10.41297583;1.3;_15.6122224773157 -24.1715368164744
2025-11-03T10:24:46.778 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6122224773157     dec_j2k = -24.1715368164744
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968815732192774;171.162357330327;_
2025-11-03T10:24:46.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968815732192774;171.162357330327;_
2025-11-03T10:24:46.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:46.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:46.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57675)
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:46.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:46.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:46.793 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:46.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85054139, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968815732192774, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6374579, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65722, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6122224773157, telescope_dec_j2k=-24.1715368164744, observability=1)
2025-11-03T10:24:47.202 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:47
2025-11-03T10:24:47.202 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:47.202 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.40894508361816406s
2025-11-03T10:24:47.202 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.40894508361816406
2025-11-03T10:24:47.224 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:47
2025-11-03T10:24:47.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:47.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43129563331604004s
2025-11-03T10:24:47.224 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43129563331604004
2025-11-03T10:24:48.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:48
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9728527069091797s
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:48.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6380094;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65777;2460982.85056443;10.41352583;1.3;_
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6380094;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65777;2460982.85056443;10.41352583;1.3;_
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:48.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:48.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6380094, teldec = -24.256584
2025-11-03T10:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6380094 -24.256584
2025-11-03T10:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6380094 -24.256584
2025-11-03T10:24:48.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6380094 -24.256584
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6380094;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65777;2460982.85056446;10.41352583;1.3;_15.6127735924733 -24.1715532232483
2025-11-03T10:24:48.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6127735924733     dec_j2k = -24.1715532232483
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968819342267627;171.162362694745;_
2025-11-03T10:24:48.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819342267627;171.162362694745;_
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:24:48.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55575)
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:48.778 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:48.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:48.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:48.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:48.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85056443, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819342267627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6380094, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65777, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6127735924733, telescope_dec_j2k=-24.1715532232483, observability=1)
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:48.862 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:48.863 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:24:48.864 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:24:48.865 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:49.199 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:49
2025-11-03T10:24:49.199 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:49.200 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4136652946472168s
2025-11-03T10:24:49.200 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4136652946472168
2025-11-03T10:24:49.222 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:49
2025-11-03T10:24:49.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:49.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4360799789428711s
2025-11-03T10:24:49.222 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4360799789428711
2025-11-03T10:24:50.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:50
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822051525115967s
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6385715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65833;2460982.85058762;10.41408639;1.3;_
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6385715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65833;2460982.85058762;10.41408639;1.3;_
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:50.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6385715, teldec = -24.256584
2025-11-03T10:24:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6385715 -24.256584
2025-11-03T10:24:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6385715 -24.256584
2025-11-03T10:24:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6385715 -24.256584
2025-11-03T10:24:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6385715;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65833;2460982.85058764;10.41408639;1.3;_15.6133353002998 -24.1715699472228
2025-11-03T10:24:50.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6133353002998     dec_j2k = -24.1715699472228
2025-11-03T10:24:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968829771372756;171.162357330327;_
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968829771372756;171.162357330327;_
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:50.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:50.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39343)
2025-11-03T10:24:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:50.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:50.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:50.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:50.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85058762, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968829771372756, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6385715, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6133353002998, telescope_dec_j2k=-24.1715699472228, observability=1)
2025-11-03T10:24:51.211 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:51
2025-11-03T10:24:51.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:51.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42377591133117676s
2025-11-03T10:24:51.212 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42377591133117676
2025-11-03T10:24:51.246 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:51
2025-11-03T10:24:51.247 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:51.247 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4586653709411621s
2025-11-03T10:24:51.247 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4586653709411621
2025-11-03T10:24:52.607 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:52.607 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Status age = 1.8195037841796875s
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:52.608 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 17;15.6390762;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65884;2460982.85060889;10.41458972;1.3;_
2025-11-03T10:24:52.609 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response 17;15.6390762;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65884;2460982.85060889;10.41458972;1.3;_
2025-11-03T10:24:52.609 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:52.609 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:52.609 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:52.610 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:52.610 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:52.610 [INFO] [Thread-88894 (handle)] [driver.py] [get_status()] Telra = 15.6390762, teldec = -24.256584
2025-11-03T10:24:52.610 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6390762 -24.256584
2025-11-03T10:24:52.610 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6390762 -24.256584
2025-11-03T10:24:52.610 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6390762 -24.256584
2025-11-03T10:24:52.611 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 17;15.6390762;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65884;2460982.85060892;10.41458972;1.3;_15.6138396482302 -24.1715849649914
2025-11-03T10:24:52.611 [INFO] [Thread-88894 (handle)] [driver.py] [get_status()] ra_j2k = 15.6138396482302     dec_j2k = -24.1715849649914
2025-11-03T10:24:52.611 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:52.611 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:52.611 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 140;0.0968819743387055;171.162351965909;_
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819743387055;171.162351965909;_
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:52.612 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:52.613 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:52.614 [DEBUG] [Thread-88894 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:52.614 [DEBUG] [Thread-88894 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:52.614 [DEBUG] [Thread-88894 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45551)
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:52.619 [DEBUG] [Thread-88894 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:52.626 [DEBUG] [Thread-88894 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:52.626 [INFO] [Thread-88894 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85060889, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819743387055, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6390762, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65884, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6138396482302, telescope_dec_j2k=-24.1715849649914, observability=1)
2025-11-03T10:24:52.678 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:52
2025-11-03T10:24:52.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:52.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05153203010559082s
2025-11-03T10:24:52.678 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05153203010559082
2025-11-03T10:24:52.699 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:52
2025-11-03T10:24:52.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:52.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07284998893737793s
2025-11-03T10:24:52.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07284998893737793
2025-11-03T10:24:52.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:52
2025-11-03T10:24:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.14188790321350098s
2025-11-03T10:24:52.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14188790321350098
2025-11-03T10:24:54.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:54
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7789478302001953s
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:54.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:54.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6395717;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65933;2460982.85062971;10.41508389;1.3;_
2025-11-03T10:24:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6395717;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65933;2460982.85062971;10.41508389;1.3;_
2025-11-03T10:24:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:54.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:54.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6395717, teldec = -24.256584
2025-11-03T10:24:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6395717 -24.256584
2025-11-03T10:24:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6395717 -24.256584
2025-11-03T10:24:54.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6395717 -24.256584
2025-11-03T10:24:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6395717;-24.256584;50.108511;89.993042;50.08601;90.12017;12.65933;2460982.85062973;10.41508389;1.3;_15.6143348026304 -24.1715997104764
2025-11-03T10:24:54.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6143348026304     dec_j2k = -24.1715997104764
2025-11-03T10:24:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:54.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968822551223051;171.162357330327;_
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968822551223051;171.162357330327;_
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:54.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:54.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:54.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:54.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:54.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40843)
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:54.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:54.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:54.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85062971, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968822551223051, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108511, telescope_az=89.993042, telescope_ra=15.6395717, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.65933, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6143348026304, telescope_dec_j2k=-24.1715997104764, observability=1)
2025-11-03T10:24:54.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:54
2025-11-03T10:24:54.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:54.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021921396255493164s
2025-11-03T10:24:54.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021921396255493164
2025-11-03T10:24:54.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:54
2025-11-03T10:24:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33857011795043945s
2025-11-03T10:24:54.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33857011795043945
2025-11-03T10:24:56.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:56
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0233521461486816s
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:56.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:56.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:56.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:56.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.640133;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6599;2460982.85065336;10.41564361;1.3;_
2025-11-03T10:24:56.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.640133;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6599;2460982.85065336;10.41564361;1.3;_
2025-11-03T10:24:56.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:56.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:56.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:56.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:56.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:56.451 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.640133, teldec = -24.256584
2025-11-03T10:24:56.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.640133 -24.256584
2025-11-03T10:24:56.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.640133 -24.256584
2025-11-03T10:24:56.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.640133 -24.256584
2025-11-03T10:24:56.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.640133;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6599;2460982.85065338;10.41564361;1.3;_15.6148957111987 -24.1716164158494
2025-11-03T10:24:56.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6148957111987     dec_j2k = -24.1716164158494
2025-11-03T10:24:56.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:56.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:56.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968819342267627;171.162335872654;_
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968819342267627;171.162335872654;_
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:56.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:56.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:56.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:56.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:56.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56325)
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:56.456 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:56.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:56.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85065336, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968819342267627, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162335872654, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.640133, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6599, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6148957111987, telescope_dec_j2k=-24.1716164158494, observability=1)
2025-11-03T10:24:56.486 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:56
2025-11-03T10:24:56.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:56.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02179694175720215s
2025-11-03T10:24:56.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02179694175720215
2025-11-03T10:24:56.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:56
2025-11-03T10:24:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30626749992370605s
2025-11-03T10:24:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30626749992370605
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5152113437652588s
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:24:57.980 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:24:57.981 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:24:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6405722;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66033;2460982.85067109;10.41608167;1.3;_
2025-11-03T10:24:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6405722;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66033;2460982.85067109;10.41608167;1.3;_
2025-11-03T10:24:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:24:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:24:57.982 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:24:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:24:57.983 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6405722, teldec = -24.256584
2025-11-03T10:24:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6405722 -24.256584
2025-11-03T10:24:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6405722 -24.256584
2025-11-03T10:24:57.983 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6405722 -24.256584
2025-11-03T10:24:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6405722;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66033;2460982.85067111;10.41608167;1.3;_15.6153346049615 -24.1716294885933
2025-11-03T10:24:57.984 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.6153346049615     dec_j2k = -24.1716294885933
2025-11-03T10:24:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:24:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:24:57.984 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968821748984195;171.162325143818;_
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968821748984195;171.162325143818;_
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:57.985 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:57.986 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:24:57.987 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54765)
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:24:57.994 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:24:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:24:58.001 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:58.001 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:24:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:24:58.002 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85067109, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968821748984195, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162325143818, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6405722, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66033, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6153346049615, telescope_dec_j2k=-24.1716294885933, observability=1)
2025-11-03T10:24:58.394 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:58
2025-11-03T10:24:58.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:58.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3923008441925049s
2025-11-03T10:24:58.394 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3923008441925049
2025-11-03T10:24:58.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:58
2025-11-03T10:24:58.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:58.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41408824920654297s
2025-11-03T10:24:58.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41408824920654297
2025-11-03T10:24:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:24:58
2025-11-03T10:24:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:24:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7634470462799072s
2025-11-03T10:24:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7634470462799072
2025-11-03T10:25:00.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:00
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3930506706237793s
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:00.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:00.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6412471;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66101;2460982.85069905;10.41675472;1.3;_
2025-11-03T10:25:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6412471;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66101;2460982.85069905;10.41675472;1.3;_
2025-11-03T10:25:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:00.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6412471, teldec = -24.256584
2025-11-03T10:25:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6412471 -24.256584
2025-11-03T10:25:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6412471 -24.256584
2025-11-03T10:25:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6412471 -24.256584
2025-11-03T10:25:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6412471;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66101;2460982.85069907;10.41675472;1.3;_15.6160090344585 -24.171649579153
2025-11-03T10:25:00.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6160090344585     dec_j2k = -24.171649579153
2025-11-03T10:25:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968824556820192;171.162330508236;_
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968824556820192;171.162330508236;_
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:00.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39023)
2025-11-03T10:25:00.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:00.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:00.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:00.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:00.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:00.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:00.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85069905, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968824556820192, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162330508236, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6412471, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66101, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6160090344585, telescope_dec_j2k=-24.171649579153, observability=1)
2025-11-03T10:25:00.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:00
2025-11-03T10:25:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021558523178100586s
2025-11-03T10:25:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021558523178100586
2025-11-03T10:25:00.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:00
2025-11-03T10:25:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3551976680755615s
2025-11-03T10:25:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3551976680755615
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Status age = 1.1088130474090576s
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:01.520 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:01.521 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:01.522 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 17;15.6415557;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66132;2460982.85071206;10.4170625;1.3;_
2025-11-03T10:25:01.522 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response 17;15.6415557;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66132;2460982.85071206;10.4170625;1.3;_
2025-11-03T10:25:01.522 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:01.522 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:01.522 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:01.523 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:01.523 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:01.523 [INFO] [Thread-88895 (handle)] [driver.py] [get_status()] Telra = 15.6415557, teldec = -24.256584
2025-11-03T10:25:01.524 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6415557 -24.256584
2025-11-03T10:25:01.524 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6415557 -24.256584
2025-11-03T10:25:01.524 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6415557 -24.256584
2025-11-03T10:25:01.525 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 17;15.6415557;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66132;2460982.85071208;10.4170625;1.3;_15.6163174193515 -24.1716587665198
2025-11-03T10:25:01.525 [INFO] [Thread-88895 (handle)] [driver.py] [get_status()] ra_j2k = 15.6163174193515     dec_j2k = -24.1716587665198
2025-11-03T10:25:01.525 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:01.525 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:01.525 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 140;0.096882696353676;171.162341237072;_
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response 140;0.096882696353676;171.162341237072;_
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:01.526 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:01.527 [DEBUG] [Thread-88895 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:01.527 [DEBUG] [Thread-88895 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:01.527 [DEBUG] [Thread-88895 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33627)
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:01.531 [DEBUG] [Thread-88895 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:01.538 [DEBUG] [Thread-88895 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:01.538 [INFO] [Thread-88895 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85071206, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096882696353676, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6415557, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66132, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6163174193515, telescope_dec_j2k=-24.1716587665198, observability=1)
2025-11-03T10:25:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:02
2025-11-03T10:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.227116346359253s
2025-11-03T10:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6419112;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66167;2460982.85072647;10.41741694;1.3;_
2025-11-03T10:25:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6419112;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66167;2460982.85072647;10.41741694;1.3;_
2025-11-03T10:25:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6419112, teldec = -24.256584
2025-11-03T10:25:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6419112 -24.256584
2025-11-03T10:25:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6419112 -24.256584
2025-11-03T10:25:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6419112 -24.256584
2025-11-03T10:25:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6419112;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66167;2460982.8507265;10.41741694;1.3;_15.616672671578 -24.1716693508517
2025-11-03T10:25:02.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.616672671578     dec_j2k = -24.1716693508517
2025-11-03T10:25:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968831375850468;171.162335872654;_
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968831375850468;171.162335872654;_
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57885)
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:02.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:02.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:02.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85072647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968831375850468, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162335872654, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6419112, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.616672671578, telescope_dec_j2k=-24.1716693508517, observability=1)
2025-11-03T10:25:03.251 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:03
2025-11-03T10:25:03.251 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:03.251 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4692096710205078s
2025-11-03T10:25:03.251 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4692096710205078
2025-11-03T10:25:03.273 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:03
2025-11-03T10:25:03.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:03.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.49088287353515625s
2025-11-03T10:25:03.273 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.49088287353515625
2025-11-03T10:25:04.658 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:04
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8759207725524902s
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:04.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:04.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:04.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6424167;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66218;2460982.85074838;10.41792111;1.3;_
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6424167;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66218;2460982.85074838;10.41792111;1.3;_
2025-11-03T10:25:04.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:04.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:04.662 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6424167, teldec = -24.256584
2025-11-03T10:25:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6424167 -24.256584
2025-11-03T10:25:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6424167 -24.256584
2025-11-03T10:25:04.662 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6424167 -24.256584
2025-11-03T10:25:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6424167;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66218;2460982.85074841;10.41792111;1.3;_15.6171778193043 -24.1716844024361
2025-11-03T10:25:04.663 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6171778193043     dec_j2k = -24.1716844024361
2025-11-03T10:25:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:04.663 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968827765775616;171.162341237072;_
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968827765775616;171.162341237072;_
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:04.664 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:04.665 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:04.666 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52295)
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:04.672 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:04.679 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:04.679 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:04.680 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:04.680 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85074838, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968827765775616, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162341237072, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6424167, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66218, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6171778193043, telescope_dec_j2k=-24.1716844024361, observability=1)
2025-11-03T10:25:04.702 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:04
2025-11-03T10:25:04.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:04.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022160768508911133s
2025-11-03T10:25:04.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022160768508911133
2025-11-03T10:25:04.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:04
2025-11-03T10:25:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09030699729919434s
2025-11-03T10:25:04.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09030699729919434
2025-11-03T10:25:06.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:06
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7149386405944824s
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:06.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6429212;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66268;2460982.85076847;10.41842417;1.3;_
2025-11-03T10:25:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6429212;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66268;2460982.85076847;10.41842417;1.3;_
2025-11-03T10:25:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:06.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6429212, teldec = -24.256584
2025-11-03T10:25:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6429212 -24.256584
2025-11-03T10:25:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6429212 -24.256584
2025-11-03T10:25:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6429212 -24.256584
2025-11-03T10:25:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6429212;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66268;2460982.85076851;10.41842417;1.3;_15.6176819677809 -24.1716994257544
2025-11-03T10:25:06.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6176819677809     dec_j2k = -24.1716994257544
2025-11-03T10:25:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968830172492184;171.162362694745;_
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968830172492184;171.162362694745;_
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:06.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60813)
2025-11-03T10:25:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:06.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:06.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:06.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85076847, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968830172492184, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6429212, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66268, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6176819677809, telescope_dec_j2k=-24.1716994257544, observability=1)
2025-11-03T10:25:06.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:06
2025-11-03T10:25:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022454500198364258s
2025-11-03T10:25:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022454500198364258
2025-11-03T10:25:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:06
2025-11-03T10:25:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3573319911956787s
2025-11-03T10:25:06.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3573319911956787
2025-11-03T10:25:08.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:08
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.353647232055664s
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:08.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:08.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6435857;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66335;2460982.85079593;10.41908694;1.3;_
2025-11-03T10:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6435857;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66335;2460982.85079593;10.41908694;1.3;_
2025-11-03T10:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:08.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:08.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6435857, teldec = -24.256584
2025-11-03T10:25:08.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6435857 -24.256584
2025-11-03T10:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6435857 -24.256584
2025-11-03T10:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6435857 -24.256584
2025-11-03T10:25:08.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6435857;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66335;2460982.85079595;10.41908694;1.3;_15.6183460048549 -24.1717192159544
2025-11-03T10:25:08.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6183460048549     dec_j2k = -24.1717192159544
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968826562417332;171.162346601491;_
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968826562417332;171.162346601491;_
2025-11-03T10:25:08.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:08.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:08.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58829)
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:08.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:08.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:08.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85079593, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968826562417332, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6435857, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66335, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6183460048549, telescope_dec_j2k=-24.1717192159544, observability=1)
2025-11-03T10:25:09.246 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:09
2025-11-03T10:25:09.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:09.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4578385353088379s
2025-11-03T10:25:09.246 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4578385353088379
2025-11-03T10:25:09.268 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:09
2025-11-03T10:25:09.268 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:09.268 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4801914691925049s
2025-11-03T10:25:09.269 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4801914691925049
2025-11-03T10:25:10.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:10
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6565470695495605s
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:10.445 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:10.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:10.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6440339;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6638;2460982.85081536;10.41953389;1.3;_
2025-11-03T10:25:10.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6440339;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6638;2460982.85081536;10.41953389;1.3;_
2025-11-03T10:25:10.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:10.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:10.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:10.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:10.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:10.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6440339, teldec = -24.256584
2025-11-03T10:25:10.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6440339 -24.256584
2025-11-03T10:25:10.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6440339 -24.256584
2025-11-03T10:25:10.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6440339 -24.256584
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6440339;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6638;2460982.85081538;10.41953389;1.3;_15.6187938926673 -24.1717325657648
2025-11-03T10:25:10.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6187938926673     dec_j2k = -24.1717325657648
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968831375850468;171.162346601491;_
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968831375850468;171.162346601491;_
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:10.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:10.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:10.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:10.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:10.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:10.457 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46785)
2025-11-03T10:25:10.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:10.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:10.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:10.458 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:10.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:10.465 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:10.465 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85081536, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968831375850468, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6440339, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6638, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6187938926673, telescope_dec_j2k=-24.1717325657648, observability=1)
2025-11-03T10:25:10.487 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:10
2025-11-03T10:25:10.487 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:10.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022424697875976562s
2025-11-03T10:25:10.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022424697875976562
2025-11-03T10:25:10.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:10
2025-11-03T10:25:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29950857162475586s
2025-11-03T10:25:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29950857162475586
2025-11-03T10:25:12.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:12
2025-11-03T10:25:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.930389404296875s
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6445932;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66436;2460982.85083793;10.42009167;1.3;_
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6445932;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66436;2460982.85083793;10.42009167;1.3;_
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:12.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6445932, teldec = -24.256584
2025-11-03T10:25:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6445932 -24.256584
2025-11-03T10:25:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6445932 -24.256584
2025-11-03T10:25:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6445932 -24.256584
2025-11-03T10:25:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6445932;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66436;2460982.85083795;10.42009167;1.3;_15.6193528031535 -24.1717492264003
2025-11-03T10:25:12.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6193528031535     dec_j2k = -24.1717492264003
2025-11-03T10:25:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09688289691339;171.162351965909;_
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09688289691339;171.162351965909;_
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33593)
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:12.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:12.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:12.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85083793, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09688289691339, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6445932, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66436, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6193528031535, telescope_dec_j2k=-24.1717492264003, observability=1)
2025-11-03T10:25:12.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:12
2025-11-03T10:25:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02158522605895996s
2025-11-03T10:25:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02158522605895996
2025-11-03T10:25:12.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:12
2025-11-03T10:25:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:12.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3499624729156494s
2025-11-03T10:25:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3499624729156494
2025-11-03T10:25:14.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:14
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9998388290405273s
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:14.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:14.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:14.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:14.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:14.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6451456;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66491;2460982.85086133;10.4206425;1.3;_
2025-11-03T10:25:14.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6451456;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66491;2460982.85086133;10.4206425;1.3;_
2025-11-03T10:25:14.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:14.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:14.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:14.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:14.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:14.421 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6451456, teldec = -24.256584
2025-11-03T10:25:14.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6451456 -24.256584
2025-11-03T10:25:14.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6451456 -24.256584
2025-11-03T10:25:14.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6451456 -24.256584
2025-11-03T10:25:14.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6451456;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66491;2460982.85086137;10.4206425;1.3;_15.6199048185096 -24.1717656833141
2025-11-03T10:25:14.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6199048185096     dec_j2k = -24.1717656833141
2025-11-03T10:25:14.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:14.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:14.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968827765775616;171.162357330327;_
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968827765775616;171.162357330327;_
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:14.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:14.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:14.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:14.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:14.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54863)
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:14.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:14.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:14.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85086133, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968827765775616, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6451456, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66491, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6199048185096, telescope_dec_j2k=-24.1717656833141, observability=1)
2025-11-03T10:25:14.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:14
2025-11-03T10:25:14.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:14.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024363040924072266s
2025-11-03T10:25:14.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024363040924072266
2025-11-03T10:25:14.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:14
2025-11-03T10:25:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3315558433532715s
2025-11-03T10:25:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3315558433532715
2025-11-03T10:25:15.564 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:25:15
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.1265192031860352s
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:15.564 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:15.565 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:15.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.645482;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66524;2460982.85087461;10.42097806;1.3;_
2025-11-03T10:25:15.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.645482;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66524;2460982.85087461;10.42097806;1.3;_
2025-11-03T10:25:15.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:15.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:15.566 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:15.567 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:15.567 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:15.567 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.645482, teldec = -24.256584
2025-11-03T10:25:15.567 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.645482 -24.256584
2025-11-03T10:25:15.567 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.645482 -24.256584
2025-11-03T10:25:15.567 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.645482 -24.256584
2025-11-03T10:25:15.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.645482;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66524;2460982.85087463;10.42097806;1.3;_15.6202409843008 -24.1717757061139
2025-11-03T10:25:15.568 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.6202409843008     dec_j2k = -24.1717757061139
2025-11-03T10:25:15.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:15.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:15.568 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968830172492184;171.162346601491;_
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968830172492184;171.162346601491;_
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:15.569 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:15.570 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:15.571 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:15.571 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:15.571 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47921)
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:15.576 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:15.583 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:15.583 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:15.583 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:15.583 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:15.584 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:15.584 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:15.584 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:15.584 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:15.584 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:15.584 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85087461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968830172492184, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.645482, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6202409843008, telescope_dec_j2k=-24.1717757061139, observability=1)
2025-11-03T10:25:16.452 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:16
2025-11-03T10:25:16.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:16.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8683805465698242s
2025-11-03T10:25:16.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8683805465698242
2025-11-03T10:25:16.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:16
2025-11-03T10:25:16.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:16.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8896164894104004s
2025-11-03T10:25:16.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8896164894104004
2025-11-03T10:25:16.816 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:16
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.2325077056884766s
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:16.816 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:16.817 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.645818;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66558;2460982.8508891;10.42131306;1.3;_
2025-11-03T10:25:16.818 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.645818;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66558;2460982.8508891;10.42131306;1.3;_
2025-11-03T10:25:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:16.819 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:16.820 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.645818, teldec = -24.256584
2025-11-03T10:25:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.645818 -24.256584
2025-11-03T10:25:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.645818 -24.256584
2025-11-03T10:25:16.820 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.645818 -24.256584
2025-11-03T10:25:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.645818;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66558;2460982.85088913;10.42131306;1.3;_15.6205767503943 -24.1717857176648
2025-11-03T10:25:16.821 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6205767503943     dec_j2k = -24.1717857176648
2025-11-03T10:25:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:16.821 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096883097473104;171.162357330327;_
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096883097473104;171.162357330327;_
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:16.822 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:16.823 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:16.824 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57893)
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:16.825 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:16.832 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:16.833 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8508891, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096883097473104, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.645818, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66558, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6205767503943, telescope_dec_j2k=-24.1717857176648, observability=1)
2025-11-03T10:25:18.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:18
2025-11-03T10:25:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9339265823364258s
2025-11-03T10:25:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6463684;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66613;2460982.85091167;10.42186194;1.3;_
2025-11-03T10:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6463684;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66613;2460982.85091167;10.42186194;1.3;_
2025-11-03T10:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:18.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6463684, teldec = -24.256584
2025-11-03T10:25:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6463684 -24.256584
2025-11-03T10:25:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6463684 -24.256584
2025-11-03T10:25:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6463684 -24.256584
2025-11-03T10:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6463684;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66613;2460982.8509117;10.42186194;1.3;_15.6211267672844 -24.1718021189822
2025-11-03T10:25:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6211267672844     dec_j2k = -24.1718021189822
2025-11-03T10:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968838596000173;171.162351965909;_
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968838596000173;171.162351965909;_
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42719)
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:18.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85091167, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968838596000173, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6463684, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66613, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6211267672844, telescope_dec_j2k=-24.1718021189822, observability=1)
2025-11-03T10:25:19.151 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:25:19.151 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.3653066158294678s
2025-11-03T10:25:19.151 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.3653066158294678
2025-11-03T10:25:19.151 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.587101697921753 seconds ago
2025-11-03T10:25:19.295 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:19
2025-11-03T10:25:19.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:19.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5102672576904297s
2025-11-03T10:25:19.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5102672576904297
2025-11-03T10:25:19.317 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:19
2025-11-03T10:25:19.318 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:19.318 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5322580337524414s
2025-11-03T10:25:19.318 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5322580337524414
2025-11-03T10:25:19.583 [DEBUG] [Thread-88896 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:19.583 [DEBUG] [Thread-88896 (handle)] [server.py] [get_status()] Status age = 0.797353982925415s
2025-11-03T10:25:19.583 [DEBUG] [Thread-88896 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.797353982925415
2025-11-03T10:25:20.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:20
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9805941581726074s
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:20.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6469012;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66666;2460982.8509348;10.42239333;1.3;_
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6469012;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66666;2460982.8509348;10.42239333;1.3;_
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:20.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:20.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:20.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6469012, teldec = -24.256584
2025-11-03T10:25:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6469012 -24.256584
2025-11-03T10:25:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6469012 -24.256584
2025-11-03T10:25:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6469012 -24.256584
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6469012;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66666;2460982.85093484;10.42239333;1.3;_15.6216591964856 -24.1718179975464
2025-11-03T10:25:20.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6216591964856     dec_j2k = -24.1718179975464
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968836991522461;171.162362694745;_
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968836991522461;171.162362694745;_
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49923)
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8509348, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968836991522461, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6469012, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66666, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6216591964856, telescope_dec_j2k=-24.1718179975464, observability=1)
2025-11-03T10:25:21.296 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:21
2025-11-03T10:25:21.296 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:21.297 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5095584392547607s
2025-11-03T10:25:21.297 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5095584392547607
2025-11-03T10:25:21.319 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:21
2025-11-03T10:25:21.319 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:21.319 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5318386554718018s
2025-11-03T10:25:21.319 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5318386554718018
2025-11-03T10:25:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:22
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9813740253448486s
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:22.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:22.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6474613;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66722;2460982.85095799;10.42295194;1.3;_
2025-11-03T10:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6474613;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66722;2460982.85095799;10.42295194;1.3;_
2025-11-03T10:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:22.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:22.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6474613, teldec = -24.256584
2025-11-03T10:25:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6474613 -24.256584
2025-11-03T10:25:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6474613 -24.256584
2025-11-03T10:25:22.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6474613 -24.256584
2025-11-03T10:25:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6474613;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66725;2460982.85095803;10.42298;1.3;_15.6222189067518 -24.1718346915189
2025-11-03T10:25:22.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6222189067518     dec_j2k = -24.1718346915189
2025-11-03T10:25:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:22.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:22.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968838596000173;171.162357330327;_
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968838596000173;171.162357330327;_
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:22.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:22.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:22.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38885)
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:22.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:22.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:22.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:22.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:22.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85095799, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968838596000173, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6474613, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66722, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:24:22.840621', telescope_ra_j2k=15.6222189067518, telescope_dec_j2k=-24.1718346915189, observability=1)
2025-11-03T10:25:22.946 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:22
2025-11-03T10:25:22.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:22.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15530085563659668s
2025-11-03T10:25:22.946 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15530085563659668
2025-11-03T10:25:22.975 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:22
2025-11-03T10:25:22.975 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:22.975 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18395614624023438s
2025-11-03T10:25:22.975 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18395614624023438
2025-11-03T10:25:22.982 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:22.982 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:22.982 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:22.982 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:22.982 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:22.983 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:22.983 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:22.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:22.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:22.984 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:22.984 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:25:22.984 [INFO] [ThreadPoolExecutor-3461_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:25:22.984 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T10:25:24.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:24
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.976053237915039s
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:24.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:24.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6480399;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6678;2460982.85098112;10.42352889;1.3;_
2025-11-03T10:25:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6480399;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6678;2460982.85098112;10.42352889;1.3;_
2025-11-03T10:25:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:24.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:24.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6480399, teldec = -24.256584
2025-11-03T10:25:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6480399 -24.256584
2025-11-03T10:25:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6480399 -24.256584
2025-11-03T10:25:24.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6480399 -24.256584
2025-11-03T10:25:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6480399;-24.256584;50.10851;89.993042;50.08601;90.12017;12.6678;2460982.85098115;10.42352889;1.3;_15.6227971042143 -24.1718519388389
2025-11-03T10:25:24.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6227971042143     dec_j2k = -24.1718519388389
2025-11-03T10:25:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:24.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968834584805893;171.162357330327;_
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968834584805893;171.162357330327;_
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:24.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:24.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:24.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55607)
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:24.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:24.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:24.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85098112, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968834584805893, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6480399, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6678, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6227971042143, telescope_dec_j2k=-24.1718519388389, observability=1)
2025-11-03T10:25:25.206 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:25
2025-11-03T10:25:25.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:25.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.42291712760925293s
2025-11-03T10:25:25.206 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.42291712760925293
2025-11-03T10:25:25.254 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:25
2025-11-03T10:25:25.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:25.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4709749221801758s
2025-11-03T10:25:25.254 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4709749221801758
2025-11-03T10:25:26.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:26
2025-11-03T10:25:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.623053789138794s
2025-11-03T10:25:26.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:26.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:26.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6484889;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66825;2460982.8510001;10.42397667;1.3;_
2025-11-03T10:25:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6484889;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66825;2460982.8510001;10.42397667;1.3;_
2025-11-03T10:25:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:26.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6484889, teldec = -24.256584
2025-11-03T10:25:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6484889 -24.256584
2025-11-03T10:25:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6484889 -24.256584
2025-11-03T10:25:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6484889 -24.256584
2025-11-03T10:25:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6484889;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66825;2460982.85100013;10.42397667;1.3;_15.6232457918892 -24.1718653243143
2025-11-03T10:25:26.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6232457918892     dec_j2k = -24.1718653243143
2025-11-03T10:25:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:26.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968838596000173;171.162357330327;_
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968838596000173;171.162357330327;_
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:26.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:26.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:26.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35321)
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:26.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:26.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:26.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8510001, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968838596000173, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6484889, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66825, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6232457918892, telescope_dec_j2k=-24.1718653243143, observability=1)
2025-11-03T10:25:26.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:26
2025-11-03T10:25:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02291250228881836s
2025-11-03T10:25:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02291250228881836
2025-11-03T10:25:26.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:26
2025-11-03T10:25:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34272313117980957s
2025-11-03T10:25:26.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34272313117980957
2025-11-03T10:25:28.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:28
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9766559600830078s
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6490493;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66881;2460982.85102318;10.42453556;1.3;_
2025-11-03T10:25:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6490493;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66881;2460982.85102318;10.42453556;1.3;_
2025-11-03T10:25:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:28.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6490493, teldec = -24.256584
2025-11-03T10:25:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6490493 -24.256584
2025-11-03T10:25:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6490493 -24.256584
2025-11-03T10:25:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6490493 -24.256584
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6490493;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66881;2460982.85102321;10.42453556;1.3;_15.6238058021335 -24.1718820324909
2025-11-03T10:25:28.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6238058021335     dec_j2k = -24.1718820324909
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968836590403033;171.162373423581;_
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968836590403033;171.162373423581;_
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58299)
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:28.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:28.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:28.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:28.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:28.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:28.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:28.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:28.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:28.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:28.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:28.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85102318, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968836590403033, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6490493, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66881, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6238058021335, telescope_dec_j2k=-24.1718820324909, observability=1)
2025-11-03T10:25:28.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:28
2025-11-03T10:25:28.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:28.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02269124984741211s
2025-11-03T10:25:28.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02269124984741211
2025-11-03T10:25:28.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:28
2025-11-03T10:25:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3486912250518799s
2025-11-03T10:25:28.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3486912250518799
2025-11-03T10:25:30.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:30
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9903035163879395s
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:30.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:30.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6495997;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66936;2460982.85104645;10.42508444;1.3;_
2025-11-03T10:25:30.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6495997;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66936;2460982.85104645;10.42508444;1.3;_
2025-11-03T10:25:30.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:30.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:30.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:30.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:30.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:30.414 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6495997, teldec = -24.256584
2025-11-03T10:25:30.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6495997 -24.256584
2025-11-03T10:25:30.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6495997 -24.256584
2025-11-03T10:25:30.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6495997 -24.256584
2025-11-03T10:25:30.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6495997;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66936;2460982.85104647;10.42508444;1.3;_15.6243558193969 -24.1718984443274
2025-11-03T10:25:30.416 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6243558193969     dec_j2k = -24.1718984443274
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968834183686465;171.162357330327;_
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968834183686465;171.162357330327;_
2025-11-03T10:25:30.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:30.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:30.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:30.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:30.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:30.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56833)
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:30.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:30.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:30.430 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:30.430 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:30.430 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:30.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:30.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:30.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:30.431 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:30.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:30.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85104645, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968834183686465, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6495997, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66936, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6243558193969, telescope_dec_j2k=-24.1718984443274, observability=1)
2025-11-03T10:25:30.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:30
2025-11-03T10:25:30.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:30.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022655725479125977s
2025-11-03T10:25:30.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022655725479125977
2025-11-03T10:25:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:30
2025-11-03T10:25:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3361794948577881s
2025-11-03T10:25:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3361794948577881
2025-11-03T10:25:32.485 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:32
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0545802116394043s
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:32.485 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:32.486 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:32.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:32.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:32.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6501882;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66995;2460982.85107045;10.42567139;1.3;_
2025-11-03T10:25:32.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6501882;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66995;2460982.85107045;10.42567139;1.3;_
2025-11-03T10:25:32.487 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:32.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:32.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:32.488 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:32.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:32.489 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6501882, teldec = -24.256584
2025-11-03T10:25:32.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6501882 -24.256584
2025-11-03T10:25:32.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6501882 -24.256584
2025-11-03T10:25:32.489 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6501882 -24.256584
2025-11-03T10:25:32.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6501882;-24.256584;50.10851;89.993042;50.08601;90.12017;12.66995;2460982.85107049;10.42567139;1.3;_15.6249439102369 -24.1719159942111
2025-11-03T10:25:32.490 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6249439102369     dec_j2k = -24.1719159942111
2025-11-03T10:25:32.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:32.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:32.490 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968837793761317;171.162357330327;_
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968837793761317;171.162357330327;_
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:32.491 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:32.492 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52111)
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:32.494 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:32.501 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:32.501 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:32.501 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:32.501 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:32.501 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:32.502 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:32.502 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:32.502 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:32.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:32.502 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85107045, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968837793761317, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6501882, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.66995, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6249439102369, telescope_dec_j2k=-24.1719159942111, observability=1)
2025-11-03T10:25:32.523 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:32
2025-11-03T10:25:32.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:32.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02156543731689453s
2025-11-03T10:25:32.523 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02156543731689453
2025-11-03T10:25:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:32
2025-11-03T10:25:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26455092430114746s
2025-11-03T10:25:32.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26455092430114746
2025-11-03T10:25:34.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:34
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9004740715026855s
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6507203;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67048;2460982.85109264;10.42620194;1.3;_
2025-11-03T10:25:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6507203;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67048;2460982.85109264;10.42620194;1.3;_
2025-11-03T10:25:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:34.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6507203, teldec = -24.256584
2025-11-03T10:25:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6507203 -24.256584
2025-11-03T10:25:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6507203 -24.256584
2025-11-03T10:25:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6507203 -24.256584
2025-11-03T10:25:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6507203;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67048;2460982.85109266;10.42620194;1.3;_15.625475640352 -24.1719318639307
2025-11-03T10:25:34.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.625475640352     dec_j2k = -24.1719318639307
2025-11-03T10:25:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847019508163;171.162368059163;_
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847019508163;171.162368059163;_
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:34.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:34.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:34.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40675)
2025-11-03T10:25:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:34.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:34.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:34.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85109264, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847019508163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6507203, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67048, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.625475640352, telescope_dec_j2k=-24.1719318639307, observability=1)
2025-11-03T10:25:34.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:34
2025-11-03T10:25:34.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:34.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025006532669067383s
2025-11-03T10:25:34.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025006532669067383
2025-11-03T10:25:34.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:34
2025-11-03T10:25:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35210609436035156s
2025-11-03T10:25:34.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35210609436035156
2025-11-03T10:25:36.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:36
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9760501384735107s
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6512801;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67104;2460982.85111572;10.42676028;1.3;_
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6512801;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67104;2460982.85111572;10.42676028;1.3;_
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:36.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6512801, teldec = -24.256584
2025-11-03T10:25:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6512801 -24.256584
2025-11-03T10:25:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6512801 -24.256584
2025-11-03T10:25:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6512801 -24.256584
2025-11-03T10:25:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6512801;-24.256584;50.10851;89.993042;50.08601;90.12017;12.67104;2460982.85111574;10.42676028;1.3;_15.626035051276 -24.1719485616
2025-11-03T10:25:36.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.626035051276     dec_j2k = -24.1719485616
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847019508163;171.162357330327;_
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847019508163;171.162357330327;_
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49965)
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:36.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:36.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:36.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85111572, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847019508163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6512801, telescope_dec=-24.256584, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67104, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.626035051276, telescope_dec_j2k=-24.1719485616, observability=1)
2025-11-03T10:25:36.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:36
2025-11-03T10:25:36.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:36.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02201366424560547s
2025-11-03T10:25:36.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02201366424560547
2025-11-03T10:25:36.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:36
2025-11-03T10:25:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3552274703979492s
2025-11-03T10:25:36.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3552274703979492
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Status age = 1.2146716117858887s
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:37.628 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:37.629 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:37.630 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 17;15.6516074;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67137;2460982.85112998;10.42708667;1.3;_
2025-11-03T10:25:37.630 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response 17;15.6516074;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67137;2460982.85112998;10.42708667;1.3;_
2025-11-03T10:25:37.630 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:37.630 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:37.630 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:37.631 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:37.631 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:37.631 [INFO] [Thread-88897 (handle)] [driver.py] [get_status()] Telra = 15.6516074, teldec = -24.256583
2025-11-03T10:25:37.631 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6516074 -24.256583
2025-11-03T10:25:37.631 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6516074 -24.256583
2025-11-03T10:25:37.631 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6516074 -24.256583
2025-11-03T10:25:37.632 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 17;15.6516074;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67137;2460982.85113;10.42708667;1.3;_15.6263621239836 -24.1719573251665
2025-11-03T10:25:37.632 [INFO] [Thread-88897 (handle)] [driver.py] [get_status()] ra_j2k = 15.6263621239836     dec_j2k = -24.1719573251665
2025-11-03T10:25:37.632 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:37.632 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:37.632 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 140;0.096883939823903;171.162357330327;_
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response 140;0.096883939823903;171.162357330327;_
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:37.633 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:37.634 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:37.635 [DEBUG] [Thread-88897 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:37.635 [DEBUG] [Thread-88897 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:37.635 [DEBUG] [Thread-88897 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43213)
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:37.639 [DEBUG] [Thread-88897 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:37.646 [DEBUG] [Thread-88897 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:37.647 [DEBUG] [Thread-88897 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:37.647 [INFO] [Thread-88897 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85112998, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096883939823903, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6516074, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67137, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6263621239836, telescope_dec_j2k=-24.1719573251665, observability=1)
2025-11-03T10:25:38.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:38
2025-11-03T10:25:38.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:38.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7511026859283447s
2025-11-03T10:25:38.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7511026859283447
2025-11-03T10:25:38.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:38
2025-11-03T10:25:38.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:38.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7726833820343018s
2025-11-03T10:25:38.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7726833820343018
2025-11-03T10:25:38.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:38
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1196882724761963s
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:38.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:38.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:38.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6519436;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67171;2460982.85114315;10.42742194;1.3;_
2025-11-03T10:25:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6519436;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67171;2460982.85114315;10.42742194;1.3;_
2025-11-03T10:25:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:38.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:38.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6519436, teldec = -24.256583
2025-11-03T10:25:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6519436 -24.256583
2025-11-03T10:25:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6519436 -24.256583
2025-11-03T10:25:38.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6519436 -24.256583
2025-11-03T10:25:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6519436;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67171;2460982.85114318;10.42742194;1.3;_15.6266980903703 -24.1719673548528
2025-11-03T10:25:38.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6266980903703     dec_j2k = -24.1719673548528
2025-11-03T10:25:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:38.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968845013911022;171.162346601491;_
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968845013911022;171.162346601491;_
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:38.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:38.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:38.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35843)
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:38.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:38.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:38.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:38.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85114315, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968845013911022, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6519436, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67171, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6266980903703, telescope_dec_j2k=-24.1719673548528, observability=1)
2025-11-03T10:25:40.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:40
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6163098812103271s
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6523921;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67215;2460982.85116206;10.42786917;1.3;_
2025-11-03T10:25:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6523921;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67215;2460982.85116206;10.42786917;1.3;_
2025-11-03T10:25:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:40.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6523921, teldec = -24.256583
2025-11-03T10:25:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6523921 -24.256583
2025-11-03T10:25:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6523921 -24.256583
2025-11-03T10:25:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6523921 -24.256583
2025-11-03T10:25:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6523921;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67215;2460982.85116208;10.42786917;1.3;_15.6271462787608 -24.171980735768
2025-11-03T10:25:40.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6271462787608     dec_j2k = -24.171980735768
2025-11-03T10:25:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968849426224731;171.162346601491;_
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968849426224731;171.162346601491;_
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:40.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:40.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54811)
2025-11-03T10:25:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:40.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85116206, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968849426224731, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6523921, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67215, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6271462787608, telescope_dec_j2k=-24.171980735768, observability=1)
2025-11-03T10:25:40.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:40
2025-11-03T10:25:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021875381469726562s
2025-11-03T10:25:40.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021875381469726562
2025-11-03T10:25:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:40
2025-11-03T10:25:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34819960594177246s
2025-11-03T10:25:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34819960594177246
2025-11-03T10:25:42.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:42
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9811375141143799s
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6529516;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67271;2460982.85118517;10.42842722;1.3;_
2025-11-03T10:25:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6529516;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67271;2460982.85118517;10.42842722;1.3;_
2025-11-03T10:25:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:42.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6529516, teldec = -24.256583
2025-11-03T10:25:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6529516 -24.256583
2025-11-03T10:25:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6529516 -24.256583
2025-11-03T10:25:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6529516 -24.256583
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6529516;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67271;2460982.85118521;10.42842722;1.3;_15.6277053900899 -24.1719974300129
2025-11-03T10:25:42.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6277053900899     dec_j2k = -24.1719974300129
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968840200477886;171.162368059163;_
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968840200477886;171.162368059163;_
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41153)
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:42.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:42.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85118517, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968840200477886, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6529516, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67271, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6277053900899, telescope_dec_j2k=-24.1719974300129, observability=1)
2025-11-03T10:25:42.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:42
2025-11-03T10:25:42.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:42.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02251434326171875s
2025-11-03T10:25:42.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02251434326171875
2025-11-03T10:25:42.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:42
2025-11-03T10:25:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3481016159057617s
2025-11-03T10:25:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3481016159057617
2025-11-03T10:25:43.865 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.865 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.865 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:43.865 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:43.865 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:25:43.866 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:43.867 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:43.868 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:25:43.869 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:43.870 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Park
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:25:43.871 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:25:43.872 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 29;15.6533625;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67313;2460982.85120222;10.42883694;1.3;_Park Command Successful
2025-11-03T10:25:44.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:44
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9822194576263428s
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6535034;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67327;2460982.85120837;10.4289775;1.3;_
2025-11-03T10:25:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6535034;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67327;2460982.85120837;10.4289775;1.3;_
2025-11-03T10:25:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:44.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6535034, teldec = -24.256583
2025-11-03T10:25:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6535034 -24.256583
2025-11-03T10:25:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6535034 -24.256583
2025-11-03T10:25:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6535034 -24.256583
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6535034;-24.256583;50.10851;89.993042;50.08601;90.12017;12.67327;2460982.85120839;10.4289775;1.3;_15.6282568068324 -24.172013896317
2025-11-03T10:25:44.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6282568068324     dec_j2k = -24.172013896317
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968846618388735;171.162362694745;_
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968846618388735;171.162362694745;_
2025-11-03T10:25:44.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:44.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:44.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60337)
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:44.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:44.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:44.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85120837, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968846618388735, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.10851, telescope_az=89.993042, telescope_ra=15.6535034, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67327, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6282568068324, telescope_dec_j2k=-24.172013896317, observability=1)
2025-11-03T10:25:44.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:44
2025-11-03T10:25:44.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:44.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02133774757385254s
2025-11-03T10:25:44.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02133774757385254
2025-11-03T10:25:44.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:44
2025-11-03T10:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3489246368408203s
2025-11-03T10:25:44.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3489246368408203
2025-11-03T10:25:44.829 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:44.829 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.41104960441589355s
2025-11-03T10:25:44.829 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41104960441589355
2025-11-03T10:25:44.872 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:25:44.872 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:25:44.872 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:25:44.873 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:25:44.873 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:25:45.873 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:25:45.873 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:25:45.874 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:25:45.874 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:25:45.874 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:25:46.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:46
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9807512760162354s
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:46.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6540636;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67383;2460982.85123148;10.42953611;1.3;_
2025-11-03T10:25:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6540636;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67383;2460982.85123148;10.42953611;1.3;_
2025-11-03T10:25:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:46.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6540636, teldec = -24.256583
2025-11-03T10:25:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6540636 -24.256583
2025-11-03T10:25:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6540636 -24.256583
2025-11-03T10:25:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6540636 -24.256583
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6540636;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67383;2460982.85123152;10.42953611;1.3;_15.6288166178061 -24.1720306151246
2025-11-03T10:25:46.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6288166178061     dec_j2k = -24.1720306151246
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968851832941299;171.162357330327;_
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968851832941299;171.162357330327;_
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:46.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:46.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:46.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40495)
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:46.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:46.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85123148, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968851832941299, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6540636, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67383, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6288166178061, telescope_dec_j2k=-24.1720306151246, observability=1)
2025-11-03T10:25:46.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:46
2025-11-03T10:25:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022067546844482422s
2025-11-03T10:25:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022067546844482422
2025-11-03T10:25:46.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:46
2025-11-03T10:25:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.352496862411499s
2025-11-03T10:25:46.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.352496862411499
2025-11-03T10:25:46.875 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:25:46.875 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:25:46.875 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:25:46.876 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:25:46.876 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:25:47.876 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:25:47.876 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:25:47.876 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:47.878 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:25:47.879 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:25:47.880 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:48.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:48
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980344533920288s
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:48.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6546232;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67439;2460982.85125461;10.43009417;1.3;_
2025-11-03T10:25:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6546232;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67439;2460982.85125461;10.43009417;1.3;_
2025-11-03T10:25:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:48.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6546232, teldec = -24.256583
2025-11-03T10:25:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6546232 -24.256583
2025-11-03T10:25:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6546232 -24.256583
2025-11-03T10:25:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6546232 -24.256583
2025-11-03T10:25:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6546232;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67439;2460982.85125464;10.43009417;1.3;_15.6293758292623 -24.1720473178747
2025-11-03T10:25:48.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6293758292623     dec_j2k = -24.1720473178747
2025-11-03T10:25:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968846618388735;171.162357330327;_
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968846618388735;171.162357330327;_
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:48.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42013)
2025-11-03T10:25:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:48.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:48.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:48.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:48.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:48.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85125461, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968846618388735, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6546232, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67439, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6293758292623, telescope_dec_j2k=-24.1720473178747, observability=1)
2025-11-03T10:25:48.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:48
2025-11-03T10:25:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021586179733276367s
2025-11-03T10:25:48.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021586179733276367
2025-11-03T10:25:48.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:48
2025-11-03T10:25:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3492004871368408s
2025-11-03T10:25:48.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3492004871368408
2025-11-03T10:25:48.880 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:48.880 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:48.880 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:48.880 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:48.880 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:25:48.881 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:25:48.882 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:25:48.882 [DEBUG] [ThreadPoolExecutor-3460_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:48.882 [INFO] [ThreadPoolExecutor-3460_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:25:50.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:50
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829297065734863s
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:50.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6551741;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67494;2460982.85127777;10.43064361;1.3;_
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6551741;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67494;2460982.85127777;10.43064361;1.3;_
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:50.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6551741, teldec = -24.256583
2025-11-03T10:25:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6551741 -24.256583
2025-11-03T10:25:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6551741 -24.256583
2025-11-03T10:25:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6551741 -24.256583
2025-11-03T10:25:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6551741;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67494;2460982.85127779;10.43064361;1.3;_15.6299263468235 -24.1720637627551
2025-11-03T10:25:50.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6299263468235     dec_j2k = -24.1720637627551
2025-11-03T10:25:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968848222866447;171.162357330327;_
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968848222866447;171.162357330327;_
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34733)
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:50.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:50.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:50.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:50.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:50.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85127777, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968848222866447, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6551741, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67494, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6299263468235, telescope_dec_j2k=-24.1720637627551, observability=1)
2025-11-03T10:25:50.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:50
2025-11-03T10:25:50.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:50.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021718978881835938s
2025-11-03T10:25:50.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021718978881835938
2025-11-03T10:25:50.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:50
2025-11-03T10:25:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34557652473449707s
2025-11-03T10:25:50.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34557652473449707
2025-11-03T10:25:52.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:52
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9814655780792236s
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:52.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6557348;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6755;2460982.85130091;10.43120278;1.3;_
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6557348;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6755;2460982.85130091;10.43120278;1.3;_
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:52.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6557348, teldec = -24.256583
2025-11-03T10:25:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6557348 -24.256583
2025-11-03T10:25:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6557348 -24.256583
2025-11-03T10:25:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6557348 -24.256583
2025-11-03T10:25:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6557348;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6755;2460982.85130095;10.43120278;1.3;_15.630486657647 -24.1720805020131
2025-11-03T10:25:52.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.630486657647     dec_j2k = -24.1720805020131
2025-11-03T10:25:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847420627591;171.162368059163;_
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847420627591;171.162368059163;_
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:52.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50437)
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:52.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:52.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:52.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:52.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85130091, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847420627591, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6557348, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6755, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.630486657647, telescope_dec_j2k=-24.1720805020131, observability=1)
2025-11-03T10:25:52.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:52
2025-11-03T10:25:52.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:52.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021616458892822266s
2025-11-03T10:25:52.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021616458892822266
2025-11-03T10:25:52.690 [DEBUG] [Thread-88898 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:52.690 [DEBUG] [Thread-88898 (handle)] [server.py] [get_status()] Status age = 0.2756679058074951s
2025-11-03T10:25:52.690 [DEBUG] [Thread-88898 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2756679058074951
2025-11-03T10:25:52.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:52
2025-11-03T10:25:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3544306755065918s
2025-11-03T10:25:52.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3544306755065918
2025-11-03T10:25:54.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:54
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9990339279174805s
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:54.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6562944;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67606;2460982.85132425;10.43176083;1.3;_
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6562944;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67606;2460982.85132425;10.43176083;1.3;_
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:54.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:54.416 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6562944, teldec = -24.256583
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6562944 -24.256583
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6562944 -24.256583
2025-11-03T10:25:54.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6562944 -24.256583
2025-11-03T10:25:54.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6562944;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67606;2460982.85132427;10.43176083;1.3;_15.6310458692999 -24.1720972102802
2025-11-03T10:25:54.417 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6310458692999     dec_j2k = -24.1720972102802
2025-11-03T10:25:54.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:54.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:54.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847019508163;171.162362694745;_
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847019508163;171.162362694745;_
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:54.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:54.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:54.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44537)
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:54.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:54.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:54.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:54.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85132425, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847019508163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6562944, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67606, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6310458692999, telescope_dec_j2k=-24.1720972102802, observability=1)
2025-11-03T10:25:54.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:54
2025-11-03T10:25:54.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021597623825073242s
2025-11-03T10:25:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021597623825073242
2025-11-03T10:25:54.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:54
2025-11-03T10:25:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33909106254577637s
2025-11-03T10:25:54.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33909106254577637
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Status age = 1.3223612308502197s
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:55.750 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:55.751 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:55.752 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 17;15.6566493;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67641;2460982.85133972;10.43211472;1.3;_
2025-11-03T10:25:55.752 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response 17;15.6566493;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67641;2460982.85133972;10.43211472;1.3;_
2025-11-03T10:25:55.752 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:55.752 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:55.752 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:55.753 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:55.753 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:55.753 [INFO] [Thread-88899 (handle)] [driver.py] [get_status()] Telra = 15.6566493, teldec = -24.256583
2025-11-03T10:25:55.753 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6566493 -24.256583
2025-11-03T10:25:55.753 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6566493 -24.256583
2025-11-03T10:25:55.753 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6566493 -24.256583
2025-11-03T10:25:55.754 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 17;15.6566493;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67641;2460982.85133975;10.43211472;1.3;_15.6314005230431 -24.1721078076704
2025-11-03T10:25:55.754 [INFO] [Thread-88899 (handle)] [driver.py] [get_status()] ra_j2k = 15.6314005230431     dec_j2k = -24.1721078076704
2025-11-03T10:25:55.754 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:55.754 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:55.754 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 140;0.0968844211672166;171.162357330327;_
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response 140;0.0968844211672166;171.162357330327;_
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:55.755 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:55.756 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:55.756 [DEBUG] [Thread-88899 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:55.756 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:55.756 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:55.756 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:55.757 [DEBUG] [Thread-88899 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:55.757 [DEBUG] [Thread-88899 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:55.757 [DEBUG] [Thread-88899 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51065)
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:55.760 [DEBUG] [Thread-88899 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:55.767 [DEBUG] [Thread-88899 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:55.768 [DEBUG] [Thread-88899 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:55.768 [INFO] [Thread-88899 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85133972, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968844211672166, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6566493, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67641, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6314005230431, telescope_dec_j2k=-24.1721078076704, observability=1)
2025-11-03T10:25:56.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:56
2025-11-03T10:25:56.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:56.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6423203945159912s
2025-11-03T10:25:56.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6423203945159912
2025-11-03T10:25:56.669 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:56
2025-11-03T10:25:56.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:56.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9018397331237793s
2025-11-03T10:25:56.669 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9018397331237793
2025-11-03T10:25:56.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:56
2025-11-03T10:25:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0018677711486816s
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6569295;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67669;2460982.85135152;10.43239417;1.3;_
2025-11-03T10:25:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6569295;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67669;2460982.85135152;10.43239417;1.3;_
2025-11-03T10:25:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:56.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6569295, teldec = -24.256583
2025-11-03T10:25:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6569295 -24.256583
2025-11-03T10:25:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6569295 -24.256583
2025-11-03T10:25:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6569295 -24.256583
2025-11-03T10:25:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6569295;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67669;2460982.85135155;10.43239417;1.3;_15.6316805286377 -24.1721161750272
2025-11-03T10:25:56.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6316805286377     dec_j2k = -24.1721161750272
2025-11-03T10:25:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847019508163;171.162368059163;_
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847019508163;171.162368059163;_
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:56.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55797)
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:56.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:56.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:56.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:56.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:56.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:56.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85135152, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847019508163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6569295, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67669, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6316805286377, telescope_dec_j2k=-24.1721161750272, observability=1)
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2051165103912354s
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:25:57.992 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:25:57.993 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:25:57.994 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:25:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6572938;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67706;2460982.85136567;10.4327575;1.3;_
2025-11-03T10:25:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6572938;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67706;2460982.85136567;10.4327575;1.3;_
2025-11-03T10:25:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:25:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:25:57.995 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:25:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:25:57.996 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6572938, teldec = -24.256583
2025-11-03T10:25:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6572938 -24.256583
2025-11-03T10:25:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6572938 -24.256583
2025-11-03T10:25:57.996 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6572938 -24.256583
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6572938;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67706;2460982.85136571;10.4327575;1.3;_15.6320445759075 -24.1721270544777
2025-11-03T10:25:57.997 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.6320445759075     dec_j2k = -24.1721270544777
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096884340943331;171.162368059163;_
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096884340943331;171.162368059163;_
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:57.997 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:25:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:25:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:25:57.998 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:25:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:25:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:57.999 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:25:58.000 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:25:58.003 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36733)
2025-11-03T10:25:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:25:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:25:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:25:58.004 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:25:58.004 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:25:58.011 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:25:58.011 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85136567, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096884340943331, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6572938, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67706, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6320445759075, telescope_dec_j2k=-24.1721270544777, observability=1)
2025-11-03T10:25:58.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:58
2025-11-03T10:25:58.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:58.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.39078307151794434s
2025-11-03T10:25:58.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.39078307151794434
2025-11-03T10:25:58.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:58
2025-11-03T10:25:58.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:58.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.41227221488952637s
2025-11-03T10:25:58.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.41227221488952637
2025-11-03T10:25:58.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:25:58
2025-11-03T10:25:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:25:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7539458274841309s
2025-11-03T10:25:58.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7539458274841309
2025-11-03T10:26:00.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:00
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.401510238647461s
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:00.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:00.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6579659;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67773;2460982.85139368;10.43342778;1.3;_
2025-11-03T10:26:00.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6579659;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67773;2460982.85139368;10.43342778;1.3;_
2025-11-03T10:26:00.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:00.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:00.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:00.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:00.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:00.415 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6579659, teldec = -24.256583
2025-11-03T10:26:00.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6579659 -24.256583
2025-11-03T10:26:00.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6579659 -24.256583
2025-11-03T10:26:00.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6579659 -24.256583
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6579659;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67773;2460982.8513937;10.43342778;1.3;_15.632716209717 -24.1721471281163
2025-11-03T10:26:00.416 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.632716209717     dec_j2k = -24.1721471281163
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968840200477886;171.162362694745;_
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968840200477886;171.162362694745;_
2025-11-03T10:26:00.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:00.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:00.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:00.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:00.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:00.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:00.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:00.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:00.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54759)
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:00.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:00.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:00.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85139368, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968840200477886, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6579659, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67773, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.632716209717, telescope_dec_j2k=-24.1721471281163, observability=1)
2025-11-03T10:26:00.455 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:00
2025-11-03T10:26:00.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:00.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02148151397705078s
2025-11-03T10:26:00.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02148151397705078
2025-11-03T10:26:00.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:00
2025-11-03T10:26:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33089542388916016s
2025-11-03T10:26:00.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33089542388916016
2025-11-03T10:26:02.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:02
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9727590084075928s
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6585171;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67828;2460982.85141675;10.4339775;1.3;_
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6585171;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67828;2460982.85141675;10.4339775;1.3;_
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:02.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6585171, teldec = -24.256583
2025-11-03T10:26:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6585171 -24.256583
2025-11-03T10:26:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6585171 -24.256583
2025-11-03T10:26:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6585171 -24.256583
2025-11-03T10:26:02.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6585171;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67828;2460982.85141677;10.4339775;1.3;_15.6332670274575 -24.1721635928167
2025-11-03T10:26:02.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6332670274575     dec_j2k = -24.1721635928167
2025-11-03T10:26:02.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968849025105303;171.162351965909;_
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968849025105303;171.162351965909;_
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:02.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:02.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:02.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:02.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53893)
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:02.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:02.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:02.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85141675, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968849025105303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6585171, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67828, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6332670274575, telescope_dec_j2k=-24.1721635928167, observability=1)
2025-11-03T10:26:02.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:02
2025-11-03T10:26:02.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:02.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021927356719970703s
2025-11-03T10:26:02.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021927356719970703
2025-11-03T10:26:02.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:02
2025-11-03T10:26:02.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3379943370819092s
2025-11-03T10:26:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3379943370819092
2025-11-03T10:26:04.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:04
2025-11-03T10:26:04.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:04.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9748926162719727s
2025-11-03T10:26:04.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:04.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6590778;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67884;2460982.85143985;10.43453667;1.3;_
2025-11-03T10:26:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6590778;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67884;2460982.85143985;10.43453667;1.3;_
2025-11-03T10:26:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:04.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6590778, teldec = -24.256583
2025-11-03T10:26:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6590778 -24.256583
2025-11-03T10:26:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6590778 -24.256583
2025-11-03T10:26:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6590778 -24.256583
2025-11-03T10:26:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6590778;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67884;2460982.85143987;10.43453667;1.3;_15.6338273386754 -24.172180343125
2025-11-03T10:26:04.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6338273386754     dec_j2k = -24.172180343125
2025-11-03T10:26:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968848222866447;171.162357330327;_
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968848222866447;171.162357330327;_
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42539)
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:04.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:04.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:04.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85143985, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968848222866447, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6590778, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67884, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6338273386754, telescope_dec_j2k=-24.172180343125, observability=1)
2025-11-03T10:26:04.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:04
2025-11-03T10:26:04.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:04.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02096724510192871s
2025-11-03T10:26:04.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02096724510192871
2025-11-03T10:26:04.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:04
2025-11-03T10:26:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3426392078399658s
2025-11-03T10:26:04.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3426392078399658
2025-11-03T10:26:06.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:06
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0244321823120117s
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:06.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:06.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:06.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.659638;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6794;2460982.85146352;10.43509528;1.3;_
2025-11-03T10:26:06.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.659638;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6794;2460982.85146352;10.43509528;1.3;_
2025-11-03T10:26:06.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:06.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:06.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:06.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:06.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:06.449 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.659638, teldec = -24.256583
2025-11-03T10:26:06.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.659638 -24.256583
2025-11-03T10:26:06.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.659638 -24.256583
2025-11-03T10:26:06.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.659638 -24.256583
2025-11-03T10:26:06.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.659638;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6794;2460982.85146354;10.43509528;1.3;_15.6343871503061 -24.172197080346
2025-11-03T10:26:06.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6343871503061     dec_j2k = -24.172197080346
2025-11-03T10:26:06.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:06.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:06.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847019508163;171.162373423581;_
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847019508163;171.162373423581;_
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:06.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:06.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:06.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:06.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:06.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:06.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45167)
2025-11-03T10:26:06.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:06.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:06.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:06.460 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:06.460 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:06.467 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:06.467 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85146352, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847019508163, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.659638, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6794, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6343871503061, telescope_dec_j2k=-24.172197080346, observability=1)
2025-11-03T10:26:06.490 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:06
2025-11-03T10:26:06.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:06.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022620677947998047s
2025-11-03T10:26:06.490 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022620677947998047
2025-11-03T10:26:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:06
2025-11-03T10:26:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2991156578063965s
2025-11-03T10:26:06.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2991156578063965
2025-11-03T10:26:08.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:08
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9287772178649902s
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:08.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:08.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6601889;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67995;2460982.85148609;10.43564472;1.3;_
2025-11-03T10:26:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6601889;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67995;2460982.85148609;10.43564472;1.3;_
2025-11-03T10:26:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:08.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6601889, teldec = -24.256583
2025-11-03T10:26:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6601889 -24.256583
2025-11-03T10:26:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6601889 -24.256583
2025-11-03T10:26:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6601889 -24.256583
2025-11-03T10:26:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6601889;-24.256583;50.108509;89.993042;50.08601;90.12017;12.67995;2460982.85148611;10.43564472;1.3;_15.6349376684486 -24.1722135415115
2025-11-03T10:26:08.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6349376684486     dec_j2k = -24.1722135415115
2025-11-03T10:26:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968849025105303;171.162346601491;_
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968849025105303;171.162346601491;_
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43315)
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:08.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:08.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:08.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:08.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:08.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:08.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:08.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:08.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:08.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:08.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:08.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85148609, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968849025105303, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6601889, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.67995, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6349376684486, telescope_dec_j2k=-24.1722135415115, observability=1)
2025-11-03T10:26:08.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:08
2025-11-03T10:26:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0223085880279541s
2025-11-03T10:26:08.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0223085880279541
2025-11-03T10:26:08.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:08
2025-11-03T10:26:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35064697265625s
2025-11-03T10:26:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35064697265625
2025-11-03T10:26:10.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:10
2025-11-03T10:26:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:10.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897215366363525s
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:10.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:10.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6607507;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68051;2460982.85150936;10.436205;1.3;_
2025-11-03T10:26:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6607507;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68051;2460982.85150936;10.436205;1.3;_
2025-11-03T10:26:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:10.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:10.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6607507, teldec = -24.256583
2025-11-03T10:26:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6607507 -24.256583
2025-11-03T10:26:10.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6607507 -24.256583
2025-11-03T10:26:10.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6607507 -24.256583
2025-11-03T10:26:10.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6607507;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68051;2460982.85150939;10.436205;1.3;_15.6354990791016 -24.1722303302152
2025-11-03T10:26:10.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6354990791016     dec_j2k = -24.1722303302152
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096885584413558;171.162351965909;_
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096885584413558;171.162351965909;_
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:10.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:10.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:10.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:10.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:10.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47937)
2025-11-03T10:26:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:10.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:10.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:10.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:10.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:10.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85150936, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096885584413558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6607507, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68051, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6354990791016, telescope_dec_j2k=-24.1722303302152, observability=1)
2025-11-03T10:26:10.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:10
2025-11-03T10:26:10.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:10.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021479129791259766s
2025-11-03T10:26:10.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021479129791259766
2025-11-03T10:26:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:10
2025-11-03T10:26:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3413667678833008s
2025-11-03T10:26:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3413667678833008
2025-11-03T10:26:12.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:12
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9710257053375244s
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:12.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:12.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6612833;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68105;2460982.85153237;10.43673611;1.3;_
2025-11-03T10:26:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6612833;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68105;2460982.85153237;10.43673611;1.3;_
2025-11-03T10:26:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:12.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:12.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6612833, teldec = -24.256583
2025-11-03T10:26:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6612833 -24.256583
2025-11-03T10:26:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6612833 -24.256583
2025-11-03T10:26:12.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6612833 -24.256583
2025-11-03T10:26:12.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6612833;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68105;2460982.8515324;10.43673611;1.3;_15.6360313100525 -24.1722462480286
2025-11-03T10:26:12.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6360313100525     dec_j2k = -24.1722462480286
2025-11-03T10:26:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968844211672166;171.162357330327;_
2025-11-03T10:26:12.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968844211672166;171.162357330327;_
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:12.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:12.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57483)
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:12.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:12.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:12.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85153237, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968844211672166, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6612833, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68105, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6360313100525, telescope_dec_j2k=-24.1722462480286, observability=1)
2025-11-03T10:26:12.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:12
2025-11-03T10:26:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022133588790893555s
2025-11-03T10:26:12.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022133588790893555
2025-11-03T10:26:12.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:12
2025-11-03T10:26:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3514575958251953s
2025-11-03T10:26:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3514575958251953
2025-11-03T10:26:13.823 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Status age = 1.4091017246246338s
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:13.824 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:13.825 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:13.826 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 17;15.6616947;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68146;2460982.85154891;10.43714639;1.3;_
2025-11-03T10:26:13.826 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response 17;15.6616947;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68146;2460982.85154891;10.43714639;1.3;_
2025-11-03T10:26:13.826 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:13.826 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:13.826 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:13.827 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:13.827 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:13.827 [INFO] [Thread-88900 (handle)] [driver.py] [get_status()] Telra = 15.6616947, teldec = -24.256583
2025-11-03T10:26:13.827 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6616947 -24.256583
2025-11-03T10:26:13.827 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6616947 -24.256583
2025-11-03T10:26:13.827 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6616947 -24.256583
2025-11-03T10:26:13.828 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 17;15.6616947;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68146;2460982.85154894;10.43714639;1.3;_15.6364424250262 -24.1722585446814
2025-11-03T10:26:13.828 [INFO] [Thread-88900 (handle)] [driver.py] [get_status()] ra_j2k = 15.6364424250262     dec_j2k = -24.1722585446814
2025-11-03T10:26:13.828 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:13.828 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:13.828 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 140;0.0968850228463587;171.162351965909;_
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response 140;0.0968850228463587;171.162351965909;_
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:13.829 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:13.830 [DEBUG] [Thread-88900 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49953)
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:13.835 [DEBUG] [Thread-88900 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:13.843 [DEBUG] [Thread-88900 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:13.843 [INFO] [Thread-88900 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85154891, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968850228463587, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6616947, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68146, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6364424250262, telescope_dec_j2k=-24.1722585446814, observability=1)
2025-11-03T10:26:14.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:14
2025-11-03T10:26:14.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:14.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6036510467529297s
2025-11-03T10:26:14.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6036510467529297
2025-11-03T10:26:14.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:14
2025-11-03T10:26:14.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:14.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6252017021179199s
2025-11-03T10:26:14.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6252017021179199
2025-11-03T10:26:14.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:14
2025-11-03T10:26:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9247043132781982s
2025-11-03T10:26:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9247043132781982
2025-11-03T10:26:15.645 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:26:15
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.8018348217010498s
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:15.645 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:15.646 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:15.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6622;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68196;2460982.85156999;10.43765028;1.3;_
2025-11-03T10:26:15.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.6622;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68196;2460982.85156999;10.43765028;1.3;_
2025-11-03T10:26:15.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:15.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:15.647 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:15.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:15.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:15.648 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.6622, teldec = -24.256583
2025-11-03T10:26:15.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6622 -24.256583
2025-11-03T10:26:15.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6622 -24.256583
2025-11-03T10:26:15.648 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6622 -24.256583
2025-11-03T10:26:15.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6622;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68196;2460982.85157001;10.43765028;1.3;_15.6369473749929 -24.1722736493472
2025-11-03T10:26:15.649 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.6369473749929     dec_j2k = -24.1722736493472
2025-11-03T10:26:15.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:15.649 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968851431821871;171.162357330327;_
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968851431821871;171.162357330327;_
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:15.650 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:15.651 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:15.651 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:15.651 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:15.652 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49101)
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:15.657 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:15.664 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:15.664 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:15.664 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:15.664 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:15.665 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:15.665 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:15.665 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:15.665 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:15.665 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:15.665 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85156999, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968851431821871, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6622, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68196, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6369473749929, telescope_dec_j2k=-24.1722736493472, observability=1)
2025-11-03T10:26:16.410 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:16
2025-11-03T10:26:16.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:16.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7456569671630859s
2025-11-03T10:26:16.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7456569671630859
2025-11-03T10:26:16.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:16
2025-11-03T10:26:16.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:16.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7714049816131592s
2025-11-03T10:26:16.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7714049816131592
2025-11-03T10:26:16.834 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:16
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.1698963642120361s
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:16.835 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:16.836 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:16.836 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:16.836 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:16.836 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:16.837 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6625365;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6823;2460982.85158376;10.43798583;1.3;_
2025-11-03T10:26:16.837 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6625365;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6823;2460982.85158376;10.43798583;1.3;_
2025-11-03T10:26:16.837 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:16.837 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:16.837 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:16.838 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:16.838 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:16.838 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6625365, teldec = -24.256583
2025-11-03T10:26:16.838 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6625365 -24.256583
2025-11-03T10:26:16.838 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6625365 -24.256583
2025-11-03T10:26:16.838 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6625365 -24.256583
2025-11-03T10:26:16.839 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6625365;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6823;2460982.85158378;10.43798583;1.3;_15.6372836419212 -24.1722837089973
2025-11-03T10:26:16.839 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6372836419212     dec_j2k = -24.1722837089973
2025-11-03T10:26:16.839 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:16.839 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:16.839 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968851832941299;171.162357330327;_
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968851832941299;171.162357330327;_
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:16.840 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:16.841 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:16.842 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:16.842 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:16.842 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:16.844 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45029)
2025-11-03T10:26:16.844 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:16.845 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:16.845 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:16.852 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:16.852 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85158376, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968851832941299, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6625365, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6823, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6372836419212, telescope_dec_j2k=-24.1722837089973, observability=1)
2025-11-03T10:26:18.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:18
2025-11-03T10:26:18.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.543506145477295s
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:18.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:18.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.662976;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68274;2460982.85160182;10.43842417;1.3;_
2025-11-03T10:26:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.662976;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68274;2460982.85160182;10.43842417;1.3;_
2025-11-03T10:26:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:18.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:18.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.662976, teldec = -24.256583
2025-11-03T10:26:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.662976 -24.256583
2025-11-03T10:26:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.662976 -24.256583
2025-11-03T10:26:18.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.662976 -24.256583
2025-11-03T10:26:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.662976;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68274;2460982.85160185;10.43842417;1.3;_15.637722837544 -24.1722968488305
2025-11-03T10:26:18.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.637722837544     dec_j2k = -24.1722968488305
2025-11-03T10:26:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:18.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968848222866447;171.162362694745;_
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968848222866447;171.162362694745;_
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:18.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:18.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:18.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35279)
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:18.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:18.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:18.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:18.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:18.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:18.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:18.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:18.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:18.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85160182, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968848222866447, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.662976, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68274, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.637722837544, telescope_dec_j2k=-24.1722968488305, observability=1)
2025-11-03T10:26:18.433 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:18
2025-11-03T10:26:18.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:18.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021679401397705078s
2025-11-03T10:26:18.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021679401397705078
2025-11-03T10:26:18.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:18
2025-11-03T10:26:18.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:18.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3804330825805664s
2025-11-03T10:26:18.792 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3804330825805664
2025-11-03T10:26:19.211 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:26:19.211 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.7992010116577148s
2025-11-03T10:26:19.211 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.7992010116577148
2025-11-03T10:26:19.211 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.56642746925354 seconds ago
2025-11-03T10:26:20.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:20
2025-11-03T10:26:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:20.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836440086364746s
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:20.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:20.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:20.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6635375;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6833;2460982.85162497;10.43898417;1.3;_
2025-11-03T10:26:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6635375;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6833;2460982.85162497;10.43898417;1.3;_
2025-11-03T10:26:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:20.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:20.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6635375, teldec = -24.256583
2025-11-03T10:26:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6635375 -24.256583
2025-11-03T10:26:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6635375 -24.256583
2025-11-03T10:26:20.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6635375 -24.256583
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6635375;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6833;2460982.851625;10.43898417;1.3;_15.6382839487345 -24.1723136377793
2025-11-03T10:26:20.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6382839487345     dec_j2k = -24.1723136377793
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968852635180155;171.162346601491;_
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968852635180155;171.162346601491;_
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:20.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:20.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:20.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56993)
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:20.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:20.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:20.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:20.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:20.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85162497, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968852635180155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6635375, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6833, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6382839487345, telescope_dec_j2k=-24.1723136377793, observability=1)
2025-11-03T10:26:20.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:20
2025-11-03T10:26:20.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:20.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.028222084045410156s
2025-11-03T10:26:20.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.028222084045410156
2025-11-03T10:26:20.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:20
2025-11-03T10:26:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3501248359680176s
2025-11-03T10:26:20.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3501248359680176
2025-11-03T10:26:22.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:22
2025-11-03T10:26:22.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0847039222717285s
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:22.501 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:22.502 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:22.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6641169;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68388;2460982.85164934;10.43956194;1.3;_
2025-11-03T10:26:22.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6641169;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68388;2460982.85164934;10.43956194;1.3;_
2025-11-03T10:26:22.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:22.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:22.503 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:22.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:22.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:22.504 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6641169, teldec = -24.256583
2025-11-03T10:26:22.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6641169 -24.256583
2025-11-03T10:26:22.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6641169 -24.256583
2025-11-03T10:26:22.504 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6641169 -24.256583
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6641169;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68388;2460982.85164936;10.43956194;1.3;_15.6388629475998 -24.1723309638854
2025-11-03T10:26:22.505 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6388629475998     dec_j2k = -24.1723309638854
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968847420627591;171.162351965909;_
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968847420627591;171.162351965909;_
2025-11-03T10:26:22.505 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:22.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:22.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:22.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:22.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:22.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:22.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:22.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57657)
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:22.511 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:22.518 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:22.519 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85164934, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968847420627591, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6641169, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68388, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:25:22.982169', telescope_ra_j2k=15.6388629475998, telescope_dec_j2k=-24.1723309638854, observability=1)
2025-11-03T10:26:22.541 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:22
2025-11-03T10:26:22.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:22.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022627830505371094s
2025-11-03T10:26:22.541 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022627830505371094
2025-11-03T10:26:22.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:22
2025-11-03T10:26:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2496805191040039s
2025-11-03T10:26:22.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2496805191040039
2025-11-03T10:26:23.131 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:23.131 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:23.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:23.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:23.132 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:23.133 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:23.133 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:23.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:23.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:23.134 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:23.134 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:26:23.134 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:23.134 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:23.134 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:23.134 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:23.134 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:26:23.135 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:26:23.136 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:24.136 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:24.136 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:24.136 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:24.136 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:24.136 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:26:24.137 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:24.138 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:24.139 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:24.139 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:24.139 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:24.139 [DEBUG] [ThreadPoolExecutor-3462_0] [payload.py] [to_registers()] [0]
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41595)
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:24.143 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:24.150 [DEBUG] [ThreadPoolExecutor-3462_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:24.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:24
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8764832019805908s
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:24.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:24.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6646506;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68441;2460982.85167126;10.44009417;1.3;_
2025-11-03T10:26:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6646506;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68441;2460982.85167126;10.44009417;1.3;_
2025-11-03T10:26:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:24.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:24.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6646506, teldec = -24.256583
2025-11-03T10:26:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6646506 -24.256583
2025-11-03T10:26:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6646506 -24.256583
2025-11-03T10:26:24.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6646506 -24.256583
2025-11-03T10:26:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6646506;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68441;2460982.85167128;10.44009417;1.3;_15.6393962781671 -24.172346925147
2025-11-03T10:26:24.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6393962781671     dec_j2k = -24.172346925147
2025-11-03T10:26:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:24.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968850629583015;171.162351965909;_
2025-11-03T10:26:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968850629583015;171.162351965909;_
2025-11-03T10:26:24.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:24.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51925)
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:24.405 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:24.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:24.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85167126, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968850629583015, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6646506, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68441, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6393962781671, telescope_dec_j2k=-24.172346925147, observability=1)
2025-11-03T10:26:24.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:24
2025-11-03T10:26:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02265620231628418s
2025-11-03T10:26:24.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02265620231628418
2025-11-03T10:26:24.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:24
2025-11-03T10:26:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3515326976776123s
2025-11-03T10:26:24.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3515326976776123
2025-11-03T10:26:26.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:26
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9843509197235107s
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6652104;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68497;2460982.85169443;10.4406525;1.3;_
2025-11-03T10:26:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6652104;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68497;2460982.85169443;10.4406525;1.3;_
2025-11-03T10:26:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:26.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6652104, teldec = -24.256583
2025-11-03T10:26:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6652104 -24.256583
2025-11-03T10:26:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6652104 -24.256583
2025-11-03T10:26:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6652104 -24.256583
2025-11-03T10:26:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6652104;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68497;2460982.85169447;10.4406525;1.3;_15.6399556907323 -24.1723636687759
2025-11-03T10:26:26.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6399556907323     dec_j2k = -24.1723636687759
2025-11-03T10:26:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968852234060727;171.162362694745;_
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968852234060727;171.162362694745;_
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53617)
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:26.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:26.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:26.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85169443, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968852234060727, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6652104, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68497, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6399556907323, telescope_dec_j2k=-24.1723636687759, observability=1)
2025-11-03T10:26:26.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:26
2025-11-03T10:26:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0217134952545166s
2025-11-03T10:26:26.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0217134952545166
2025-11-03T10:26:26.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:26
2025-11-03T10:26:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3552539348602295s
2025-11-03T10:26:26.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3552539348602295
2025-11-03T10:26:28.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:28
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.037309408187866s
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:28.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:28.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6657614;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68552;2460982.85171823;10.44120194;1.3;_
2025-11-03T10:26:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6657614;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68552;2460982.85171823;10.44120194;1.3;_
2025-11-03T10:26:28.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:28.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:28.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:28.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:28.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:28.457 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6657614, teldec = -24.256583
2025-11-03T10:26:28.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6657614 -24.256583
2025-11-03T10:26:28.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6657614 -24.256583
2025-11-03T10:26:28.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6657614 -24.256583
2025-11-03T10:26:28.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6657614;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68552;2460982.85171826;10.44120194;1.3;_15.6405063094523 -24.1723801509957
2025-11-03T10:26:28.458 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6405063094523     dec_j2k = -24.1723801509957
2025-11-03T10:26:28.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:28.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:28.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:28.458 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968852635180155;171.162357330327;_
2025-11-03T10:26:28.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968852635180155;171.162357330327;_
2025-11-03T10:26:28.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:28.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:28.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:28.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:28.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:28.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:28.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:28.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:28.465 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58891)
2025-11-03T10:26:28.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:28.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:28.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:28.466 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:28.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:28.473 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:28.473 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85171823, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968852635180155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6657614, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68552, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6405063094523, telescope_dec_j2k=-24.1723801509957, observability=1)
2025-11-03T10:26:28.495 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:28
2025-11-03T10:26:28.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:28.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02205491065979004s
2025-11-03T10:26:28.495 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02205491065979004
2025-11-03T10:26:28.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:28
2025-11-03T10:26:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.291886568069458s
2025-11-03T10:26:28.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.291886568069458
2025-11-03T10:26:30.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:30
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9225099086761475s
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:30.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6663221;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68608;2460982.85174071;10.44176111;1.3;_
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6663221;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68608;2460982.85174071;10.44176111;1.3;_
2025-11-03T10:26:30.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:30.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:30.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6663221, teldec = -24.256583
2025-11-03T10:26:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6663221 -24.256583
2025-11-03T10:26:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6663221 -24.256583
2025-11-03T10:26:30.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6663221 -24.256583
2025-11-03T10:26:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6663221;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68608;2460982.85174073;10.44176111;1.3;_15.6410666215259 -24.1723969252062
2025-11-03T10:26:30.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6410666215259     dec_j2k = -24.1723969252062
2025-11-03T10:26:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:30.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968851431821871;171.162357330327;_
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968851431821871;171.162357330327;_
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:30.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:30.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54755)
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:30.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:30.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:30.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85174071, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968851431821871, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.6663221, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68608, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6410666215259, telescope_dec_j2k=-24.1723969252062, observability=1)
2025-11-03T10:26:30.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:30
2025-11-03T10:26:30.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:30.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0213775634765625s
2025-11-03T10:26:30.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0213775634765625
2025-11-03T10:26:30.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:30
2025-11-03T10:26:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3534684181213379s
2025-11-03T10:26:30.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3534684181213379
2025-11-03T10:26:31.889 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:31.889 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Status age = 1.4757566452026367s
2025-11-03T10:26:31.889 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:31.889 [DEBUG] [Thread-88901 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:31.889 [DEBUG] [Thread-88901 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:31.890 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:31.890 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:31.890 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:31.891 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:31.892 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 17;15.666714;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68648;2460982.85175801;10.44215194;1.3;_
2025-11-03T10:26:31.892 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response 17;15.666714;-24.256583;50.108509;89.993042;50.08601;90.12017;12.68648;2460982.85175801;10.44215194;1.3;_
2025-11-03T10:26:31.892 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:31.892 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:31.892 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:31.893 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:31.893 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:31.893 [INFO] [Thread-88901 (handle)] [driver.py] [get_status()] Telra = 15.666714, teldec = -24.256583
2025-11-03T10:26:31.893 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] UnCookCoordinates 15.666714 -24.256583
2025-11-03T10:26:31.893 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.666714 -24.256583
2025-11-03T10:26:31.893 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.666714 -24.256583
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 17;15.666714;-24.256583;50.108509;89.993042;50.08601;90.12017;12.6865;2460982.85175803;10.44218;1.3;_15.641458250425 -24.1724086505997
2025-11-03T10:26:31.894 [INFO] [Thread-88901 (handle)] [driver.py] [get_status()] ra_j2k = 15.641458250425     dec_j2k = -24.1724086505997
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 140;0.0968850629583015;171.162362694745;_
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response 140;0.0968850629583015;171.162362694745;_
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:31.894 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:31.895 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:31.896 [DEBUG] [Thread-88901 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:31.896 [DEBUG] [Thread-88901 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:31.896 [DEBUG] [Thread-88901 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40855)
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:31.902 [DEBUG] [Thread-88901 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:31.909 [DEBUG] [Thread-88901 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:31.909 [DEBUG] [Thread-88901 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:31.909 [DEBUG] [Thread-88901 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:31.910 [DEBUG] [Thread-88901 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:31.910 [INFO] [Thread-88901 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85175801, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968850629583015, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108509, telescope_az=89.993042, telescope_ra=15.666714, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68648, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.641458250425, telescope_dec_j2k=-24.1724086505997, observability=1)
2025-11-03T10:26:32.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:32
2025-11-03T10:26:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.48593592643737793s
2025-11-03T10:26:32.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.48593592643737793
2025-11-03T10:26:32.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:32
2025-11-03T10:26:32.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:32.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5075774192810059s
2025-11-03T10:26:32.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5075774192810059
2025-11-03T10:26:32.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:32
2025-11-03T10:26:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:32.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8594985008239746s
2025-11-03T10:26:32.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8594985008239746
2025-11-03T10:26:34.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:34
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4872944355010986s
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:34.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:34.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6674321;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68719;2460982.85178703;10.44286806;1.3;_
2025-11-03T10:26:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6674321;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68719;2460982.85178703;10.44286806;1.3;_
2025-11-03T10:26:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:34.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:34.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:34.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6674321, teldec = -24.256583
2025-11-03T10:26:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6674321 -24.256583
2025-11-03T10:26:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6674321 -24.256583
2025-11-03T10:26:34.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6674321 -24.256583
2025-11-03T10:26:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6674321;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68719;2460982.85178705;10.44286806;1.3;_15.6421758537558 -24.1724301380271
2025-11-03T10:26:34.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6421758537558     dec_j2k = -24.1724301380271
2025-11-03T10:26:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968859454210432;171.162357330327;_
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968859454210432;171.162357330327;_
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37223)
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:34.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:34.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:34.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:34.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:34.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85178703, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968859454210432, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6674321, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68719, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6421758537558, telescope_dec_j2k=-24.1724301380271, observability=1)
2025-11-03T10:26:34.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:34
2025-11-03T10:26:34.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:34.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022845983505249023s
2025-11-03T10:26:34.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022845983505249023
2025-11-03T10:26:34.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:34
2025-11-03T10:26:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35089707374572754s
2025-11-03T10:26:34.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35089707374572754
2025-11-03T10:26:36.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:36
2025-11-03T10:26:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9836335182189941s
2025-11-03T10:26:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6679933;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68776;2460982.85181017;10.44342778;1.3;_
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6679933;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68776;2460982.85181017;10.44342778;1.3;_
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:36.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6679933, teldec = -24.256583
2025-11-03T10:26:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6679933 -24.256583
2025-11-03T10:26:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6679933 -24.256583
2025-11-03T10:26:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6679933 -24.256583
2025-11-03T10:26:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6679933;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68776;2460982.8518102;10.44342778;1.3;_15.6427366656812 -24.1724469327055
2025-11-03T10:26:36.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6427366656812     dec_j2k = -24.1724469327055
2025-11-03T10:26:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968857047493864;171.162351965909;_
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968857047493864;171.162351965909;_
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58627)
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:36.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:36.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:36.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:36.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85181017, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968857047493864, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6679933, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68776, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6427366656812, telescope_dec_j2k=-24.1724469327055, observability=1)
2025-11-03T10:26:36.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:36
2025-11-03T10:26:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021634817123413086s
2025-11-03T10:26:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021634817123413086
2025-11-03T10:26:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:36
2025-11-03T10:26:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3491792678833008s
2025-11-03T10:26:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3491792678833008
2025-11-03T10:26:38.449 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:38
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0312342643737793s
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:38.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:38.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6685532;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68832;2460982.85183392;10.44398611;1.3;_
2025-11-03T10:26:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6685532;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68832;2460982.85183392;10.44398611;1.3;_
2025-11-03T10:26:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:38.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:38.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6685532, teldec = -24.256583
2025-11-03T10:26:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6685532 -24.256583
2025-11-03T10:26:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6685532 -24.256583
2025-11-03T10:26:38.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6685532 -24.256583
2025-11-03T10:26:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6685532;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68832;2460982.85183395;10.44398611;1.3;_15.6432961785718 -24.1724636903229
2025-11-03T10:26:38.453 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6432961785718     dec_j2k = -24.1724636903229
2025-11-03T10:26:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:38.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968853437419012;171.162351965909;_
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968853437419012;171.162351965909;_
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:38.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:38.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:38.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52401)
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:38.459 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:38.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:38.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85183392, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968853437419012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6685532, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68832, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6432961785718, telescope_dec_j2k=-24.1724636903229, observability=1)
2025-11-03T10:26:38.489 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:38
2025-11-03T10:26:38.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:38.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02264237403869629s
2025-11-03T10:26:38.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02264237403869629
2025-11-03T10:26:38.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:38
2025-11-03T10:26:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29939794540405273s
2025-11-03T10:26:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29939794540405273
2025-11-03T10:26:40.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:40
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98172926902771s
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:40.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:40.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6691036;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68887;2460982.85185705;10.444535;1.3;_
2025-11-03T10:26:40.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6691036;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68887;2460982.85185705;10.444535;1.3;_
2025-11-03T10:26:40.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:40.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:40.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:40.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:40.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:40.451 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6691036, teldec = -24.256583
2025-11-03T10:26:40.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6691036 -24.256583
2025-11-03T10:26:40.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6691036 -24.256583
2025-11-03T10:26:40.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6691036 -24.256583
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6691036;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68887;2460982.85185708;10.444535;1.3;_15.643846198095 -24.1724801654027
2025-11-03T10:26:40.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.643846198095     dec_j2k = -24.1724801654027
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968852635180155;171.162368059163;_
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968852635180155;171.162368059163;_
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:40.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:40.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:40.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:40.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:40.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34781)
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:40.458 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:40.466 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:40.466 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85185705, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968852635180155, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6691036, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68887, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.643846198095, telescope_dec_j2k=-24.1724801654027, observability=1)
2025-11-03T10:26:40.488 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:40
2025-11-03T10:26:40.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:40.488 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022150039672851562s
2025-11-03T10:26:40.489 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022150039672851562
2025-11-03T10:26:40.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:40
2025-11-03T10:26:40.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:40.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.30884623527526855s
2025-11-03T10:26:40.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.30884623527526855
2025-11-03T10:26:42.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:42
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9288218021392822s
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:42.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:42.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6696643;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68943;2460982.8518796;10.44509417;1.3;_
2025-11-03T10:26:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6696643;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68943;2460982.8518796;10.44509417;1.3;_
2025-11-03T10:26:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:42.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:42.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6696643, teldec = -24.256583
2025-11-03T10:26:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6696643 -24.256583
2025-11-03T10:26:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6696643 -24.256583
2025-11-03T10:26:42.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6696643 -24.256583
2025-11-03T10:26:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6696643;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68943;2460982.85187962;10.44509417;1.3;_15.6444065105639 -24.1724969506204
2025-11-03T10:26:42.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6444065105639     dec_j2k = -24.1724969506204
2025-11-03T10:26:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:42.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096885784973272;171.162357330327;_
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096885784973272;171.162357330327;_
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:42.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:42.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49645)
2025-11-03T10:26:42.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:42.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:42.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:42.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:42.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:42.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8518796, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096885784973272, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6696643, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68943, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6444065105639, telescope_dec_j2k=-24.1724969506204, observability=1)
2025-11-03T10:26:42.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:42
2025-11-03T10:26:42.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:42.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.026589393615722656s
2025-11-03T10:26:42.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.026589393615722656
2025-11-03T10:26:42.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:42
2025-11-03T10:26:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3579831123352051s
2025-11-03T10:26:42.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3579831123352051
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.5050487518310547s
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:43.919 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:43.920 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:43.921 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.6700846;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68985;2460982.85189723;10.44551333;1.3;_
2025-11-03T10:26:43.921 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.6700846;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68985;2460982.85189723;10.44551333;1.3;_
2025-11-03T10:26:43.921 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:43.921 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:43.921 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:43.922 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:43.922 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:43.922 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.6700846, teldec = -24.256583
2025-11-03T10:26:43.922 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6700846 -24.256583
2025-11-03T10:26:43.922 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6700846 -24.256583
2025-11-03T10:26:43.922 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6700846 -24.256583
2025-11-03T10:26:43.923 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.6700846;-24.256583;50.108508;89.993041;50.08601;90.12017;12.68985;2460982.85189726;10.44551333;1.3;_15.6448265201145 -24.172509534008
2025-11-03T10:26:43.923 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.6448265201145     dec_j2k = -24.172509534008
2025-11-03T10:26:43.923 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:43.923 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:43.923 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.096885584413558;171.162351965909;_
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.096885584413558;171.162351965909;_
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:43.924 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:43.925 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:43.926 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:43.926 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:43.926 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:43.927 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49457)
2025-11-03T10:26:43.928 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:43.928 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:43.928 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:43.928 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:43.928 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:43.935 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:43.935 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85189723, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096885584413558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6700846, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.68985, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6448265201145, telescope_dec_j2k=-24.172509534008, observability=1)
2025-11-03T10:26:44.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:44
2025-11-03T10:26:44.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:44.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4598393440246582s
2025-11-03T10:26:44.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4598393440246582
2025-11-03T10:26:44.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:44
2025-11-03T10:26:44.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:44.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.488461971282959s
2025-11-03T10:26:44.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.488461971282959
2025-11-03T10:26:44.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:44
2025-11-03T10:26:44.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:44.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8505640029907227s
2025-11-03T10:26:44.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8505640029907227
2025-11-03T10:26:46.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:46
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.510573387145996s
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:46.446 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.670784;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69055;2460982.85192647;10.44621083;1.3;_
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.670784;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69055;2460982.85192647;10.44621083;1.3;_
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:46.447 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:46.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:46.448 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:46.448 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.670784, teldec = -24.256583
2025-11-03T10:26:46.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.670784 -24.256583
2025-11-03T10:26:46.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.670784 -24.256583
2025-11-03T10:26:46.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.670784 -24.256583
2025-11-03T10:26:46.449 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.670784;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69055;2460982.85192649;10.44621083;1.3;_15.6455254368751 -24.1725304756858
2025-11-03T10:26:46.450 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6455254368751     dec_j2k = -24.1725304756858
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968858250852148;171.162351965909;_
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968858250852148;171.162351965909;_
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:46.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:46.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:46.454 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60407)
2025-11-03T10:26:46.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:46.454 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:46.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:46.455 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:46.455 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:46.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:46.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:46.462 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:46.462 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:46.462 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:46.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:46.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:46.463 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:46.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:46.463 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85192647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968858250852148, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.670784, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69055, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6455254368751, telescope_dec_j2k=-24.1725304756858, observability=1)
2025-11-03T10:26:46.485 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:46
2025-11-03T10:26:46.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:46.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0228269100189209s
2025-11-03T10:26:46.486 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0228269100189209
2025-11-03T10:26:46.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:46
2025-11-03T10:26:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3089425563812256s
2025-11-03T10:26:46.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3089425563812256
2025-11-03T10:26:48.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:48
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9340806007385254s
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6713358;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6911;2460982.85194905;10.44676111;1.3;_
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6713358;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6911;2460982.85194905;10.44676111;1.3;_
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:48.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6713358, teldec = -24.256583
2025-11-03T10:26:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6713358 -24.256583
2025-11-03T10:26:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6713358 -24.256583
2025-11-03T10:26:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6713358 -24.256583
2025-11-03T10:26:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6713358;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6911;2460982.85194907;10.44676111;1.3;_15.6460768556904 -24.1725469998986
2025-11-03T10:26:48.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6460768556904     dec_j2k = -24.1725469998986
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968852234060727;171.162351965909;_
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968852234060727;171.162351965909;_
2025-11-03T10:26:48.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55681)
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:48.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:48.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:48.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85194905, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968852234060727, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6713358, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6911, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6460768556904, telescope_dec_j2k=-24.1725469998986, observability=1)
2025-11-03T10:26:48.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:48
2025-11-03T10:26:48.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:48.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02142953872680664s
2025-11-03T10:26:48.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02142953872680664
2025-11-03T10:26:48.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:48
2025-11-03T10:26:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35620951652526855s
2025-11-03T10:26:48.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35620951652526855
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:49.151 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:49.152 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:49.152 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:49.152 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:49.152 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:26:49.153 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:49.989 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:49.989 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Status age = 1.5760133266448975s
2025-11-03T10:26:49.989 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:49.989 [DEBUG] [Thread-88902 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:49.990 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:49.991 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:49.991 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 17;15.6717561;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69152;2460982.85196749;10.44718028;1.3;_
2025-11-03T10:26:49.991 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response 17;15.6717561;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69152;2460982.85196749;10.44718028;1.3;_
2025-11-03T10:26:49.991 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:49.991 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:49.992 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:49.992 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:49.993 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:49.993 [INFO] [Thread-88902 (handle)] [driver.py] [get_status()] Telra = 15.6717561, teldec = -24.256583
2025-11-03T10:26:49.993 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6717561 -24.256583
2025-11-03T10:26:49.993 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6717561 -24.256583
2025-11-03T10:26:49.993 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6717561 -24.256583
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 17;15.6717561;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69152;2460982.85196752;10.44718028;1.3;_15.6464968653893 -24.1725595874084
2025-11-03T10:26:49.994 [INFO] [Thread-88902 (handle)] [driver.py] [get_status()] ra_j2k = 15.6464968653893     dec_j2k = -24.1725595874084
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 140;0.0968853437419012;171.162351965909;_
2025-11-03T10:26:49.994 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response 140;0.0968853437419012;171.162351965909;_
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:49.995 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:26:49.996 [DEBUG] [Thread-88902 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:26:49.996 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:49.996 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:49.996 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:49.997 [DEBUG] [Thread-88902 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:49.997 [DEBUG] [Thread-88902 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:49.997 [DEBUG] [Thread-88902 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36181)
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:49.998 [DEBUG] [Thread-88902 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:50.005 [DEBUG] [Thread-88902 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:50.005 [DEBUG] [Thread-88902 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:50.005 [DEBUG] [Thread-88902 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:50.005 [DEBUG] [Thread-88902 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:50.006 [DEBUG] [Thread-88902 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:50.006 [DEBUG] [Thread-88902 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:50.006 [DEBUG] [Thread-88902 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:50.006 [DEBUG] [Thread-88902 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:50.006 [DEBUG] [Thread-88902 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:50.006 [INFO] [Thread-88902 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85196749, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968853437419012, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6717561, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69152, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6464968653893, telescope_dec_j2k=-24.1725595874084, observability=1)
2025-11-03T10:26:50.447 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:50
2025-11-03T10:26:50.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:50.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44096851348876953s
2025-11-03T10:26:50.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44096851348876953
2025-11-03T10:26:50.468 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:50
2025-11-03T10:26:50.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:50.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46259355545043945s
2025-11-03T10:26:50.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46259355545043945
2025-11-03T10:26:51.021 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:51
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0158050060272217s
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:51.022 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6720645;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69183;2460982.85197943;10.44748778;1.3;_
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6720645;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69183;2460982.85197943;10.44748778;1.3;_
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:51.023 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:51.024 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:51.024 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:51.024 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6720645, teldec = -24.256583
2025-11-03T10:26:51.024 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6720645 -24.256583
2025-11-03T10:26:51.024 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6720645 -24.256583
2025-11-03T10:26:51.025 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6720645 -24.256583
2025-11-03T10:26:51.025 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6720645;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69183;2460982.85197946;10.44748778;1.3;_15.6468050524012 -24.1725688242989
2025-11-03T10:26:51.026 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6468050524012     dec_j2k = -24.1725688242989
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968854239657868;171.162362694745;_
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968854239657868;171.162362694745;_
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:51.026 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:51.027 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:51.030 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40925)
2025-11-03T10:26:51.030 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:51.030 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:51.030 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:51.030 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:51.031 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:51.037 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:51.038 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:51.038 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85197943, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968854239657868, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6720645, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69183, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6468050524012, telescope_dec_j2k=-24.1725688242989, observability=1)
2025-11-03T10:26:52.756 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:52
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7180898189544678s
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:52.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:52.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6725397;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6923;2460982.85199951;10.44796167;1.3;_
2025-11-03T10:26:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6725397;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6923;2460982.85199951;10.44796167;1.3;_
2025-11-03T10:26:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:52.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:52.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6725397, teldec = -24.256583
2025-11-03T10:26:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6725397 -24.256583
2025-11-03T10:26:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6725397 -24.256583
2025-11-03T10:26:52.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6725397 -24.256583
2025-11-03T10:26:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6725397;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6923;2460982.85199954;10.44796167;1.3;_15.6472799242566 -24.1725830581091
2025-11-03T10:26:52.760 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6472799242566     dec_j2k = -24.1725830581091
2025-11-03T10:26:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:52.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968854640777296;171.162346601491;_
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968854640777296;171.162346601491;_
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:52.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:52.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:52.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54103)
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:52.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:52.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:52.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85199951, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968854640777296, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6725397, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6923, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6472799242566, telescope_dec_j2k=-24.1725830581091, observability=1)
2025-11-03T10:26:52.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:52
2025-11-03T10:26:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005893230438232422s
2025-11-03T10:26:52.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005893230438232422
2025-11-03T10:26:52.798 [DEBUG] [Thread-88903 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:52.798 [DEBUG] [Thread-88903 (handle)] [server.py] [get_status()] Status age = 0.023460865020751953s
2025-11-03T10:26:52.798 [DEBUG] [Thread-88903 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023460865020751953
2025-11-03T10:26:52.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:52
2025-11-03T10:26:52.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:52.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02731013298034668s
2025-11-03T10:26:52.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02731013298034668
2025-11-03T10:26:54.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:54
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6752760410308838s
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:54.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:54.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6730065;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69277;2460982.85201912;10.44842722;1.3;_
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6730065;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69277;2460982.85201912;10.44842722;1.3;_
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:54.452 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6730065, teldec = -24.256583
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6730065 -24.256583
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6730065 -24.256583
2025-11-03T10:26:54.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6730065 -24.256583
2025-11-03T10:26:54.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6730065;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69277;2460982.85201913;10.44842722;1.3;_15.6477464019589 -24.1725970416008
2025-11-03T10:26:54.453 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6477464019589     dec_j2k = -24.1725970416008
2025-11-03T10:26:54.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:54.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:54.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096885784973272;171.162362694745;_
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096885784973272;171.162362694745;_
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:54.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:54.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:54.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:54.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:54.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52315)
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:54.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:54.470 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:54.470 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85201912, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096885784973272, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6730065, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69277, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6477464019589, telescope_dec_j2k=-24.1725970416008, observability=1)
2025-11-03T10:26:54.492 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:54
2025-11-03T10:26:54.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:54.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021436452865600586s
2025-11-03T10:26:54.492 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021436452865600586
2025-11-03T10:26:54.786 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:54
2025-11-03T10:26:54.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:54.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3158228397369385s
2025-11-03T10:26:54.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3158228397369385
2025-11-03T10:26:56.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:56
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9268701076507568s
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6735388;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6933;2460982.85204166;10.44895806;1.3;_
2025-11-03T10:26:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6735388;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6933;2460982.85204166;10.44895806;1.3;_
2025-11-03T10:26:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:56.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6735388, teldec = -24.256583
2025-11-03T10:26:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6735388 -24.256583
2025-11-03T10:26:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6735388 -24.256583
2025-11-03T10:26:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6735388 -24.256583
2025-11-03T10:26:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6735388;-24.256583;50.108508;89.993041;50.08601;90.12017;12.6933;2460982.85204168;10.44895806;1.3;_15.6482783344935 -24.1726129887738
2025-11-03T10:26:56.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6482783344935     dec_j2k = -24.1726129887738
2025-11-03T10:26:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968860256449288;171.162368059163;_
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968860256449288;171.162368059163;_
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:56.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:56.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52093)
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:56.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:56.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:56.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:56.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:56.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:56.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:56.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:56.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:56.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:56.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:56.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85204166, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968860256449288, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6735388, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6933, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6482783344935, telescope_dec_j2k=-24.1726129887738, observability=1)
2025-11-03T10:26:56.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:56
2025-11-03T10:26:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02150106430053711s
2025-11-03T10:26:56.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02150106430053711
2025-11-03T10:26:56.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:56
2025-11-03T10:26:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.348203182220459s
2025-11-03T10:26:56.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.348203182220459
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.7430641651153564s
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:26:58.159 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:26:58.160 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:26:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6740432;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69381;2460982.85206205;10.44946111;1.3;_
2025-11-03T10:26:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6740432;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69381;2460982.85206205;10.44946111;1.3;_
2025-11-03T10:26:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:26:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:26:58.161 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:26:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:26:58.162 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6740432, teldec = -24.256583
2025-11-03T10:26:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6740432 -24.256583
2025-11-03T10:26:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6740432 -24.256583
2025-11-03T10:26:58.162 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6740432 -24.256583
2025-11-03T10:26:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6740432;-24.256583;50.108508;89.993041;50.08601;90.12017;12.69381;2460982.85206207;10.44946111;1.3;_15.6487823863437 -24.1726281016234
2025-11-03T10:26:58.163 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.6487823863437     dec_j2k = -24.1726281016234
2025-11-03T10:26:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:26:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:26:58.163 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096885985532986;171.162368059163;_
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096885985532986;171.162368059163;_
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:58.164 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:26:58.165 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36627)
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:26:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:26:58.178 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:26:58.179 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:26:58.179 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85206205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096885985532986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6740432, telescope_dec=-24.256583, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69381, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6487823863437, telescope_dec_j2k=-24.1726281016234, observability=1)
2025-11-03T10:26:58.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:58
2025-11-03T10:26:58.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:58.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.22009634971618652s
2025-11-03T10:26:58.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.22009634971618652
2025-11-03T10:26:58.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:58
2025-11-03T10:26:58.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:58.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2448132038116455s
2025-11-03T10:26:58.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2448132038116455
2025-11-03T10:26:58.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:26:58
2025-11-03T10:26:58.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:26:58.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.593019962310791s
2025-11-03T10:26:58.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.593019962310791
2025-11-03T10:27:00.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:00
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2170193195343018s
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:00.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:00.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6746502;-24.256576;50.108508;89.993031;50.08601;90.12016;12.69441;2460982.85208794;10.45006667;1.3;_
2025-11-03T10:27:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6746502;-24.256576;50.108508;89.993031;50.08601;90.12016;12.69441;2460982.85208794;10.45006667;1.3;_
2025-11-03T10:27:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:00.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6746502, teldec = -24.256576
2025-11-03T10:27:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6746502 -24.256576
2025-11-03T10:27:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6746502 -24.256576
2025-11-03T10:27:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6746502 -24.256576
2025-11-03T10:27:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6746788;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69444;2460982.85208796;10.450095;1.3;_15.6493889685689 -24.1726392907742
2025-11-03T10:27:00.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6493889685689     dec_j2k = -24.1726392907742
2025-11-03T10:27:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968859454210432;171.162357330327;_
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968859454210432;171.162357330327;_
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56863)
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:00.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:00.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85208794, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968859454210432, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993031, telescope_ra=15.6746502, telescope_dec=-24.256576, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69441, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6493889685689, telescope_dec_j2k=-24.1726392907742, observability=1)
2025-11-03T10:27:00.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:00
2025-11-03T10:27:00.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:00.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02158498764038086s
2025-11-03T10:27:00.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02158498764038086
2025-11-03T10:27:00.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:00
2025-11-03T10:27:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3555891513824463s
2025-11-03T10:27:00.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3555891513824463
2025-11-03T10:27:02.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:02
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.986067533493042s
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:02.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6752122;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69497;2460982.85211115;10.45062694;1.3;_
2025-11-03T10:27:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6752122;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69497;2460982.85211115;10.45062694;1.3;_
2025-11-03T10:27:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:02.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:02.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6752122, teldec = -24.256582
2025-11-03T10:27:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6752122 -24.256582
2025-11-03T10:27:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6752122 -24.256582
2025-11-03T10:27:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6752122 -24.256582
2025-11-03T10:27:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6752122;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69497;2460982.85211118;10.45062694;1.3;_15.6499505798367 -24.1726621330038
2025-11-03T10:27:02.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6499505798367     dec_j2k = -24.1726621330038
2025-11-03T10:27:02.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968857047493864;171.162362694745;_
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968857047493864;171.162362694745;_
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:02.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:02.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:02.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:02.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:02.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:02.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33691)
2025-11-03T10:27:02.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:02.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:02.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:02.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:02.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:02.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:02.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85211115, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968857047493864, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6752122, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69497, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6499505798367, telescope_dec_j2k=-24.1726621330038, observability=1)
2025-11-03T10:27:02.445 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:02
2025-11-03T10:27:02.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:02.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024976253509521484s
2025-11-03T10:27:02.445 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024976253509521484
2025-11-03T10:27:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:02
2025-11-03T10:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3448038101196289s
2025-11-03T10:27:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3448038101196289
2025-11-03T10:27:04.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:04
2025-11-03T10:27:04.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:04.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.042125701904297s
2025-11-03T10:27:04.462 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:04.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:04.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:04.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6758011;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69556;2460982.852135;10.45121417;1.3;_
2025-11-03T10:27:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6758011;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69556;2460982.852135;10.45121417;1.3;_
2025-11-03T10:27:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:04.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:04.466 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6758011, teldec = -24.256582
2025-11-03T10:27:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6758011 -24.256582
2025-11-03T10:27:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6758011 -24.256582
2025-11-03T10:27:04.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6758011 -24.256582
2025-11-03T10:27:04.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6758011;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69556;2460982.85213503;10.45121417;1.3;_15.6505390735763 -24.1726797835654
2025-11-03T10:27:04.467 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6505390735763     dec_j2k = -24.1726797835654
2025-11-03T10:27:04.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:04.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:04.467 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968856646374436;171.162357330327;_
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968856646374436;171.162357330327;_
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:04.468 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:04.469 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:04.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:04.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:04.470 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:04.474 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58243)
2025-11-03T10:27:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:04.475 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:04.475 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:04.482 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:04.482 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.852135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968856646374436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6758011, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69556, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6505390735763, telescope_dec_j2k=-24.1726797835654, observability=1)
2025-11-03T10:27:04.545 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:04
2025-11-03T10:27:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:04.545 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06321954727172852s
2025-11-03T10:27:04.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06321954727172852
2025-11-03T10:27:04.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:04
2025-11-03T10:27:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2853670120239258s
2025-11-03T10:27:04.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2853670120239258
2025-11-03T10:27:06.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:06
2025-11-03T10:27:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9162437915802002s
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6763247;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69609;2460982.85215741;10.45173639;1.3;_
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6763247;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69609;2460982.85215741;10.45173639;1.3;_
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:06.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6763247, teldec = -24.256582
2025-11-03T10:27:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6763247 -24.256582
2025-11-03T10:27:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6763247 -24.256582
2025-11-03T10:27:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6763247 -24.256582
2025-11-03T10:27:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6763247;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69609;2460982.85215743;10.45173639;1.3;_15.6510623124255 -24.1726954786556
2025-11-03T10:27:06.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6510623124255     dec_j2k = -24.1726954786556
2025-11-03T10:27:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:06.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:06.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:06.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:06.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50519)
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:06.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:06.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:06.421 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85215741, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867877718421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6763247, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69609, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6510623124255, telescope_dec_j2k=-24.1726954786556, observability=1)
2025-11-03T10:27:06.453 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:06
2025-11-03T10:27:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03295493125915527s
2025-11-03T10:27:06.453 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03295493125915527
2025-11-03T10:27:06.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:06
2025-11-03T10:27:06.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:06.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3534712791442871s
2025-11-03T10:27:06.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3534712791442871
2025-11-03T10:27:08.056 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:08.056 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Status age = 1.6359705924987793s
2025-11-03T10:27:08.056 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:08.057 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 17;15.6768016;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69656;2460982.85217659;10.45221194;1.3;_
2025-11-03T10:27:08.058 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response 17;15.6768016;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69656;2460982.85217659;10.45221194;1.3;_
2025-11-03T10:27:08.058 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:08.058 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:08.058 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:08.059 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:08.059 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:08.059 [INFO] [Thread-88904 (handle)] [driver.py] [get_status()] Telra = 15.6768016, teldec = -24.256582
2025-11-03T10:27:08.059 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6768016 -24.256582
2025-11-03T10:27:08.059 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6768016 -24.256582
2025-11-03T10:27:08.059 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6768016 -24.256582
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 17;15.6768016;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69656;2460982.85217662;10.45221194;1.3;_15.6515388835362 -24.1727097752944
2025-11-03T10:27:08.060 [INFO] [Thread-88904 (handle)] [driver.py] [get_status()] ra_j2k = 15.6515388835362     dec_j2k = -24.1727097752944
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 140;0.0968861860927001;171.162351965909;_
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response 140;0.0968861860927001;171.162351965909;_
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:08.060 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:08.061 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:08.061 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:08.061 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:08.061 [DEBUG] [Thread-88904 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:08.062 [DEBUG] [Thread-88904 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41837)
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:08.069 [DEBUG] [Thread-88904 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:08.076 [DEBUG] [Thread-88904 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:08.077 [DEBUG] [Thread-88904 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:08.077 [DEBUG] [Thread-88904 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:08.077 [DEBUG] [Thread-88904 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:08.077 [INFO] [Thread-88904 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85217659, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968861860927001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6768016, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69656, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6515388835362, telescope_dec_j2k=-24.1727097752944, observability=1)
2025-11-03T10:27:08.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:08
2025-11-03T10:27:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32338833808898926s
2025-11-03T10:27:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32338833808898926
2025-11-03T10:27:08.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:08
2025-11-03T10:27:08.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:08.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34767675399780273s
2025-11-03T10:27:08.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34767675399780273
2025-11-03T10:27:08.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:08
2025-11-03T10:27:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.689805269241333s
2025-11-03T10:27:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.689805269241333
2025-11-03T10:27:10.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:10
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.346827983856201s
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:10.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:10.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:10.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6774642;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69723;2460982.852204;10.45287278;1.3;_
2025-11-03T10:27:10.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6774642;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69723;2460982.852204;10.45287278;1.3;_
2025-11-03T10:27:10.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:10.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:10.426 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:10.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:10.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:10.427 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6774642, teldec = -24.256582
2025-11-03T10:27:10.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6774642 -24.256582
2025-11-03T10:27:10.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6774642 -24.256582
2025-11-03T10:27:10.427 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6774642 -24.256582
2025-11-03T10:27:10.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6774642;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69723;2460982.85220403;10.45287278;1.3;_15.6522010266606 -24.172729641109
2025-11-03T10:27:10.428 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6522010266606     dec_j2k = -24.172729641109
2025-11-03T10:27:10.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:10.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:10.428 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968864267643569;171.162357330327;_
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968864267643569;171.162357330327;_
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:10.429 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:10.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:10.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:10.430 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:10.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:10.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:10.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:10.431 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:10.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:10.432 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:10.432 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42559)
2025-11-03T10:27:10.432 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:10.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:10.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:10.433 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:10.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:10.440 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:10.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:10.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.852204, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968864267643569, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6774642, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69723, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6522010266606, telescope_dec_j2k=-24.172729641109, observability=1)
2025-11-03T10:27:10.462 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:10
2025-11-03T10:27:10.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:10.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02199864387512207s
2025-11-03T10:27:10.463 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02199864387512207
2025-11-03T10:27:10.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:10
2025-11-03T10:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32276463508605957s
2025-11-03T10:27:10.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32276463508605957
2025-11-03T10:27:12.575 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:12
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.134446144104004s
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:12.575 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6780539;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69782;2460982.85222889;10.45346083;1.3;_
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6780539;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69782;2460982.85222889;10.45346083;1.3;_
2025-11-03T10:27:12.576 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:12.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:12.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:12.577 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:12.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:12.578 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6780539, teldec = -24.256582
2025-11-03T10:27:12.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6780539 -24.256582
2025-11-03T10:27:12.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6780539 -24.256582
2025-11-03T10:27:12.578 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6780539 -24.256582
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6780539;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69782;2460982.85222892;10.45346083;1.3;_15.652790320129 -24.1727473234256
2025-11-03T10:27:12.579 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.652790320129     dec_j2k = -24.1727473234256
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968863064285285;171.162357330327;_
2025-11-03T10:27:12.579 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968863064285285;171.162357330327;_
2025-11-03T10:27:12.580 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:12.580 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:12.580 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:12.580 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:12.581 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:12.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:12.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:12.582 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:12.586 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47225)
2025-11-03T10:27:12.586 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:12.586 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:12.586 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:12.587 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:12.587 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:12.594 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:12.594 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85222889, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968863064285285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6780539, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69782, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.652790320129, telescope_dec_j2k=-24.1727473234256, observability=1)
2025-11-03T10:27:12.623 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:12
2025-11-03T10:27:12.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:12.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.029178380966186523s
2025-11-03T10:27:12.623 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.029178380966186523
2025-11-03T10:27:12.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:12
2025-11-03T10:27:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1728041172027588s
2025-11-03T10:27:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1728041172027588
2025-11-03T10:27:14.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:14
2025-11-03T10:27:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:14.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8054373264312744s
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:14.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6785586;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69832;2460982.85225;10.45396417;1.3;_
2025-11-03T10:27:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6785586;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69832;2460982.85225;10.45396417;1.3;_
2025-11-03T10:27:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:14.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:14.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6785586, teldec = -24.256582
2025-11-03T10:27:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6785586 -24.256582
2025-11-03T10:27:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6785586 -24.256582
2025-11-03T10:27:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6785586 -24.256582
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6785586;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69832;2460982.85225004;10.45396417;1.3;_15.6532946722537 -24.1727624586102
2025-11-03T10:27:14.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6532946722537     dec_j2k = -24.1727624586102
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968863866524141;171.162346601491;_
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968863866524141;171.162346601491;_
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45095)
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:14.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:14.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:14.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:14.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:14.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:14.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:14.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:14.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:14.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:14.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:14.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85225, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968863866524141, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6785586, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69832, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6532946722537, telescope_dec_j2k=-24.1727624586102, observability=1)
2025-11-03T10:27:14.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:14
2025-11-03T10:27:14.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:14.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021745920181274414s
2025-11-03T10:27:14.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021745920181274414
2025-11-03T10:27:14.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:14
2025-11-03T10:27:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35055088996887207s
2025-11-03T10:27:14.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35055088996887207
2025-11-03T10:27:15.726 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:27:15
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.309128761291504s
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:15.726 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:15.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:15.727 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:15.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:15.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:15.727 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:15.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6789419;-24.256582;50.108508;89.993041;50.08601;90.12017;12.6987;2460982.85226537;10.45434639;1.3;_
2025-11-03T10:27:15.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.6789419;-24.256582;50.108508;89.993041;50.08601;90.12017;12.6987;2460982.85226537;10.45434639;1.3;_
2025-11-03T10:27:15.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:15.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:15.728 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:15.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:15.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:15.729 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.6789419, teldec = -24.256582
2025-11-03T10:27:15.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6789419 -24.256582
2025-11-03T10:27:15.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6789419 -24.256582
2025-11-03T10:27:15.729 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6789419 -24.256582
2025-11-03T10:27:15.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6789419;-24.256582;50.108508;89.993041;50.08601;90.12017;12.6987;2460982.85226539;10.45434639;1.3;_15.6536777080919 -24.1727739541895
2025-11-03T10:27:15.730 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.6536777080919     dec_j2k = -24.1727739541895
2025-11-03T10:27:15.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:15.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:15.730 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968867075479565;171.162362694745;_
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867075479565;171.162362694745;_
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:15.731 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:15.732 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:15.733 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:15.733 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:15.733 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:15.737 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59529)
2025-11-03T10:27:15.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:15.737 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:15.738 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:15.738 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:15.738 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:15.745 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:15.745 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85226537, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867075479565, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6789419, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.6987, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6536777080919, telescope_dec_j2k=-24.1727739541895, observability=1)
2025-11-03T10:27:16.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:16
2025-11-03T10:27:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6511185169219971s
2025-11-03T10:27:16.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6511185169219971
2025-11-03T10:27:16.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:16
2025-11-03T10:27:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6731688976287842s
2025-11-03T10:27:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6731688976287842
2025-11-03T10:27:16.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:16
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.0270118713378906s
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:16.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:16.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6792224;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69898;2460982.85227748;10.45462611;1.3;_
2025-11-03T10:27:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6792224;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69898;2460982.85227748;10.45462611;1.3;_
2025-11-03T10:27:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:16.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:16.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6792224, teldec = -24.256582
2025-11-03T10:27:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6792224 -24.256582
2025-11-03T10:27:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6792224 -24.256582
2025-11-03T10:27:16.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6792224 -24.256582
2025-11-03T10:27:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6792224;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69898;2460982.8522775;10.45462611;1.3;_15.6539580147973 -24.1727823672309
2025-11-03T10:27:16.776 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6539580147973     dec_j2k = -24.1727823672309
2025-11-03T10:27:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:16.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968861860927001;171.162351965909;_
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968861860927001;171.162351965909;_
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:16.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:16.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:16.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:16.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37789)
2025-11-03T10:27:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:16.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:16.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:16.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:16.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:16.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85227748, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968861860927001, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6792224, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69898, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6539580147973, telescope_dec_j2k=-24.1727823672309, observability=1)
2025-11-03T10:27:18.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:18
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6232857704162598s
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:18.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:18.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:18.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:18.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:18.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6796987;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69946;2460982.85229649;10.45510111;1.3;_
2025-11-03T10:27:18.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6796987;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69946;2460982.85229649;10.45510111;1.3;_
2025-11-03T10:27:18.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:18.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:18.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:18.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:18.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:18.418 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6796987, teldec = -24.256582
2025-11-03T10:27:18.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6796987 -24.256582
2025-11-03T10:27:18.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6796987 -24.256582
2025-11-03T10:27:18.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6796987 -24.256582
2025-11-03T10:27:18.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6796987;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69946;2460982.85229652;10.45510111;1.3;_15.6544339866135 -24.1727966539594
2025-11-03T10:27:18.419 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6544339866135     dec_j2k = -24.1727966539594
2025-11-03T10:27:18.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:18.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:18.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968862262046429;171.162362694745;_
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968862262046429;171.162362694745;_
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:18.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:18.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:18.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:18.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:18.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56811)
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:18.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:18.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:18.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:18.433 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:18.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:18.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85229649, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968862262046429, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6796987, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69946, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6544339866135, telescope_dec_j2k=-24.1727966539594, observability=1)
2025-11-03T10:27:18.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:18
2025-11-03T10:27:18.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:18.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02216196060180664s
2025-11-03T10:27:18.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02216196060180664
2025-11-03T10:27:18.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:18
2025-11-03T10:27:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3426518440246582s
2025-11-03T10:27:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3426518440246582
2025-11-03T10:27:19.271 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:27:19.271 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.8374531269073486s
2025-11-03T10:27:19.271 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.8374531269073486
2025-11-03T10:27:19.271 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.545637845993042 seconds ago
2025-11-03T10:27:20.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:20
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9808423519134521s
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:20.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:20.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:20.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6802304;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69999;2460982.85231964;10.45563139;1.3;_
2025-11-03T10:27:20.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6802304;-24.256582;50.108508;89.993041;50.08601;90.12017;12.69999;2460982.85231964;10.45563139;1.3;_
2025-11-03T10:27:20.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:20.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:20.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:20.418 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6802304, teldec = -24.256582
2025-11-03T10:27:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6802304 -24.256582
2025-11-03T10:27:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6802304 -24.256582
2025-11-03T10:27:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6802304 -24.256582
2025-11-03T10:27:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6802304;-24.256582;50.108508;89.993041;50.08601;90.12017;12.70002;2460982.85231966;10.45565889;1.3;_15.6549653203143 -24.1728126039912
2025-11-03T10:27:20.420 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6549653203143     dec_j2k = -24.1728126039912
2025-11-03T10:27:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34831)
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:20.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:20.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:20.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85231964, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867877718421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6802304, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.69999, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6549653203143, telescope_dec_j2k=-24.1728126039912, observability=1)
2025-11-03T10:27:20.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:20
2025-11-03T10:27:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02280282974243164s
2025-11-03T10:27:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02280282974243164
2025-11-03T10:27:20.778 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:20
2025-11-03T10:27:20.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:20.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34455442428588867s
2025-11-03T10:27:20.778 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34455442428588867
2025-11-03T10:27:22.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:22
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9724657535552979s
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:22.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:22.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6808098;-24.256582;50.108508;89.993041;50.08601;90.12017;12.70057;2460982.8523427;10.45620917;1.3;_
2025-11-03T10:27:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6808098;-24.256582;50.108508;89.993041;50.08601;90.12017;12.70057;2460982.8523427;10.45620917;1.3;_
2025-11-03T10:27:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:22.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:22.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6808098, teldec = -24.256582
2025-11-03T10:27:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6808098 -24.256582
2025-11-03T10:27:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6808098 -24.256582
2025-11-03T10:27:22.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6808098 -24.256582
2025-11-03T10:27:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6808098;-24.256582;50.108508;89.993041;50.08601;90.12017;12.70057;2460982.85234272;10.45620917;1.3;_15.6555443212217 -24.1728299868185
2025-11-03T10:27:22.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6555443212217     dec_j2k = -24.1728299868185
2025-11-03T10:27:22.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968863064285285;171.162362694745;_
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968863064285285;171.162362694745;_
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:22.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:22.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59649)
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:22.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:22.427 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:22.428 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:22.428 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8523427, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968863064285285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108508, telescope_az=89.993041, telescope_ra=15.6808098, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70057, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:26:23.131279', telescope_ra_j2k=15.6555443212217, telescope_dec_j2k=-24.1728299868185, observability=1)
2025-11-03T10:27:22.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:22
2025-11-03T10:27:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02219557762145996s
2025-11-03T10:27:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02219557762145996
2025-11-03T10:27:22.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:22
2025-11-03T10:27:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35254502296447754s
2025-11-03T10:27:22.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35254502296447754
2025-11-03T10:27:23.273 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:23.274 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:23.274 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:23.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:23.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:23.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:23.275 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:23.275 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:27:23.276 [INFO] [ThreadPoolExecutor-3463_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:27:23.276 [INFO] [ThreadPoolExecutor-3463_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:27:24.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:24
2025-11-03T10:27:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9748501777648926s
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6813429;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70111;2460982.8523658;10.45674083;1.3;_
2025-11-03T10:27:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6813429;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70111;2460982.8523658;10.45674083;1.3;_
2025-11-03T10:27:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:24.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6813429, teldec = -24.256582
2025-11-03T10:27:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6813429 -24.256582
2025-11-03T10:27:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6813429 -24.256582
2025-11-03T10:27:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6813429 -24.256582
2025-11-03T10:27:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6813429;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70111;2460982.85236582;10.45674083;1.3;_15.6560770540834 -24.1728459823135
2025-11-03T10:27:24.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6560770540834     dec_j2k = -24.1728459823135
2025-11-03T10:27:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968856646374436;171.162362694745;_
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968856646374436;171.162362694745;_
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:24.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39311)
2025-11-03T10:27:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:24.417 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:24.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:24.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:24.425 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:24.425 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8523658, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968856646374436, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6813429, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70111, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6560770540834, telescope_dec_j2k=-24.1728459823135, observability=1)
2025-11-03T10:27:24.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:24
2025-11-03T10:27:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023190975189208984s
2025-11-03T10:27:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023190975189208984
2025-11-03T10:27:24.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:24
2025-11-03T10:27:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34812283515930176s
2025-11-03T10:27:24.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34812283515930176
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Status age = 1.7057719230651855s
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:26.131 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:26.132 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:26.133 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:26.134 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 17;15.6818476;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70161;2460982.8523858;10.45724417;1.3;_
2025-11-03T10:27:26.134 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response 17;15.6818476;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70161;2460982.8523858;10.45724417;1.3;_
2025-11-03T10:27:26.134 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:26.134 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:26.134 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:26.135 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:26.135 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:26.135 [INFO] [Thread-88905 (handle)] [driver.py] [get_status()] Telra = 15.6818476, teldec = -24.256582
2025-11-03T10:27:26.135 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6818476 -24.256582
2025-11-03T10:27:26.135 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6818476 -24.256582
2025-11-03T10:27:26.135 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6818476 -24.256582
2025-11-03T10:27:26.136 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 17;15.6818476;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70161;2460982.85238583;10.45724417;1.3;_15.6565814065592 -24.1728611272065
2025-11-03T10:27:26.136 [INFO] [Thread-88905 (handle)] [driver.py] [get_status()] ra_j2k = 15.6565814065592     dec_j2k = -24.1728611272065
2025-11-03T10:27:26.136 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:26.136 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:26.136 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 140;0.0968863064285285;171.162357330327;_
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response 140;0.0968863064285285;171.162357330327;_
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:26.137 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:26.138 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:26.139 [DEBUG] [Thread-88905 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:26.139 [DEBUG] [Thread-88905 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:26.139 [DEBUG] [Thread-88905 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53965)
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:26.141 [DEBUG] [Thread-88905 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:26.148 [DEBUG] [Thread-88905 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:26.148 [DEBUG] [Thread-88905 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:26.148 [DEBUG] [Thread-88905 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:26.148 [DEBUG] [Thread-88905 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:26.149 [DEBUG] [Thread-88905 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:26.149 [DEBUG] [Thread-88905 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:26.149 [DEBUG] [Thread-88905 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:26.149 [DEBUG] [Thread-88905 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:26.149 [DEBUG] [Thread-88905 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:26.149 [INFO] [Thread-88905 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8523858, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968863064285285, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6818476, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70161, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6565814065592, telescope_dec_j2k=-24.1728611272065, observability=1)
2025-11-03T10:27:26.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:26
2025-11-03T10:27:26.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:26.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.26310181617736816s
2025-11-03T10:27:26.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.26310181617736816
2025-11-03T10:27:26.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:26
2025-11-03T10:27:26.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:26.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28816890716552734s
2025-11-03T10:27:26.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28816890716552734
2025-11-03T10:27:26.776 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:26
2025-11-03T10:27:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6267988681793213s
2025-11-03T10:27:26.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6267988681793213
2025-11-03T10:27:28.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:28
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2503232955932617s
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:28.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:28.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6824551;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70222;2460982.85241205;10.45785;1.3;_
2025-11-03T10:27:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6824551;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70222;2460982.85241205;10.45785;1.3;_
2025-11-03T10:27:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:28.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:28.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6824551, teldec = -24.256582
2025-11-03T10:27:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6824551 -24.256582
2025-11-03T10:27:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6824551 -24.256582
2025-11-03T10:27:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6824551 -24.256582
2025-11-03T10:27:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6824551;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70222;2460982.85241207;10.45785;1.3;_15.6571884883209 -24.172879358867
2025-11-03T10:27:28.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6571884883209     dec_j2k = -24.172879358867
2025-11-03T10:27:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867877718421;171.162357330327;_
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41389)
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:28.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:28.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:28.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:28.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85241205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867877718421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6824551, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70222, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6571884883209, telescope_dec_j2k=-24.172879358867, observability=1)
2025-11-03T10:27:28.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:28
2025-11-03T10:27:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022812604904174805s
2025-11-03T10:27:28.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022812604904174805
2025-11-03T10:27:28.793 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:28
2025-11-03T10:27:28.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:28.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.37897801399230957s
2025-11-03T10:27:28.794 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37897801399230957
2025-11-03T10:27:30.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:30
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9897048473358154s
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:30.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6830155;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70278;2460982.85243525;10.45840889;1.3;_
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6830155;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70278;2460982.85243525;10.45840889;1.3;_
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:30.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6830155, teldec = -24.256582
2025-11-03T10:27:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6830155 -24.256582
2025-11-03T10:27:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6830155 -24.256582
2025-11-03T10:27:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6830155 -24.256582
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6830155;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70278;2460982.85243529;10.45840889;1.3;_15.6577485025782 -24.1728961789234
2025-11-03T10:27:30.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6577485025782     dec_j2k = -24.1728961789234
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867075479565;171.162362694745;_
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867075479565;171.162362694745;_
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:30.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:30.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55607)
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:30.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:30.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:30.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:30.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85243525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867075479565, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6830155, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70278, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6577485025782, telescope_dec_j2k=-24.1728961789234, observability=1)
2025-11-03T10:27:30.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:30
2025-11-03T10:27:30.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:30.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022378921508789062s
2025-11-03T10:27:30.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022378921508789062
2025-11-03T10:27:30.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:30
2025-11-03T10:27:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.346052885055542s
2025-11-03T10:27:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.346052885055542
2025-11-03T10:27:32.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:32
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.98453688621521s
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6835941;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70336;2460982.85245843;10.45898583;1.3;_
2025-11-03T10:27:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6835941;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70336;2460982.85245843;10.45898583;1.3;_
2025-11-03T10:27:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:32.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6835941, teldec = -24.256582
2025-11-03T10:27:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6835941 -24.256582
2025-11-03T10:27:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6835941 -24.256582
2025-11-03T10:27:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6835941 -24.256582
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6835941;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70336;2460982.85245845;10.45898583;1.3;_15.6583267043775 -24.1729135471665
2025-11-03T10:27:32.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6583267043775     dec_j2k = -24.1729135471665
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968865069882425;171.162357330327;_
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968865069882425;171.162357330327;_
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36597)
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:32.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:32.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:32.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85245843, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968865069882425, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6835941, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70336, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6583267043775, telescope_dec_j2k=-24.1729135471665, observability=1)
2025-11-03T10:27:32.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:32
2025-11-03T10:27:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35190629959106445s
2025-11-03T10:27:32.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35190629959106445
2025-11-03T10:27:32.859 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:32
2025-11-03T10:27:32.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:32.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43651843070983887s
2025-11-03T10:27:32.860 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43651843070983887
2025-11-03T10:27:34.703 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:34
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.279712677001953s
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:34.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:34.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.684211;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70397;2460982.85248501;10.45960111;1.3;_
2025-11-03T10:27:34.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.684211;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70397;2460982.85248501;10.45960111;1.3;_
2025-11-03T10:27:34.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:34.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:34.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:34.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:34.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:34.706 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.684211, teldec = -24.256582
2025-11-03T10:27:34.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.684211 -24.256582
2025-11-03T10:27:34.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.684211 -24.256582
2025-11-03T10:27:34.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.684211 -24.256582
2025-11-03T10:27:34.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.684211;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70397;2460982.85248503;10.45960111;1.3;_15.6589431798963 -24.1729320672416
2025-11-03T10:27:34.707 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6589431798963     dec_j2k = -24.1729320672416
2025-11-03T10:27:34.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:34.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:34.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968865872121281;171.162357330327;_
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968865872121281;171.162357330327;_
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:34.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:34.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:34.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:34.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:34.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39027)
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:34.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:34.719 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:34.719 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:34.719 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:34.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:34.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:34.720 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:34.720 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:34.720 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:34.720 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85248501, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968865872121281, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.684211, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70397, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6589431798963, telescope_dec_j2k=-24.1729320672416, observability=1)
2025-11-03T10:27:34.743 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:34
2025-11-03T10:27:34.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:34.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023197412490844727s
2025-11-03T10:27:34.743 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023197412490844727
2025-11-03T10:27:34.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:34
2025-11-03T10:27:34.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:34.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0509793758392334s
2025-11-03T10:27:34.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0509793758392334
2025-11-03T10:27:36.754 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:36
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.034512519836426s
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:36.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:36.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:36.756 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6847999;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70456;2460982.85250876;10.46018833;1.3;_
2025-11-03T10:27:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6847999;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70456;2460982.85250876;10.46018833;1.3;_
2025-11-03T10:27:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:36.757 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:36.758 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6847999, teldec = -24.256582
2025-11-03T10:27:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6847999 -24.256582
2025-11-03T10:27:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6847999 -24.256582
2025-11-03T10:27:36.758 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6847999 -24.256582
2025-11-03T10:27:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6847999;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70456;2460982.85250878;10.46018833;1.3;_15.6595316747567 -24.1729497487967
2025-11-03T10:27:36.759 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6595316747567     dec_j2k = -24.1729497487967
2025-11-03T10:27:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:36.759 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968869482196134;171.162346601491;_
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968869482196134;171.162346601491;_
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:36.760 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:36.761 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:36.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57771)
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:36.767 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:36.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:36.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85250876, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968869482196134, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6847999, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70456, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6595316747567, telescope_dec_j2k=-24.1729497487967, observability=1)
2025-11-03T10:27:36.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:36
2025-11-03T10:27:36.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:36.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005896806716918945s
2025-11-03T10:27:36.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005896806716918945
2025-11-03T10:27:36.798 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:36
2025-11-03T10:27:36.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:36.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022385597229003906s
2025-11-03T10:27:36.798 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022385597229003906
2025-11-03T10:27:38.696 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:38
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9206745624542236s
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:38.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:38.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:38.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6853238;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70509;2460982.85253123;10.46071083;1.3;_
2025-11-03T10:27:38.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6853238;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70509;2460982.85253123;10.46071083;1.3;_
2025-11-03T10:27:38.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:38.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:38.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:38.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:38.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:38.699 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6853238, teldec = -24.256582
2025-11-03T10:27:38.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6853238 -24.256582
2025-11-03T10:27:38.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6853238 -24.256582
2025-11-03T10:27:38.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6853238 -24.256582
2025-11-03T10:27:38.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6853238;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70509;2460982.85253125;10.46071083;1.3;_15.6600552143963 -24.1729654804472
2025-11-03T10:27:38.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6600552143963     dec_j2k = -24.1729654804472
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867476598993;171.162362694745;_
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867476598993;171.162362694745;_
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:38.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:38.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:38.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:38.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:38.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:38.705 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39231)
2025-11-03T10:27:38.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:38.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:38.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:38.706 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:38.706 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:38.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:38.714 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85253123, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867476598993, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6853238, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70509, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6600552143963, telescope_dec_j2k=-24.1729654804472, observability=1)
2025-11-03T10:27:38.738 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:38
2025-11-03T10:27:38.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:38.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024502277374267578s
2025-11-03T10:27:38.738 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024502277374267578
2025-11-03T10:27:38.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:38
2025-11-03T10:27:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07151055335998535s
2025-11-03T10:27:38.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07151055335998535
2025-11-03T10:27:40.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:40
2025-11-03T10:27:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:40.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6829218864440918s
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:40.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6858006;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70556;2460982.85255091;10.46118639;1.3;_
2025-11-03T10:27:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6858006;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70556;2460982.85255091;10.46118639;1.3;_
2025-11-03T10:27:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:40.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6858006, teldec = -24.256582
2025-11-03T10:27:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6858006 -24.256582
2025-11-03T10:27:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6858006 -24.256582
2025-11-03T10:27:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6858006 -24.256582
2025-11-03T10:27:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6858006;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70556;2460982.85255094;10.46118639;1.3;_15.6605316864837 -24.1729797991732
2025-11-03T10:27:40.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6605316864837     dec_j2k = -24.1729797991732
2025-11-03T10:27:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968867476598993;171.162357330327;_
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867476598993;171.162357330327;_
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33639)
2025-11-03T10:27:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:40.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:40.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:40.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85255091, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867476598993, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6858006, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70556, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6605316864837, telescope_dec_j2k=-24.1729797991732, observability=1)
2025-11-03T10:27:40.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:40
2025-11-03T10:27:40.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:40.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023345232009887695s
2025-11-03T10:27:40.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023345232009887695
2025-11-03T10:27:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:40
2025-11-03T10:27:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34810423851013184s
2025-11-03T10:27:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34810423851013184
2025-11-03T10:27:42.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:42
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9840035438537598s
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:42.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:42.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6863605;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70612;2460982.85257411;10.46174472;1.3;_
2025-11-03T10:27:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6863605;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70612;2460982.85257411;10.46174472;1.3;_
2025-11-03T10:27:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:42.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:42.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6863605, teldec = -24.256582
2025-11-03T10:27:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6863605 -24.256582
2025-11-03T10:27:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6863605 -24.256582
2025-11-03T10:27:42.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6863605 -24.256582
2025-11-03T10:27:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6863605;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70612;2460982.85257413;10.46174472;1.3;_15.6610912014817 -24.1729966151597
2025-11-03T10:27:42.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6610912014817     dec_j2k = -24.1729966151597
2025-11-03T10:27:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:42.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096887028443499;171.162346601491;_
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096887028443499;171.162346601491;_
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:42.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:42.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:42.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:42.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:42.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:42.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59657)
2025-11-03T10:27:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:42.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:42.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:42.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:42.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:42.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:42.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85257411, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096887028443499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6863605, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70612, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6610912014817, telescope_dec_j2k=-24.1729966151597, observability=1)
2025-11-03T10:27:42.494 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:42
2025-11-03T10:27:42.494 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:42.494 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.07478713989257812s
2025-11-03T10:27:42.494 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.07478713989257812
2025-11-03T10:27:42.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:42
2025-11-03T10:27:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3502373695373535s
2025-11-03T10:27:42.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3502373695373535
2025-11-03T10:27:43.027 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:43.027 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.6083896160125732s
2025-11-03T10:27:43.027 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6083896160125732
2025-11-03T10:27:44.154 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.154 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.154 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:44.154 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:44.154 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:27:44.155 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:44.156 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:44.157 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:27:44.158 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:44.159 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:44.160 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.160 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:44.160 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:44.161 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Park
2025-11-03T10:27:44.161 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:27:44.161 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:27:44.162 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 29;15.6868552;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70662;2460982.85259447;10.46223806;1.3;_Park Command Successful
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Status age = 1.806769609451294s
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:44.226 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:44.227 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:44.228 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 21;15.686883;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70665;2460982.85259523;10.46226583;1.3;_
2025-11-03T10:27:44.228 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response 21;15.686883;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70665;2460982.85259523;10.46226583;1.3;_
2025-11-03T10:27:44.228 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:44.228 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:44.229 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:44.229 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:44.230 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:44.230 [INFO] [Thread-88906 (handle)] [driver.py] [get_status()] Telra = 15.686883, teldec = -24.256582
2025-11-03T10:27:44.230 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] UnCookCoordinates 15.686883 -24.256582
2025-11-03T10:27:44.230 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.686883 -24.256582
2025-11-03T10:27:44.230 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.686883 -24.256582
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 21;15.686883;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70665;2460982.85259527;10.46226583;1.3;_15.6616133422568 -24.1730123095281
2025-11-03T10:27:44.231 [INFO] [Thread-88906 (handle)] [driver.py] [get_status()] ra_j2k = 15.6616133422568     dec_j2k = -24.1730123095281
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 140;0.0968869482196134;171.162362694745;_
2025-11-03T10:27:44.231 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response 140;0.0968869482196134;171.162362694745;_
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:44.232 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:44.233 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:44.233 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:44.234 [DEBUG] [Thread-88906 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:44.234 [DEBUG] [Thread-88906 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:44.234 [DEBUG] [Thread-88906 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44055)
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:44.237 [DEBUG] [Thread-88906 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:44.244 [DEBUG] [Thread-88906 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:44.245 [DEBUG] [Thread-88906 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:44.245 [INFO] [Thread-88906 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85259523, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968869482196134, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.686883, telescope_dec=-24.256582, telescope_slewing=True, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70665, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6616133422568, telescope_dec_j2k=-24.1730123095281, observability=1)
2025-11-03T10:27:44.399 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:44
2025-11-03T10:27:44.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:44.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15454888343811035s
2025-11-03T10:27:44.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15454888343811035
2025-11-03T10:27:44.546 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:44
2025-11-03T10:27:44.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:44.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3013293743133545s
2025-11-03T10:27:44.546 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3013293743133545
2025-11-03T10:27:44.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:44
2025-11-03T10:27:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5269241333007812s
2025-11-03T10:27:44.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5269241333007812
2025-11-03T10:27:45.162 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:27:45.162 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:27:45.162 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:27:45.163 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:27:45.163 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:27:46.163 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:27:46.163 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:27:46.163 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:27:46.164 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:27:46.164 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_ParkRotatorAccepted
2025-11-03T10:27:46.702 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:46
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.456782817840576s
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:46.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:46.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.687556;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70732;2460982.85262389;10.46293694;1.3;_
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.687556;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70732;2460982.85262389;10.46293694;1.3;_
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:46.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:46.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:46.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:46.705 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.687556, teldec = -24.256582
2025-11-03T10:27:46.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.687556 -24.256582
2025-11-03T10:27:46.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.687556 -24.256582
2025-11-03T10:27:46.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.687556 -24.256582
2025-11-03T10:27:46.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.687556;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70732;2460982.85262391;10.46293694;1.3;_15.6622858796466 -24.1730325268224
2025-11-03T10:27:46.706 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6622858796466     dec_j2k = -24.1730325268224
2025-11-03T10:27:46.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:46.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:46.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:46.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968869482196134;171.162362694745;_
2025-11-03T10:27:46.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968869482196134;171.162362694745;_
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:46.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:46.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:46.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:46.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:46.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:46.710 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57957)
2025-11-03T10:27:46.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:46.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:46.710 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:46.710 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:46.711 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:46.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:46.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:46.718 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:46.718 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85262389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968869482196134, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.687556, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70732, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6622858796466, telescope_dec_j2k=-24.1730325268224, observability=1)
2025-11-03T10:27:46.742 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:46
2025-11-03T10:27:46.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:46.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024473905563354492s
2025-11-03T10:27:46.742 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024473905563354492
2025-11-03T10:27:46.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:46
2025-11-03T10:27:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04498481750488281s
2025-11-03T10:27:46.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04498481750488281
2025-11-03T10:27:47.164 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:27:47.164 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:27:47.164 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:27:47.165 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:27:47.165 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:27:48.165 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:27:48.166 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:27:48.166 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:27:48.167 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:27:48.168 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:48.699 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:48
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9812920093536377s
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:48.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:48.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:48.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:48.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6881159;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70788;2460982.852647;10.46349528;1.3;_
2025-11-03T10:27:48.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6881159;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70788;2460982.852647;10.46349528;1.3;_
2025-11-03T10:27:48.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:48.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:48.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:48.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:48.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:48.703 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6881159, teldec = -24.256582
2025-11-03T10:27:48.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6881159 -24.256582
2025-11-03T10:27:48.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6881159 -24.256582
2025-11-03T10:27:48.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6881159 -24.256582
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6881159;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70788;2460982.85264704;10.46349528;1.3;_15.6628453948528 -24.1730493485431
2025-11-03T10:27:48.704 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6628453948528     dec_j2k = -24.1730493485431
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968869081076706;171.162357330327;_
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968869081076706;171.162357330327;_
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:48.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:48.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:48.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:48.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:48.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:48.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:48.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:48.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50287)
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:48.709 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:48.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:48.716 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:48.716 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:48.716 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:48.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:48.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:48.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:48.717 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:48.717 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:48.717 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.852647, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968869081076706, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6881159, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70788, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6628453948528, telescope_dec_j2k=-24.1730493485431, observability=1)
2025-11-03T10:27:48.738 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:48
2025-11-03T10:27:48.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:48.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0218353271484375s
2025-11-03T10:27:48.739 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0218353271484375
2025-11-03T10:27:48.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:48
2025-11-03T10:27:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05738711357116699s
2025-11-03T10:27:48.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05738711357116699
2025-11-03T10:27:49.168 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:49.168 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:49.168 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:27:49.169 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:27:49.170 [DEBUG] [ThreadPoolExecutor-3462_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:49.170 [INFO] [ThreadPoolExecutor-3462_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:27:50.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:50
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.680081844329834s
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:50.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:50.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:50.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6885824;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70834;2460982.85266666;10.46396056;1.3;_
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6885824;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70834;2460982.85266666;10.46396056;1.3;_
2025-11-03T10:27:50.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:50.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:50.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6885824, teldec = -24.256582
2025-11-03T10:27:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6885824 -24.256582
2025-11-03T10:27:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6885824 -24.256582
2025-11-03T10:27:50.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6885824 -24.256582
2025-11-03T10:27:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6885824;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70834;2460982.85266669;10.46396056;1.3;_15.6633115742993 -24.1730633655361
2025-11-03T10:27:50.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6633115742993     dec_j2k = -24.1730633655361
2025-11-03T10:27:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:50.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968871487793274;171.162351965909;_
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968871487793274;171.162351965909;_
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:50.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:50.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:50.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:50.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:50.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:50.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34429)
2025-11-03T10:27:50.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:50.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:50.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:50.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:50.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:50.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:50.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85266666, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968871487793274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6885824, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70834, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6633115742993, telescope_dec_j2k=-24.1730633655361, observability=1)
2025-11-03T10:27:50.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:50
2025-11-03T10:27:50.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:50.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021963834762573242s
2025-11-03T10:27:50.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021963834762573242
2025-11-03T10:27:50.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:50
2025-11-03T10:27:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3454923629760742s
2025-11-03T10:27:50.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3454923629760742
2025-11-03T10:27:52.706 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:52
2025-11-03T10:27:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2890589237213135s
2025-11-03T10:27:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:52.706 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:52.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:52.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6892272;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70899;2460982.85269337;10.46460361;1.3;_
2025-11-03T10:27:52.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6892272;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70899;2460982.85269337;10.46460361;1.3;_
2025-11-03T10:27:52.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:52.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:52.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:52.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:52.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:52.709 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6892272, teldec = -24.256582
2025-11-03T10:27:52.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6892272 -24.256582
2025-11-03T10:27:52.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6892272 -24.256582
2025-11-03T10:27:52.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6892272 -24.256582
2025-11-03T10:27:52.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6892272;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70899;2460982.8526934;10.46460361;1.3;_15.6639559313037 -24.1730827420242
2025-11-03T10:27:52.710 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6639559313037     dec_j2k = -24.1730827420242
2025-11-03T10:27:52.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:52.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:52.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968873894509842;171.162357330327;_
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968873894509842;171.162357330327;_
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:52.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:52.712 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43577)
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:52.717 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:52.725 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:52.726 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:52.726 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85269337, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968873894509842, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6892272, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70899, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6639559313037, telescope_dec_j2k=-24.1730827420242, observability=1)
2025-11-03T10:27:52.749 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:52
2025-11-03T10:27:52.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:52.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023975133895874023s
2025-11-03T10:27:52.750 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023975133895874023
2025-11-03T10:27:52.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:52
2025-11-03T10:27:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.04600048065185547s
2025-11-03T10:27:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.04600048065185547
2025-11-03T10:27:52.834 [DEBUG] [Thread-88907 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:52.834 [DEBUG] [Thread-88907 (handle)] [server.py] [get_status()] Status age = 0.10862922668457031s
2025-11-03T10:27:52.834 [DEBUG] [Thread-88907 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10862922668457031
2025-11-03T10:27:54.704 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:54
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.978590488433838s
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:54.704 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:54.705 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:54.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:54.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6897874;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70955;2460982.8527165;10.46516222;1.3;_
2025-11-03T10:27:54.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6897874;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70955;2460982.8527165;10.46516222;1.3;_
2025-11-03T10:27:54.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:54.706 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:54.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:54.707 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:54.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:54.708 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6897874, teldec = -24.256582
2025-11-03T10:27:54.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6897874 -24.256582
2025-11-03T10:27:54.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6897874 -24.256582
2025-11-03T10:27:54.708 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6897874 -24.256582
2025-11-03T10:27:54.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6897874;-24.256582;50.108507;89.993041;50.08601;90.12017;12.70955;2460982.85271654;10.46516222;1.3;_15.6645157465021 -24.1730995782174
2025-11-03T10:27:54.709 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6645157465021     dec_j2k = -24.1730995782174
2025-11-03T10:27:54.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:54.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:54.709 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968865069882425;171.162357330327;_
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968865069882425;171.162357330327;_
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:54.710 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:54.711 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42653)
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:54.718 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:54.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:54.725 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:54.725 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:54.726 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:54.726 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8527165, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968865069882425, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6897874, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.70955, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6645157465021, telescope_dec_j2k=-24.1730995782174, observability=1)
2025-11-03T10:27:54.749 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:54
2025-11-03T10:27:54.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:54.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022889137268066406s
2025-11-03T10:27:54.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022889137268066406
2025-11-03T10:27:54.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:54
2025-11-03T10:27:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.042936086654663086s
2025-11-03T10:27:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.042936086654663086
2025-11-03T10:27:56.747 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:56
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0211374759674072s
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:56.747 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6903656;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71013;2460982.85274014;10.46573889;1.3;_
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6903656;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71013;2460982.85274014;10.46573889;1.3;_
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:56.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:56.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:56.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:56.749 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6903656, teldec = -24.256582
2025-11-03T10:27:56.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6903656 -24.256582
2025-11-03T10:27:56.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6903656 -24.256582
2025-11-03T10:27:56.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6903656 -24.256582
2025-11-03T10:27:56.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6903656;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71013;2460982.85274016;10.46573889;1.3;_15.6650935494061 -24.1731169572988
2025-11-03T10:27:56.751 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6650935494061     dec_j2k = -24.1731169572988
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096887429562927;171.162362694745;_
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096887429562927;171.162362694745;_
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:56.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:56.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:56.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:56.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:56.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:56.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:56.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:56.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:56.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:56.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:56.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59701)
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:56.759 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:56.766 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:56.767 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85274014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096887429562927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6903656, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71013, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6650935494061, telescope_dec_j2k=-24.1731169572988, observability=1)
2025-11-03T10:27:56.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:56
2025-11-03T10:27:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0059604644775390625s
2025-11-03T10:27:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0059604644775390625
2025-11-03T10:27:56.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:56
2025-11-03T10:27:56.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:56.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02169203758239746s
2025-11-03T10:27:56.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02169203758239746
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.2414820194244385s
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:27:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:27:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:27:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6907021;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71046;2460982.85275475;10.46607444;1.3;_
2025-11-03T10:27:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.6907021;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71046;2460982.85275475;10.46607444;1.3;_
2025-11-03T10:27:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:27:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:27:58.010 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:27:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:27:58.011 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.6907021, teldec = -24.256582
2025-11-03T10:27:58.011 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6907021 -24.256582
2025-11-03T10:27:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6907021 -24.256582
2025-11-03T10:27:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6907021 -24.256582
2025-11-03T10:27:58.012 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.6907021;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71046;2460982.85275477;10.46607444;1.3;_15.6654298183374 -24.1731270724484
2025-11-03T10:27:58.012 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.6654298183374     dec_j2k = -24.1731270724484
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968867877718421;171.162362694745;_
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968867877718421;171.162362694745;_
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:58.013 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:27:58.014 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:58.015 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:27:58.015 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:27:58.020 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49425)
2025-11-03T10:27:58.020 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:27:58.021 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:27:58.021 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:27:58.021 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:27:58.021 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:27:58.028 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:27:58.028 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85275475, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968867877718421, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6907021, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71046, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6654298183374, telescope_dec_j2k=-24.1731270724484, observability=1)
2025-11-03T10:27:58.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:58
2025-11-03T10:27:58.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:58.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4313774108886719s
2025-11-03T10:27:58.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4313774108886719
2025-11-03T10:27:58.498 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:58
2025-11-03T10:27:58.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:58.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.46981120109558105s
2025-11-03T10:27:58.498 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.46981120109558105
2025-11-03T10:27:58.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:27:58
2025-11-03T10:27:58.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:27:58.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.7414586544036865s
2025-11-03T10:27:58.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.7414586544036865
2025-11-03T10:28:00.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:00
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3695900440216064s
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:00.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6913748;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71114;2460982.8527824;10.46674528;1.3;_
2025-11-03T10:28:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6913748;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71114;2460982.8527824;10.46674528;1.3;_
2025-11-03T10:28:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:00.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:00.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6913748, teldec = -24.256582
2025-11-03T10:28:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6913748 -24.256582
2025-11-03T10:28:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6913748 -24.256582
2025-11-03T10:28:00.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6913748 -24.256582
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6913748;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71114;2460982.85278242;10.46674528;1.3;_15.6661020564779 -24.1731472957072
2025-11-03T10:28:00.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6661020564779     dec_j2k = -24.1731472957072
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968873092270986;171.162368059163;_
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968873092270986;171.162368059163;_
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:00.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:00.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:00.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:00.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60117)
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:00.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:00.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:00.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:00.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8527824, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968873092270986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6913748, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71114, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6661020564779, telescope_dec_j2k=-24.1731472957072, observability=1)
2025-11-03T10:28:00.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:00
2025-11-03T10:28:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02359914779663086s
2025-11-03T10:28:00.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02359914779663086
2025-11-03T10:28:01.016 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:01
2025-11-03T10:28:01.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:01.016 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6025080680847168s
2025-11-03T10:28:01.017 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6025080680847168
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Status age = 1.8786730766296387s
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:02.293 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:02.294 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:02.295 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 17;15.6919065;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71167;2460982.85280434;10.46727556;1.3;_
2025-11-03T10:28:02.295 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response 17;15.6919065;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71167;2460982.85280434;10.46727556;1.3;_
2025-11-03T10:28:02.295 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:02.295 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:02.295 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:02.296 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:02.296 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:02.296 [INFO] [Thread-88908 (handle)] [driver.py] [get_status()] Telra = 15.6919065, teldec = -24.256582
2025-11-03T10:28:02.296 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6919065 -24.256582
2025-11-03T10:28:02.296 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6919065 -24.256582
2025-11-03T10:28:02.296 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6919065 -24.256582
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 17;15.6919065;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71167;2460982.85280436;10.46727556;1.3;_15.6666333914934 -24.1731632819736
2025-11-03T10:28:02.297 [INFO] [Thread-88908 (handle)] [driver.py] [get_status()] ra_j2k = 15.6666333914934     dec_j2k = -24.1731632819736
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 140;0.0968871086673846;171.162357330327;_
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response 140;0.0968871086673846;171.162357330327;_
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:02.297 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:02.298 [DEBUG] [Thread-88908 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41351)
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:02.304 [DEBUG] [Thread-88908 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:02.311 [DEBUG] [Thread-88908 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:02.311 [DEBUG] [Thread-88908 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:02.311 [DEBUG] [Thread-88908 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:02.311 [DEBUG] [Thread-88908 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:02.311 [DEBUG] [Thread-88908 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:02.312 [DEBUG] [Thread-88908 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:02.312 [DEBUG] [Thread-88908 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:02.312 [DEBUG] [Thread-88908 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:02.312 [DEBUG] [Thread-88908 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:02.312 [INFO] [Thread-88908 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85280434, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968871086673846, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6919065, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71167, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6666333914934, telescope_dec_j2k=-24.1731632819736, observability=1)
2025-11-03T10:28:02.757 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:02
2025-11-03T10:28:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.44495248794555664s
2025-11-03T10:28:02.757 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.44495248794555664
2025-11-03T10:28:02.762 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:02
2025-11-03T10:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.450822114944458s
2025-11-03T10:28:02.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.450822114944458
2025-11-03T10:28:02.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:02
2025-11-03T10:28:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.47308921813964844s
2025-11-03T10:28:02.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.47308921813964844
2025-11-03T10:28:04.404 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:04
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.092505931854248s
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6924856;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71225;2460982.85282877;10.46785306;1.3;_
2025-11-03T10:28:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6924856;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71225;2460982.85282877;10.46785306;1.3;_
2025-11-03T10:28:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:04.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:04.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6924856, teldec = -24.256582
2025-11-03T10:28:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6924856 -24.256582
2025-11-03T10:28:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6924856 -24.256582
2025-11-03T10:28:04.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6924856 -24.256582
2025-11-03T10:28:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6924856;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71225;2460982.8528288;10.46785306;1.3;_15.6672120940396 -24.1731806952571
2025-11-03T10:28:04.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6672120940396     dec_j2k = -24.1731806952571
2025-11-03T10:28:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:04.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968873894509842;171.162362694745;_
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968873894509842;171.162362694745;_
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:04.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:04.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50191)
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:04.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:04.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:04.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:04.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85282877, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968873894509842, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6924856, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71225, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6672120940396, telescope_dec_j2k=-24.1731806952571, observability=1)
2025-11-03T10:28:04.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:04
2025-11-03T10:28:04.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:04.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02236008644104004s
2025-11-03T10:28:04.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02236008644104004
2025-11-03T10:28:04.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:04
2025-11-03T10:28:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3480648994445801s
2025-11-03T10:28:04.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3480648994445801
2025-11-03T10:28:06.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:06
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3507590293884277s
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:06.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6931583;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71292;2460982.85285615;10.46852389;1.3;_
2025-11-03T10:28:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6931583;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71292;2460982.85285615;10.46852389;1.3;_
2025-11-03T10:28:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:06.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:06.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:06.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6931583, teldec = -24.256582
2025-11-03T10:28:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6931583 -24.256582
2025-11-03T10:28:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6931583 -24.256582
2025-11-03T10:28:06.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6931583 -24.256582
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6931583;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71292;2460982.85285617;10.46852389;1.3;_15.6678843324345 -24.1732009255034
2025-11-03T10:28:06.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6678843324345     dec_j2k = -24.1732009255034
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968875097868126;171.162362694745;_
2025-11-03T10:28:06.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968875097868126;171.162362694745;_
2025-11-03T10:28:06.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:06.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:06.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:06.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48057)
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:06.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:06.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:06.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:06.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:06.791 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85285615, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968875097868126, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6931583, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71292, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6678843324345, telescope_dec_j2k=-24.1732009255034, observability=1)
2025-11-03T10:28:06.797 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:06
2025-11-03T10:28:06.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:06.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.006042957305908203s
2025-11-03T10:28:06.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.006042957305908203
2025-11-03T10:28:06.819 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:06
2025-11-03T10:28:06.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:06.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027868270874023438s
2025-11-03T10:28:06.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027868270874023438
2025-11-03T10:28:08.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:08
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.609133005142212s
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6936064;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71337;2460982.85287503;10.46897083;1.3;_
2025-11-03T10:28:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6936064;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71337;2460982.85287503;10.46897083;1.3;_
2025-11-03T10:28:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:08.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6936064, teldec = -24.256582
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6936064 -24.256582
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6936064 -24.256582
2025-11-03T10:28:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6936064 -24.256582
2025-11-03T10:28:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6936064;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71337;2460982.85287506;10.46897083;1.3;_15.6683321250027 -24.1732144027692
2025-11-03T10:28:08.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6683321250027     dec_j2k = -24.1732144027692
2025-11-03T10:28:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:08.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968871487793274;171.162357330327;_
2025-11-03T10:28:08.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968871487793274;171.162357330327;_
2025-11-03T10:28:08.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:08.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:08.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:08.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:08.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:08.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:08.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:08.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:08.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36449)
2025-11-03T10:28:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:08.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:08.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:08.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:08.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:08.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:08.423 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85287503, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968871487793274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6936064, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71337, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6683321250027, telescope_dec_j2k=-24.1732144027692, observability=1)
2025-11-03T10:28:08.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:08
2025-11-03T10:28:08.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:08.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025603055953979492s
2025-11-03T10:28:08.449 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025603055953979492
2025-11-03T10:28:08.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:08
2025-11-03T10:28:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34512829780578613s
2025-11-03T10:28:08.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34512829780578613
2025-11-03T10:28:10.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:10
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9729499816894531s
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:10.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6941571;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71392;2460982.85289812;10.46952;1.3;_
2025-11-03T10:28:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6941571;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71392;2460982.85289812;10.46952;1.3;_
2025-11-03T10:28:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:10.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6941571, teldec = -24.256582
2025-11-03T10:28:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6941571 -24.256582
2025-11-03T10:28:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6941571 -24.256582
2025-11-03T10:28:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6941571 -24.256582
2025-11-03T10:28:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6941571;-24.256582;50.108507;89.993041;50.08601;90.12017;12.71392;2460982.85289815;10.46952;1.3;_15.6688824472375 -24.1732309674816
2025-11-03T10:28:10.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6688824472375     dec_j2k = -24.1732309674816
2025-11-03T10:28:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096887028443499;171.162357330327;_
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096887028443499;171.162357330327;_
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56657)
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:10.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:10.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:10.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85289812, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096887028443499, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108507, telescope_az=89.993041, telescope_ra=15.6941571, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71392, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6688824472375, telescope_dec_j2k=-24.1732309674816, observability=1)
2025-11-03T10:28:10.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:10
2025-11-03T10:28:10.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:10.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023323535919189453s
2025-11-03T10:28:10.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023323535919189453
2025-11-03T10:28:10.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:10
2025-11-03T10:28:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34896183013916016s
2025-11-03T10:28:10.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34896183013916016
2025-11-03T10:28:12.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:12
2025-11-03T10:28:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9861714839935303s
2025-11-03T10:28:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:12.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:12.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:12.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6947178;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71448;2460982.85292135;10.47007917;1.3;_
2025-11-03T10:28:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6947178;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71448;2460982.85292135;10.47007917;1.3;_
2025-11-03T10:28:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:12.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:12.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6947178, teldec = -24.256582
2025-11-03T10:28:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6947178 -24.256582
2025-11-03T10:28:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6947178 -24.256582
2025-11-03T10:28:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6947178 -24.256582
2025-11-03T10:28:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6947178;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71448;2460982.85292138;10.47007917;1.3;_15.6694427626788 -24.1732478348009
2025-11-03T10:28:12.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6694427626788     dec_j2k = -24.1732478348009
2025-11-03T10:28:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968871487793274;171.162357330327;_
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968871487793274;171.162357330327;_
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 51183)
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:12.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:12.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:12.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85292135, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968871487793274, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6947178, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71448, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6694427626788, telescope_dec_j2k=-24.1732478348009, observability=1)
2025-11-03T10:28:12.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:12
2025-11-03T10:28:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02255702018737793s
2025-11-03T10:28:12.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02255702018737793
2025-11-03T10:28:12.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:12
2025-11-03T10:28:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34635448455810547s
2025-11-03T10:28:12.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34635448455810547
2025-11-03T10:28:14.748 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:14
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.328126907348633s
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:14.748 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:14.749 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:14.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6953813;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71514;2460982.8529485;10.47074083;1.3;_
2025-11-03T10:28:14.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6953813;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71514;2460982.8529485;10.47074083;1.3;_
2025-11-03T10:28:14.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:14.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:14.750 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:14.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:14.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:14.751 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6953813, teldec = -24.256582
2025-11-03T10:28:14.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6953813 -24.256582
2025-11-03T10:28:14.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6953813 -24.256582
2025-11-03T10:28:14.751 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6953813 -24.256582
2025-11-03T10:28:14.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6953813;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71514;2460982.85294852;10.47074083;1.3;_15.6701058077003 -24.1732677969755
2025-11-03T10:28:14.752 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6701058077003     dec_j2k = -24.1732677969755
2025-11-03T10:28:14.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:14.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:14.752 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968873092270986;171.162351965909;_
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968873092270986;171.162351965909;_
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:14.753 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:14.754 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:14.755 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39701)
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:14.756 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:14.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:14.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.8529485, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968873092270986, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6953813, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71514, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6701058077003, telescope_dec_j2k=-24.1732677969755, observability=1)
2025-11-03T10:28:14.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:14
2025-11-03T10:28:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.006024837493896484s
2025-11-03T10:28:14.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.006024837493896484
2025-11-03T10:28:14.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:14
2025-11-03T10:28:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021559953689575195s
2025-11-03T10:28:14.785 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021559953689575195
2025-11-03T10:28:15.806 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:28:15
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.0426476001739502s
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:15.806 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:15.807 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:15.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6956621;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71542;2460982.85296074;10.47102083;1.3;_
2025-11-03T10:28:15.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.6956621;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71542;2460982.85296074;10.47102083;1.3;_
2025-11-03T10:28:15.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:15.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:15.808 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:15.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:15.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:15.809 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.6956621, teldec = -24.256582
2025-11-03T10:28:15.809 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6956621 -24.256582
2025-11-03T10:28:15.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6956621 -24.256582
2025-11-03T10:28:15.810 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6956621 -24.256582
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.6956621;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71542;2460982.85296076;10.47102083;1.3;_15.6703864151769 -24.1732762459436
2025-11-03T10:28:15.811 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.6703864151769     dec_j2k = -24.1732762459436
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.096886827883785;171.162362694745;_
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.096886827883785;171.162362694745;_
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:15.811 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:15.812 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:15.812 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:15.812 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:15.813 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:15.813 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:15.813 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:15.813 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:15.814 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:15.814 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:15.814 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59339)
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:15.815 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:15.822 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:15.823 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85296074, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096886827883785, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6956621, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71542, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6703864151769, telescope_dec_j2k=-24.1732762459436, observability=1)
2025-11-03T10:28:16.759 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:16
2025-11-03T10:28:16.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:16.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9370641708374023s
2025-11-03T10:28:16.760 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9370641708374023
2025-11-03T10:28:16.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:16
2025-11-03T10:28:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9584474563598633s
2025-11-03T10:28:16.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9584474563598633
2025-11-03T10:28:16.811 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:16
2025-11-03T10:28:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9887645244598389s
2025-11-03T10:28:16.811 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9887645244598389
2025-11-03T10:28:18.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:18
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.9427454471588135s
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:18.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:18.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6965038;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71627;2460982.85299499;10.47186028;1.3;_
2025-11-03T10:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6965038;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71627;2460982.85299499;10.47186028;1.3;_
2025-11-03T10:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:18.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:18.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6965038, teldec = -24.256582
2025-11-03T10:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6965038 -24.256582
2025-11-03T10:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6965038 -24.256582
2025-11-03T10:28:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6965038 -24.256582
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6965038;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71627;2460982.85299501;10.47186028;1.3;_15.6712275381869 -24.1733015745331
2025-11-03T10:28:18.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6712275381869     dec_j2k = -24.1733015745331
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968871888912702;171.162357330327;_
2025-11-03T10:28:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968871888912702;171.162357330327;_
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42047)
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:18.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:18.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:18.785 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85299499, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968871888912702, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6965038, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71627, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6712275381869, telescope_dec_j2k=-24.1733015745331, observability=1)
2025-11-03T10:28:18.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:18
2025-11-03T10:28:18.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:18.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005991697311401367s
2025-11-03T10:28:18.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005991697311401367
2025-11-03T10:28:18.806 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:18
2025-11-03T10:28:18.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:18.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021787405014038086s
2025-11-03T10:28:18.806 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021787405014038086
2025-11-03T10:28:19.331 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:28:19.331 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.5461852550506592s
2025-11-03T10:28:19.331 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.5461852550506592
2025-11-03T10:28:19.331 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.524965524673462 seconds ago
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Status age = 1.602480411529541s
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:20.387 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:20.388 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:20.389 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301376;10.47229833;1.3;_
2025-11-03T10:28:20.389 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301376;10.47229833;1.3;_
2025-11-03T10:28:20.389 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:20.389 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:20.389 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:20.390 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:20.390 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:20.390 [INFO] [Thread-88909 (handle)] [driver.py] [get_status()] Telra = 15.6969431, teldec = -24.256582
2025-11-03T10:28:20.390 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.390 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.390 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.391 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301378;10.47229833;1.3;_15.671666537104 -24.1733147956648
2025-11-03T10:28:20.391 [INFO] [Thread-88909 (handle)] [driver.py] [get_status()] ra_j2k = 15.671666537104     dec_j2k = -24.1733147956648
2025-11-03T10:28:20.391 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:20.391 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:20.391 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:20.392 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:20.392 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:20.392 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:20.392 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:20.392 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.393 [DEBUG] [Thread-88909 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43337)
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:20.398 [DEBUG] [Thread-88909 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:20.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:20
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6180973052978516s
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:20.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301394;10.47229833;1.3;_
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301394;10.47229833;1.3;_
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:20.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:20.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:20.405 [DEBUG] [Thread-88909 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:20.405 [INFO] [Thread-88909 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85301376, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876702345839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6969431, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71671, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.671666537104, telescope_dec_j2k=-24.1733147956648, observability=1)
2025-11-03T10:28:20.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:20.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:20.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6969431, teldec = -24.256582
2025-11-03T10:28:20.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6969431 -24.256582
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6969431;-24.256582;50.108506;89.993041;50.08601;90.12017;12.71671;2460982.85301396;10.47229833;1.3;_15.671666537104 -24.1733147956648
2025-11-03T10:28:20.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.671666537104     dec_j2k = -24.1733147956648
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:20.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:20.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:20.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45745)
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:20.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:20.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:20.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85301394, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876702345839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6969431, telescope_dec=-24.256582, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71671, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.671666537104, telescope_dec_j2k=-24.1733147956648, observability=1)
2025-11-03T10:28:20.443 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:20
2025-11-03T10:28:20.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:20.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022701025009155273s
2025-11-03T10:28:20.443 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022701025009155273
2025-11-03T10:28:20.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:20
2025-11-03T10:28:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3437495231628418s
2025-11-03T10:28:20.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3437495231628418
2025-11-03T10:28:22.450 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:22
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0295026302337646s
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:22.450 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:22.451 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.697533;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7173;2460982.85303764;10.47288667;1.3;_
2025-11-03T10:28:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.697533;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7173;2460982.85303764;10.47288667;1.3;_
2025-11-03T10:28:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:22.452 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:22.453 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.697533, teldec = -24.256581
2025-11-03T10:28:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.697533 -24.256581
2025-11-03T10:28:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.697533 -24.256581
2025-11-03T10:28:22.453 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.697533 -24.256581
2025-11-03T10:28:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.697533;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7173;2460982.85303766;10.47288667;1.3;_15.6722560330298 -24.1733315510366
2025-11-03T10:28:22.454 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6722560330298     dec_j2k = -24.1733315510366
2025-11-03T10:28:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:22.454 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096887229003213;171.162357330327;_
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096887229003213;171.162357330327;_
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:22.455 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:22.456 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:22.457 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59811)
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:22.463 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:22.470 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:22.470 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:22.470 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:22.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:22.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:22.471 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:22.471 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:22.471 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:22.471 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85303764, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096887229003213, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.697533, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7173, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:27:23.273385', telescope_ra_j2k=15.6722560330298, telescope_dec_j2k=-24.1733315510366, observability=1)
2025-11-03T10:28:22.493 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:22
2025-11-03T10:28:22.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:22.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021849632263183594s
2025-11-03T10:28:22.493 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021849632263183594
2025-11-03T10:28:22.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:22
2025-11-03T10:28:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29909753799438477s
2025-11-03T10:28:22.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29909753799438477
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:23.413 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:23.414 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:23.414 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:23.415 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:23.415 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:28:23.416 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:28:23.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:24.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:24
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9301209449768066s
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:24.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:24.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6980564;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71782;2460982.85306022;10.47340861;1.3;_
2025-11-03T10:28:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6980564;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71782;2460982.85306022;10.47340861;1.3;_
2025-11-03T10:28:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:24.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:24.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6980564, teldec = -24.256581
2025-11-03T10:28:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6980564 -24.256581
2025-11-03T10:28:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6980564 -24.256581
2025-11-03T10:28:24.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6980564 -24.256581
2025-11-03T10:28:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6980564;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71782;2460982.85306024;10.47340861;1.3;_15.6727790744264 -24.1733473064933
2025-11-03T10:28:24.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6727790744264     dec_j2k = -24.1733473064933
2025-11-03T10:28:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:24.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876702345839;171.162357330327;_
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:24.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:24.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44961)
2025-11-03T10:28:24.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:24.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:24.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:24.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:24.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:24.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:24.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85306022, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876702345839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6980564, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71782, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6727790744264, telescope_dec_j2k=-24.1733473064933, observability=1)
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:24.417 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:24.418 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:24.419 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:24.419 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:24.419 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:24.420 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:24.420 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:24.420 [DEBUG] [ThreadPoolExecutor-3464_0] [payload.py] [to_registers()] [0]
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55537)
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:24.423 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:24.430 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:24.430 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:28:24.430 [DEBUG] [ThreadPoolExecutor-3464_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:28:24.430 [DEBUG] [ThreadPoolExecutor-3464_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:28:24.431 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:24.431 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:24.431 [DEBUG] [ThreadPoolExecutor-3464_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:24.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:24
2025-11-03T10:28:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022601842880249023s
2025-11-03T10:28:24.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022601842880249023
2025-11-03T10:28:24.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:24
2025-11-03T10:28:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3538320064544678s
2025-11-03T10:28:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3538320064544678
2025-11-03T10:28:26.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:26
2025-11-03T10:28:26.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9804458618164062s
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:26.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:26.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6986171;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71838;2460982.85308332;10.47396778;1.3;_
2025-11-03T10:28:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6986171;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71838;2460982.85308332;10.47396778;1.3;_
2025-11-03T10:28:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:26.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:26.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6986171, teldec = -24.256581
2025-11-03T10:28:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6986171 -24.256581
2025-11-03T10:28:26.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6986171 -24.256581
2025-11-03T10:28:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6986171 -24.256581
2025-11-03T10:28:26.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6986171;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71838;2460982.85308334;10.47396778;1.3;_15.6733393903317 -24.1733641865259
2025-11-03T10:28:26.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6733393903317     dec_j2k = -24.1733641865259
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968876301226411;171.162368059163;_
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876301226411;171.162368059163;_
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:26.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36869)
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:26.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:26.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:26.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85308332, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876301226411, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6986171, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71838, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6733393903317, telescope_dec_j2k=-24.1733641865259, observability=1)
2025-11-03T10:28:26.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:26
2025-11-03T10:28:26.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:26.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02231884002685547s
2025-11-03T10:28:26.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02231884002685547
2025-11-03T10:28:26.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:26
2025-11-03T10:28:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3588685989379883s
2025-11-03T10:28:26.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3588685989379883
2025-11-03T10:28:28.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:28
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9857866764068604s
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:28.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:28.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6991792;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71894;2460982.85310653;10.47452833;1.3;_
2025-11-03T10:28:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6991792;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71894;2460982.85310653;10.47452833;1.3;_
2025-11-03T10:28:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:28.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:28.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6991792, teldec = -24.256581
2025-11-03T10:28:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6991792 -24.256581
2025-11-03T10:28:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6991792 -24.256581
2025-11-03T10:28:28.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6991792 -24.256581
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6991792;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71894;2460982.85310655;10.47452833;1.3;_15.6739011053451 -24.1733811105393
2025-11-03T10:28:28.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6739011053451     dec_j2k = -24.1733811105393
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968876301226411;171.162357330327;_
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876301226411;171.162357330327;_
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:28.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:28.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:28.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35407)
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:28.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:28.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:28.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:28.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:28.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:28.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:28.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:28.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:28.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85310653, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876301226411, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6991792, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71894, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6739011053451, telescope_dec_j2k=-24.1733811105393, observability=1)
2025-11-03T10:28:28.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:28
2025-11-03T10:28:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021976709365844727s
2025-11-03T10:28:28.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021976709365844727
2025-11-03T10:28:28.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:28
2025-11-03T10:28:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3545241355895996s
2025-11-03T10:28:28.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3545241355895996
2025-11-03T10:28:30.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:30
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9848685264587402s
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:30.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6997304;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71949;2460982.85312968;10.47507806;1.3;_
2025-11-03T10:28:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.6997304;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71949;2460982.85312968;10.47507806;1.3;_
2025-11-03T10:28:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:30.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:30.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.6997304, teldec = -24.256581
2025-11-03T10:28:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.6997304 -24.256581
2025-11-03T10:28:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.6997304 -24.256581
2025-11-03T10:28:30.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.6997304 -24.256581
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.6997304;-24.256581;50.108506;89.993041;50.08601;90.12017;12.71949;2460982.85312971;10.47507806;1.3;_15.6744519278891 -24.1733977081519
2025-11-03T10:28:30.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6744519278891     dec_j2k = -24.1733977081519
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968877504584695;171.162351965909;_
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968877504584695;171.162351965909;_
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:30.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:30.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46861)
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:30.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:30.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:30.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:30.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:30.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85312968, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968877504584695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.6997304, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.71949, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6744519278891, telescope_dec_j2k=-24.1733977081519, observability=1)
2025-11-03T10:28:30.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:30
2025-11-03T10:28:30.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:30.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02152109146118164s
2025-11-03T10:28:30.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02152109146118164
2025-11-03T10:28:30.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:30
2025-11-03T10:28:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3540327548980713s
2025-11-03T10:28:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3540327548980713
2025-11-03T10:28:32.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:32
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799323081970215s
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:32.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:32.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7002911;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72005;2460982.85315277;10.47563722;1.3;_
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7002911;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72005;2460982.85315277;10.47563722;1.3;_
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:32.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:32.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7002911, teldec = -24.256581
2025-11-03T10:28:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7002911 -24.256581
2025-11-03T10:28:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7002911 -24.256581
2025-11-03T10:28:32.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7002911 -24.256581
2025-11-03T10:28:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7002911;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72005;2460982.85315279;10.47563722;1.3;_15.6750122439938 -24.1734145936369
2025-11-03T10:28:32.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6750122439938     dec_j2k = -24.1734145936369
2025-11-03T10:28:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:32.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968875900106983;171.162357330327;_
2025-11-03T10:28:32.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968875900106983;171.162357330327;_
2025-11-03T10:28:32.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:32.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:32.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:32.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:32.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:32.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:32.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35669)
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:32.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:32.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:32.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:32.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:32.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:32.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85315277, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968875900106983, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7002911, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72005, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6750122439938, telescope_dec_j2k=-24.1734145936369, observability=1)
2025-11-03T10:28:32.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:32
2025-11-03T10:28:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02185988426208496s
2025-11-03T10:28:32.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02185988426208496
2025-11-03T10:28:32.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:32
2025-11-03T10:28:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3515145778656006s
2025-11-03T10:28:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3515145778656006
2025-11-03T10:28:34.402 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:34
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9865443706512451s
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:34.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7008504;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72061;2460982.85317596;10.476195;1.3;_
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7008504;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72061;2460982.85317596;10.476195;1.3;_
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:34.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:34.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7008504, teldec = -24.256581
2025-11-03T10:28:34.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7008504 -24.256581
2025-11-03T10:28:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7008504 -24.256581
2025-11-03T10:28:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7008504 -24.256581
2025-11-03T10:28:34.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7008504;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72061;2460982.85317598;10.476195;1.3;_15.6755711611236 -24.1734314387797
2025-11-03T10:28:34.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6755711611236     dec_j2k = -24.1734314387797
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879510181835;171.162351965909;_
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879510181835;171.162351965909;_
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:34.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:34.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:34.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 49503)
2025-11-03T10:28:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:34.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:34.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:34.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:34.420 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:34.420 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85317596, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879510181835, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7008504, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72061, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6755711611236, telescope_dec_j2k=-24.1734314387797, observability=1)
2025-11-03T10:28:34.442 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:34
2025-11-03T10:28:34.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:34.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022507429122924805s
2025-11-03T10:28:34.442 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022507429122924805
2025-11-03T10:28:34.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:34
2025-11-03T10:28:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34798479080200195s
2025-11-03T10:28:34.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34798479080200195
2025-11-03T10:28:36.400 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:36
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9798476696014404s
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7014008;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72116;2460982.8531991;10.47674389;1.3;_
2025-11-03T10:28:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7014008;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72116;2460982.8531991;10.47674389;1.3;_
2025-11-03T10:28:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:36.403 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7014008, teldec = -24.256581
2025-11-03T10:28:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7014008 -24.256581
2025-11-03T10:28:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7014008 -24.256581
2025-11-03T10:28:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7014008 -24.256581
2025-11-03T10:28:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7014008;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72116;2460982.85319912;10.47674389;1.3;_15.6761211844109 -24.1734480176429
2025-11-03T10:28:36.404 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6761211844109     dec_j2k = -24.1734480176429
2025-11-03T10:28:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:36.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968878306823551;171.162357330327;_
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968878306823551;171.162357330327;_
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:36.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:36.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:36.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56681)
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:36.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:36.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:36.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:36.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8531991, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968878306823551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7014008, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72116, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6761211844109, telescope_dec_j2k=-24.1734480176429, observability=1)
2025-11-03T10:28:36.444 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:36
2025-11-03T10:28:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022290468215942383s
2025-11-03T10:28:36.444 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022290468215942383
2025-11-03T10:28:36.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:36
2025-11-03T10:28:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34116220474243164s
2025-11-03T10:28:36.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34116220474243164
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Status age = 2.043954849243164s
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:38.466 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:38.467 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:38.468 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 17;15.7019899;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72175;2460982.85322301;10.47733139;1.3;_
2025-11-03T10:28:38.468 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response 17;15.7019899;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72175;2460982.85322301;10.47733139;1.3;_
2025-11-03T10:28:38.468 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:38.468 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:38.469 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:38.469 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:38.469 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:38.470 [INFO] [Thread-88910 (handle)] [driver.py] [get_status()] Telra = 15.7019899, teldec = -24.256581
2025-11-03T10:28:38.470 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7019899 -24.256581
2025-11-03T10:28:38.470 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7019899 -24.256581
2025-11-03T10:28:38.470 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7019899 -24.256581
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 17;15.7019899;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72175;2460982.85322304;10.47733139;1.3;_15.6767098812818 -24.1734657641556
2025-11-03T10:28:38.471 [INFO] [Thread-88910 (handle)] [driver.py] [get_status()] ra_j2k = 15.6767098812818     dec_j2k = -24.1734657641556
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 140;0.0968881916898403;171.162368059163;_
2025-11-03T10:28:38.471 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881916898403;171.162368059163;_
2025-11-03T10:28:38.472 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:38.472 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:38.472 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:38.472 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:38.473 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:38.474 [DEBUG] [Thread-88910 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:38.474 [DEBUG] [Thread-88910 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:38.474 [DEBUG] [Thread-88910 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39183)
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:38.481 [DEBUG] [Thread-88910 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:38.488 [DEBUG] [Thread-88910 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:38.489 [INFO] [Thread-88910 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85322301, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881916898403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7019899, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72175, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6767098812818, telescope_dec_j2k=-24.1734657641556, observability=1)
2025-11-03T10:28:38.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:38
2025-11-03T10:28:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.27776336669921875s
2025-11-03T10:28:38.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.27776336669921875
2025-11-03T10:28:38.848 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:38
2025-11-03T10:28:38.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:38.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.36016845703125s
2025-11-03T10:28:38.849 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.36016845703125
2025-11-03T10:28:38.958 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:38
2025-11-03T10:28:38.958 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:38.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4700503349304199s
2025-11-03T10:28:38.959 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4700503349304199
2025-11-03T10:28:40.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:40
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.918278694152832s
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:40.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:40.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:40.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7025219;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72228;2460982.85324547;10.47786194;1.3;_
2025-11-03T10:28:40.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7025219;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72228;2460982.85324547;10.47786194;1.3;_
2025-11-03T10:28:40.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:40.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:40.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:40.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:40.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:40.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7025219, teldec = -24.256581
2025-11-03T10:28:40.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7025219 -24.256581
2025-11-03T10:28:40.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7025219 -24.256581
2025-11-03T10:28:40.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7025219 -24.256581
2025-11-03T10:28:40.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7025219;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72228;2460982.8532455;10.47786194;1.3;_15.6772415172904 -24.1734817922736
2025-11-03T10:28:40.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6772415172904     dec_j2k = -24.1734817922736
2025-11-03T10:28:40.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:40.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:40.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162351965909;_
2025-11-03T10:28:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162351965909;_
2025-11-03T10:28:40.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:40.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:40.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:40.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:40.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:40.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45893)
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:40.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:40.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:40.428 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:40.429 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:40.429 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85324547, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7025219, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72228, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6772415172904, telescope_dec_j2k=-24.1734817922736, observability=1)
2025-11-03T10:28:40.452 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:40
2025-11-03T10:28:40.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:40.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022809267044067383s
2025-11-03T10:28:40.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022809267044067383
2025-11-03T10:28:40.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:40
2025-11-03T10:28:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33533263206481934s
2025-11-03T10:28:40.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33533263206481934
2025-11-03T10:28:42.118 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.689685344696045s
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:42.119 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:42.120 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:42.122 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.7029885;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72275;2460982.85326529;10.47832722;1.3;_
2025-11-03T10:28:42.122 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.7029885;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72275;2460982.85326529;10.47832722;1.3;_
2025-11-03T10:28:42.122 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:42.122 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:42.122 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:42.123 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:42.123 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:42.123 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.7029885, teldec = -24.256581
2025-11-03T10:28:42.123 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7029885 -24.256581
2025-11-03T10:28:42.123 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7029885 -24.256581
2025-11-03T10:28:42.123 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7029885 -24.256581
2025-11-03T10:28:42.124 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.7029885;-24.256581;50.108506;89.993041;50.08601;90.12017;12.72275;2460982.85326532;10.47832722;1.3;_15.6777077980949 -24.1734958513694
2025-11-03T10:28:42.124 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.6777077980949     dec_j2k = -24.1734958513694
2025-11-03T10:28:42.124 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:42.124 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:42.124 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:42.125 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:42.126 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:42.126 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:42.126 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:42.127 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:42.127 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:42.127 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:42.127 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:42.127 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:42.128 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37937)
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:42.132 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:42.139 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:42.139 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85326529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7029885, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72275, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6777077980949, telescope_dec_j2k=-24.1734958513694, observability=1)
2025-11-03T10:28:42.777 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:42
2025-11-03T10:28:42.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:42.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6377041339874268s
2025-11-03T10:28:42.777 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6377041339874268
2025-11-03T10:28:42.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:42
2025-11-03T10:28:42.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:42.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6625282764434814s
2025-11-03T10:28:42.802 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6625282764434814
2025-11-03T10:28:42.823 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:42
2025-11-03T10:28:42.824 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:42.824 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6842529773712158s
2025-11-03T10:28:42.824 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6842529773712158
2025-11-03T10:28:44.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:44
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.256864309310913s
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:44.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7036333;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7234;2460982.85329164;10.47897028;1.3;_
2025-11-03T10:28:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7036333;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7234;2460982.85329164;10.47897028;1.3;_
2025-11-03T10:28:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:44.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7036333, teldec = -24.256581
2025-11-03T10:28:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7036333 -24.256581
2025-11-03T10:28:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7036333 -24.256581
2025-11-03T10:28:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7036333 -24.256581
2025-11-03T10:28:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7036333;-24.256581;50.108506;89.993041;50.08601;90.12017;12.7234;2460982.85329168;10.47897028;1.3;_15.678352157071 -24.1735152818771
2025-11-03T10:28:44.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.678352157071     dec_j2k = -24.1735152818771
2025-11-03T10:28:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096887429562927;171.162357330327;_
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096887429562927;171.162357330327;_
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45485)
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:44.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:44.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:44.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85329164, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096887429562927, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.993041, telescope_ra=15.7036333, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7234, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.678352157071, telescope_dec_j2k=-24.1735152818771, observability=1)
2025-11-03T10:28:44.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:44
2025-11-03T10:28:44.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:44.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023486614227294922s
2025-11-03T10:28:44.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023486614227294922
2025-11-03T10:28:44.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:44
2025-11-03T10:28:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35436177253723145s
2025-11-03T10:28:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35436177253723145
2025-11-03T10:28:46.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:46
2025-11-03T10:28:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.980780839920044s
2025-11-03T10:28:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:46.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:46.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7041934;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72396;2460982.85331479;10.47952889;1.3;_
2025-11-03T10:28:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7041934;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72396;2460982.85331479;10.47952889;1.3;_
2025-11-03T10:28:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:46.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:46.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7041934, teldec = -24.256581
2025-11-03T10:28:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7041934 -24.256581
2025-11-03T10:28:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7041934 -24.256581
2025-11-03T10:28:46.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7041934 -24.256581
2025-11-03T10:28:46.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7041934;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72396;2460982.85331481;10.47952889;1.3;_15.6789118740511 -24.1735321619783
2025-11-03T10:28:46.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6789118740511     dec_j2k = -24.1735321619783
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968872691151558;171.162368059163;_
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968872691151558;171.162368059163;_
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:46.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:46.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52745)
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:46.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:46.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:46.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:46.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:46.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:46.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:46.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:46.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85331479, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968872691151558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7041934, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72396, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6789118740511, telescope_dec_j2k=-24.1735321619783, observability=1)
2025-11-03T10:28:46.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:46
2025-11-03T10:28:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021344423294067383s
2025-11-03T10:28:46.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021344423294067383
2025-11-03T10:28:46.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:46
2025-11-03T10:28:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3542153835296631s
2025-11-03T10:28:46.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3542153835296631
2025-11-03T10:28:48.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:48
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3539083003997803s
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:48.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:48.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7048564;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72462;2460982.85334228;10.48019;1.3;_
2025-11-03T10:28:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7048564;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72462;2460982.85334228;10.48019;1.3;_
2025-11-03T10:28:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:48.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:48.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7048564, teldec = -24.256581
2025-11-03T10:28:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7048564 -24.256581
2025-11-03T10:28:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7048564 -24.256581
2025-11-03T10:28:48.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7048564 -24.256581
2025-11-03T10:28:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7048564;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72462;2460982.8533423;10.48019;1.3;_15.6795744207501 -24.1735521455955
2025-11-03T10:28:48.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6795744207501     dec_j2k = -24.1735521455955
2025-11-03T10:28:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:48.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968881114659547;171.162357330327;_
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881114659547;171.162357330327;_
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:48.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:48.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:48.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56179)
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:48.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:48.791 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:48.792 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85334228, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881114659547, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7048564, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72462, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6795744207501, telescope_dec_j2k=-24.1735521455955, observability=1)
2025-11-03T10:28:48.797 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:48
2025-11-03T10:28:48.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:48.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005986928939819336s
2025-11-03T10:28:48.797 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005986928939819336
2025-11-03T10:28:48.819 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:48
2025-11-03T10:28:48.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:48.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027697086334228516s
2025-11-03T10:28:48.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027697086334228516
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:49.431 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:49.432 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:28:49.433 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:28:49.434 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:50.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:50
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.975656509399414s
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7054171;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72518;2460982.85336538;10.48074917;1.3;_
2025-11-03T10:28:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7054171;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72518;2460982.85336538;10.48074917;1.3;_
2025-11-03T10:28:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7054171, teldec = -24.256581
2025-11-03T10:28:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7054171 -24.256581
2025-11-03T10:28:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7054171 -24.256581
2025-11-03T10:28:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7054171 -24.256581
2025-11-03T10:28:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7054171;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72518;2460982.8533654;10.48074917;1.3;_15.6801347374658 -24.1735690477565
2025-11-03T10:28:50.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6801347374658     dec_j2k = -24.1735690477565
2025-11-03T10:28:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968877504584695;171.162357330327;_
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968877504584695;171.162357330327;_
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:50.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45743)
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:50.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:50.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:50.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:50.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85336538, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968877504584695, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7054171, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72518, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6801347374658, telescope_dec_j2k=-24.1735690477565, observability=1)
2025-11-03T10:28:50.796 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:50
2025-11-03T10:28:50.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:50.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.008988380432128906s
2025-11-03T10:28:50.796 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.008988380432128906
2025-11-03T10:28:50.818 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:50
2025-11-03T10:28:50.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:50.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.031641483306884766s
2025-11-03T10:28:50.819 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.031641483306884766
2025-11-03T10:28:52.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:52
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9960510730743408s
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:52.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:52.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7059767;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72574;2460982.8533887;10.48130722;1.3;_
2025-11-03T10:28:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7059767;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72574;2460982.8533887;10.48130722;1.3;_
2025-11-03T10:28:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:52.785 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:52.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:52.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:52.786 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7059767, teldec = -24.256581
2025-11-03T10:28:52.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7059767 -24.256581
2025-11-03T10:28:52.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7059767 -24.256581
2025-11-03T10:28:52.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7059767 -24.256581
2025-11-03T10:28:52.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7059767;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72574;2460982.85338874;10.48130722;1.3;_15.6806939550001 -24.1735859185753
2025-11-03T10:28:52.787 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6806939550001     dec_j2k = -24.1735859185753
2025-11-03T10:28:52.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:52.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:52.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968880713540119;171.162362694745;_
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968880713540119;171.162362694745;_
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:52.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:52.789 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:52.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:52.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:52.790 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42297)
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:52.796 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:52.803 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:52.804 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:52.804 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:52.804 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8533887, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968880713540119, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7059767, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72574, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6806939550001, telescope_dec_j2k=-24.1735859185753, observability=1)
2025-11-03T10:28:52.809 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:52
2025-11-03T10:28:52.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:52.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.00580143928527832s
2025-11-03T10:28:52.809 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.00580143928527832
2025-11-03T10:28:52.831 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:52
2025-11-03T10:28:52.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:52.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027453899383544922s
2025-11-03T10:28:52.831 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027453899383544922
2025-11-03T10:28:52.871 [DEBUG] [Thread-88911 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:52.871 [DEBUG] [Thread-88911 (handle)] [server.py] [get_status()] Status age = 0.06697702407836914s
2025-11-03T10:28:52.871 [DEBUG] [Thread-88911 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06697702407836914
2025-11-03T10:28:54.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:54
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.5931851863861084s
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7064154;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72618;2460982.85340738;10.48174472;1.3;_
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7064154;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72618;2460982.85340738;10.48174472;1.3;_
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:54.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:54.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7064154, teldec = -24.256581
2025-11-03T10:28:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7064154 -24.256581
2025-11-03T10:28:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7064154 -24.256581
2025-11-03T10:28:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7064154 -24.256581
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7064154;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72618;2460982.85340742;10.48174472;1.3;_15.6811323552117 -24.1735991457702
2025-11-03T10:28:54.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6811323552117     dec_j2k = -24.1735991457702
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968878306823551;171.162357330327;_
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968878306823551;171.162357330327;_
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:54.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45323)
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:54.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:54.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:54.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85340738, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968878306823551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7064154, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72618, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6811323552117, telescope_dec_j2k=-24.1735991457702, observability=1)
2025-11-03T10:28:54.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:54
2025-11-03T10:28:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022306203842163086s
2025-11-03T10:28:54.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022306203842163086
2025-11-03T10:28:54.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:54
2025-11-03T10:28:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35503172874450684s
2025-11-03T10:28:54.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35503172874450684
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Status age = 2.1242716312408447s
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:56.539 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:56.540 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:56.541 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 17;15.7070039;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72677;2460982.85343219;10.48233167;1.3;_
2025-11-03T10:28:56.541 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response 17;15.7070039;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72677;2460982.85343219;10.48233167;1.3;_
2025-11-03T10:28:56.541 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:56.541 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:56.541 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:56.542 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:56.542 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:56.542 [INFO] [Thread-88912 (handle)] [driver.py] [get_status()] Telra = 15.7070039, teldec = -24.256581
2025-11-03T10:28:56.542 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7070039 -24.256581
2025-11-03T10:28:56.542 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7070039 -24.256581
2025-11-03T10:28:56.542 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7070039 -24.256581
2025-11-03T10:28:56.543 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 17;15.7070039;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72677;2460982.85343221;10.48233167;1.3;_15.6817204531207 -24.1736168913197
2025-11-03T10:28:56.543 [INFO] [Thread-88912 (handle)] [driver.py] [get_status()] ra_j2k = 15.6817204531207     dec_j2k = -24.1736168913197
2025-11-03T10:28:56.543 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:56.543 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 140;0.0968874696748698;171.162351965909;_
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response 140;0.0968874696748698;171.162351965909;_
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:56.544 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:56.545 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:56.546 [DEBUG] [Thread-88912 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:56.546 [DEBUG] [Thread-88912 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:56.546 [DEBUG] [Thread-88912 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35929)
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:56.552 [DEBUG] [Thread-88912 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:56.559 [DEBUG] [Thread-88912 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:56.560 [DEBUG] [Thread-88912 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:56.560 [INFO] [Thread-88912 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85343219, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968874696748698, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7070039, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72677, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6817204531207, telescope_dec_j2k=-24.1736168913197, observability=1)
2025-11-03T10:28:56.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:56
2025-11-03T10:28:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21414613723754883s
2025-11-03T10:28:56.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21414613723754883
2025-11-03T10:28:56.802 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:56
2025-11-03T10:28:56.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:56.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24297618865966797s
2025-11-03T10:28:56.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24297618865966797
2025-11-03T10:28:56.846 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:56
2025-11-03T10:28:56.846 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:56.846 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2862973213195801s
2025-11-03T10:28:56.846 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2862973213195801
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5762760639190674s
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:28:58.136 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:28:58.137 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:28:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7074521;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72721;2460982.85345067;10.48277861;1.3;_
2025-11-03T10:28:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.7074521;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72721;2460982.85345067;10.48277861;1.3;_
2025-11-03T10:28:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:28:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:28:58.138 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:28:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:28:58.139 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.7074521, teldec = -24.256581
2025-11-03T10:28:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7074521 -24.256581
2025-11-03T10:28:58.139 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7074521 -24.256581
2025-11-03T10:28:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7074521 -24.256581
2025-11-03T10:28:58.140 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7074521;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72721;2460982.85345069;10.48277861;1.3;_15.6821683469388 -24.1736304076277
2025-11-03T10:28:58.141 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.6821683469388     dec_j2k = -24.1736304076277
2025-11-03T10:28:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:28:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:28:58.141 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:28:58.142 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:28:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:28:58.144 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:28:58.149 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42395)
2025-11-03T10:28:58.149 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:28:58.149 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:28:58.149 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:28:58.150 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:28:58.150 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:28:58.157 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:28:58.157 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85345067, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7074521, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72721, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6821683469388, telescope_dec_j2k=-24.1736304076277, observability=1)
2025-11-03T10:28:58.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:58
2025-11-03T10:28:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23960494995117188s
2025-11-03T10:28:58.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23960494995117188
2025-11-03T10:28:58.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:58
2025-11-03T10:28:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2624077796936035s
2025-11-03T10:28:58.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2624077796936035
2025-11-03T10:28:58.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:28:58
2025-11-03T10:28:58.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:28:58.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6097655296325684s
2025-11-03T10:28:58.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6097655296325684
2025-11-03T10:29:00.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:00
2025-11-03T10:29:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.609431028366089s
2025-11-03T10:29:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:00.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7081986;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72796;2460982.85348112;10.48352306;1.3;_
2025-11-03T10:29:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7081986;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72796;2460982.85348112;10.48352306;1.3;_
2025-11-03T10:29:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:00.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7081986, teldec = -24.256581
2025-11-03T10:29:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7081986 -24.256581
2025-11-03T10:29:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7081986 -24.256581
2025-11-03T10:29:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7081986 -24.256581
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7081986;-24.256581;50.108506;89.99304;50.08601;90.12017;12.72796;2460982.85348115;10.48352306;1.3;_15.682914337072 -24.1736529223121
2025-11-03T10:29:00.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.682914337072     dec_j2k = -24.1736529223121
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162362694745;_
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162362694745;_
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57797)
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:00.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:00.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:00.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:00.787 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:00.787 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:00.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:00.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:00.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:00.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:00.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:00.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85348112, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108506, telescope_az=89.99304, telescope_ra=15.7081986, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72796, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.682914337072, telescope_dec_j2k=-24.1736529223121, observability=1)
2025-11-03T10:29:00.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:00
2025-11-03T10:29:00.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:00.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.012108325958251953s
2025-11-03T10:29:00.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.012108325958251953
2025-11-03T10:29:00.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:00
2025-11-03T10:29:00.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:00.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03360486030578613s
2025-11-03T10:29:00.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03360486030578613
2025-11-03T10:29:02.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:02
2025-11-03T10:29:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6085913181304932s
2025-11-03T10:29:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:02.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:02.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.708649;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72841;2460982.85349998;10.48397222;1.3;_
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.708649;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72841;2460982.85349998;10.48397222;1.3;_
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:02.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:02.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:02.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.708649, teldec = -24.256581
2025-11-03T10:29:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.708649 -24.256581
2025-11-03T10:29:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.708649 -24.256581
2025-11-03T10:29:02.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.708649 -24.256581
2025-11-03T10:29:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.708649;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72841;2460982.85350001;10.48397222;1.3;_15.6833644295018 -24.1736665080844
2025-11-03T10:29:02.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6833644295018     dec_j2k = -24.1736665080844
2025-11-03T10:29:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:02.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968883922495544;171.162362694745;_
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968883922495544;171.162362694745;_
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:02.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:02.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:02.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39319)
2025-11-03T10:29:02.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:02.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:02.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:02.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:02.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:02.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:02.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85349998, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968883922495544, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.708649, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72841, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6833644295018, telescope_dec_j2k=-24.1736665080844, observability=1)
2025-11-03T10:29:02.436 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:02
2025-11-03T10:29:02.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:02.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02165389060974121s
2025-11-03T10:29:02.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02165389060974121
2025-11-03T10:29:02.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:02
2025-11-03T10:29:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35473108291625977s
2025-11-03T10:29:02.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35473108291625977
2025-11-03T10:29:04.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:04
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9829864501953125s
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7092091;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72897;2460982.85352314;10.48453083;1.3;_
2025-11-03T10:29:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7092091;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72897;2460982.85352314;10.48453083;1.3;_
2025-11-03T10:29:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:04.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7092091, teldec = -24.256581
2025-11-03T10:29:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7092091 -24.256581
2025-11-03T10:29:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7092091 -24.256581
2025-11-03T10:29:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7092091 -24.256581
2025-11-03T10:29:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7092091;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72897;2460982.85352317;10.48453083;1.3;_15.6839241470796 -24.1736834044631
2025-11-03T10:29:04.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6839241470796     dec_j2k = -24.1736834044631
2025-11-03T10:29:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968878306823551;171.162346601491;_
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968878306823551;171.162346601491;_
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:04.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42313)
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:04.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:04.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:04.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:04.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:04.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:04.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:04.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:04.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:04.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85352314, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968878306823551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7092091, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72897, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6839241470796, telescope_dec_j2k=-24.1736834044631, observability=1)
2025-11-03T10:29:04.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:04
2025-11-03T10:29:04.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:04.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022742271423339844s
2025-11-03T10:29:04.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022742271423339844
2025-11-03T10:29:04.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:04
2025-11-03T10:29:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3528618812561035s
2025-11-03T10:29:04.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3528618812561035
2025-11-03T10:29:06.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:06
2025-11-03T10:29:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:06.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.97969651222229s
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:06.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7097617;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72952;2460982.85354626;10.48508194;1.3;_
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7097617;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72952;2460982.85354626;10.48508194;1.3;_
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:06.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7097617, teldec = -24.256581
2025-11-03T10:29:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7097617 -24.256581
2025-11-03T10:29:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7097617 -24.256581
2025-11-03T10:29:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7097617 -24.256581
2025-11-03T10:29:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7097617;-24.256581;50.108505;89.99304;50.08601;90.12017;12.72952;2460982.85354628;10.48508194;1.3;_15.6844763698436 -24.173700076371
2025-11-03T10:29:06.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6844763698436     dec_j2k = -24.173700076371
2025-11-03T10:29:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968882318017831;171.162357330327;_
2025-11-03T10:29:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968882318017831;171.162357330327;_
2025-11-03T10:29:06.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54641)
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:06.404 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:06.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:06.412 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:06.412 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:06.412 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85354626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968882318017831, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7097617, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.72952, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6844763698436, telescope_dec_j2k=-24.173700076371, observability=1)
2025-11-03T10:29:06.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:06
2025-11-03T10:29:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02222752571105957s
2025-11-03T10:29:06.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02222752571105957
2025-11-03T10:29:06.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:06
2025-11-03T10:29:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35483646392822266s
2025-11-03T10:29:06.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35483646392822266
2025-11-03T10:29:08.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:08
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3622395992279053s
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:08.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:08.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.710435;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7302;2460982.8535738;10.48575333;1.3;_
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.710435;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7302;2460982.8535738;10.48575333;1.3;_
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:08.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:08.777 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.710435, teldec = -24.256581
2025-11-03T10:29:08.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.710435 -24.256581
2025-11-03T10:29:08.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.710435 -24.256581
2025-11-03T10:29:08.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.710435 -24.256581
2025-11-03T10:29:08.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.710435;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7302;2460982.85357382;10.48575333;1.3;_15.685149210299 -24.1737203921788
2025-11-03T10:29:08.779 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.685149210299     dec_j2k = -24.1737203921788
2025-11-03T10:29:08.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:08.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:08.779 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968882318017831;171.162362694745;_
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968882318017831;171.162362694745;_
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:08.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:08.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:08.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:08.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:08.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34991)
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:08.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:08.794 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:08.795 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:08.795 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8535738, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968882318017831, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.710435, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.685149210299, telescope_dec_j2k=-24.1737203921788, observability=1)
2025-11-03T10:29:08.801 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:08
2025-11-03T10:29:08.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:08.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.005854368209838867s
2025-11-03T10:29:08.801 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.005854368209838867
2025-11-03T10:29:08.822 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:08
2025-11-03T10:29:08.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:08.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.027189970016479492s
2025-11-03T10:29:08.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.027189970016479492
2025-11-03T10:29:10.506 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:10
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7112534046173096s
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:10.506 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:10.507 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:10.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7109021;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73066;2460982.85359383;10.48621917;1.3;_
2025-11-03T10:29:10.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7109021;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73066;2460982.85359383;10.48621917;1.3;_
2025-11-03T10:29:10.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:10.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:10.508 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:10.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:10.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:10.509 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7109021, teldec = -24.256581
2025-11-03T10:29:10.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7109021 -24.256581
2025-11-03T10:29:10.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7109021 -24.256581
2025-11-03T10:29:10.509 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7109021 -24.256581
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7109021;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73066;2460982.85359387;10.48621917;1.3;_15.6856159915478 -24.173734487755
2025-11-03T10:29:10.510 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6856159915478     dec_j2k = -24.173734487755
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.09688847247344;171.162351965909;_
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.09688847247344;171.162351965909;_
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:10.510 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:10.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:10.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:10.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:10.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:10.511 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:10.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:10.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:10.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:10.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:10.512 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36371)
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:10.519 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:10.526 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:10.526 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:10.527 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:10.527 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85359383, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.09688847247344, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7109021, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73066, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6856159915478, telescope_dec_j2k=-24.173734487755, observability=1)
2025-11-03T10:29:10.550 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:10
2025-11-03T10:29:10.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:10.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02290201187133789s
2025-11-03T10:29:10.550 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02290201187133789
2025-11-03T10:29:10.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:10
2025-11-03T10:29:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:10.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24160337448120117s
2025-11-03T10:29:10.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24160337448120117
2025-11-03T10:29:12.406 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:12
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.879136085510254s
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:12.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:12.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:12.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7114346;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7312;2460982.85361583;10.48675028;1.3;_
2025-11-03T10:29:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7114346;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7312;2460982.85361583;10.48675028;1.3;_
2025-11-03T10:29:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:12.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:12.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7114346, teldec = -24.256581
2025-11-03T10:29:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7114346 -24.256581
2025-11-03T10:29:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7114346 -24.256581
2025-11-03T10:29:12.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7114346 -24.256581
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7114346;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7312;2460982.85361586;10.48675028;1.3;_15.6861481282241 -24.1737505584325
2025-11-03T10:29:12.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6861481282241     dec_j2k = -24.1737505584325
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968872691151558;171.162357330327;_
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968872691151558;171.162357330327;_
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:12.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:12.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:12.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:12.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:12.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 32989)
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:12.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:12.421 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:12.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85361583, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968872691151558, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7114346, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7312, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6861481282241, telescope_dec_j2k=-24.1737505584325, observability=1)
2025-11-03T10:29:12.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:12
2025-11-03T10:29:12.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:12.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024568796157836914s
2025-11-03T10:29:12.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024568796157836914
2025-11-03T10:29:12.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:12
2025-11-03T10:29:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3457927703857422s
2025-11-03T10:29:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3457927703857422
2025-11-03T10:29:14.401 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:14
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9801018238067627s
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:14.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:14.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7119948;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73176;2460982.85363894;10.48730889;1.3;_
2025-11-03T10:29:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7119948;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73176;2460982.85363894;10.48730889;1.3;_
2025-11-03T10:29:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:14.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:14.405 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7119948, teldec = -24.256581
2025-11-03T10:29:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7119948 -24.256581
2025-11-03T10:29:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7119948 -24.256581
2025-11-03T10:29:14.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7119948 -24.256581
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7119948;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73176;2460982.85363896;10.48730889;1.3;_15.686707946066 -24.1737674668572
2025-11-03T10:29:14.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.686707946066     dec_j2k = -24.1737674668572
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879510181835;171.162362694745;_
2025-11-03T10:29:14.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879510181835;171.162362694745;_
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:14.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:14.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:14.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:14.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40153)
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:14.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:14.418 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:14.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:14.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:14.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:14.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:14.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:14.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:14.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85363894, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879510181835, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7119948, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73176, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.686707946066, telescope_dec_j2k=-24.1737674668572, observability=1)
2025-11-03T10:29:14.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:14
2025-11-03T10:29:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02115464210510254s
2025-11-03T10:29:14.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02115464210510254
2025-11-03T10:29:14.664 [DEBUG] [Thread-88913 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:14.664 [DEBUG] [Thread-88913 (handle)] [server.py] [get_status()] Status age = 0.2452831268310547s
2025-11-03T10:29:14.664 [DEBUG] [Thread-88913 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2452831268310547
2025-11-03T10:29:14.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:14
2025-11-03T10:29:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35418272018432617s
2025-11-03T10:29:14.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35418272018432617
2025-11-03T10:29:15.884 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:29:15
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.4651641845703125s
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:15.884 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:15.885 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:15.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.7124143;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73218;2460982.85365609;10.48772722;1.3;_
2025-11-03T10:29:15.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.7124143;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73218;2460982.85365609;10.48772722;1.3;_
2025-11-03T10:29:15.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:15.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:15.886 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:15.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:15.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:15.887 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.7124143, teldec = -24.256581
2025-11-03T10:29:15.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7124143 -24.256581
2025-11-03T10:29:15.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7124143 -24.256581
2025-11-03T10:29:15.887 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7124143 -24.256581
2025-11-03T10:29:15.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.7124143;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73218;2460982.85365611;10.48772722;1.3;_15.6871271599345 -24.1737801297452
2025-11-03T10:29:15.888 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.6871271599345     dec_j2k = -24.1737801297452
2025-11-03T10:29:15.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:15.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:15.888 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968880312420691;171.162362694745;_
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968880312420691;171.162362694745;_
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:15.889 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:15.890 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:15.891 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:15.891 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41471)
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:15.894 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:15.901 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:15.901 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:15.902 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:15.902 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85365609, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968880312420691, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7124143, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73218, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6871271599345, telescope_dec_j2k=-24.1737801297452, observability=1)
2025-11-03T10:29:16.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:16
2025-11-03T10:29:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.4951627254486084s
2025-11-03T10:29:16.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4951627254486084
2025-11-03T10:29:16.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:16
2025-11-03T10:29:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.5165104866027832s
2025-11-03T10:29:16.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5165104866027832
2025-11-03T10:29:16.779 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:16
2025-11-03T10:29:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:16.779 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8776311874389648s
2025-11-03T10:29:16.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8776311874389648
2025-11-03T10:29:18.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:18
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.8657586574554443s
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:18.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7132176;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73298;2460982.85368946;10.48852833;1.3;_
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7132176;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73298;2460982.85368946;10.48852833;1.3;_
2025-11-03T10:29:18.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:18.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:18.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7132176, teldec = -24.256581
2025-11-03T10:29:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7132176 -24.256581
2025-11-03T10:29:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7132176 -24.256581
2025-11-03T10:29:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7132176 -24.256581
2025-11-03T10:29:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7132176;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73298;2460982.85368949;10.48852833;1.3;_15.6879299121264 -24.1738043807324
2025-11-03T10:29:18.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6879299121264     dec_j2k = -24.1738043807324
2025-11-03T10:29:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968885125853828;171.162357330327;_
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968885125853828;171.162357330327;_
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33845)
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:18.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:18.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:18.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:18.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85368946, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968885125853828, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7132176, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73298, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6879299121264, telescope_dec_j2k=-24.1738043807324, observability=1)
2025-11-03T10:29:18.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:18
2025-11-03T10:29:18.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:18.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.01743626594543457s
2025-11-03T10:29:18.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.01743626594543457
2025-11-03T10:29:18.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:18
2025-11-03T10:29:18.821 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:18.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.038797616958618164s
2025-11-03T10:29:18.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.038797616958618164
2025-11-03T10:29:19.391 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:29:19.391 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6080501079559326s
2025-11-03T10:29:19.391 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6080501079559326
2025-11-03T10:29:19.391 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.507119655609131 seconds ago
2025-11-03T10:29:20.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:20
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6354103088378906s
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:20.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:20.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7136663;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73343;2460982.85370856;10.48897583;1.3;_
2025-11-03T10:29:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7136663;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73343;2460982.85370856;10.48897583;1.3;_
2025-11-03T10:29:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:20.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:20.421 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7136663, teldec = -24.256581
2025-11-03T10:29:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7136663 -24.256581
2025-11-03T10:29:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7136663 -24.256581
2025-11-03T10:29:20.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7136663 -24.256581
2025-11-03T10:29:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7136663;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73343;2460982.85370859;10.48897583;1.3;_15.6883783061966 -24.1738179282516
2025-11-03T10:29:20.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6883783061966     dec_j2k = -24.1738179282516
2025-11-03T10:29:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:20.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968883120256687;171.162351965909;_
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968883120256687;171.162351965909;_
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:20.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:20.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:20.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:20.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:20.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54541)
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:20.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:20.434 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:20.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:20.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85370856, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968883120256687, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7136663, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73343, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6883783061966, telescope_dec_j2k=-24.1738179282516, observability=1)
2025-11-03T10:29:20.456 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:20
2025-11-03T10:29:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021537065505981445s
2025-11-03T10:29:20.456 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021537065505981445
2025-11-03T10:29:20.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:20
2025-11-03T10:29:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.33621692657470703s
2025-11-03T10:29:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.33621692657470703
2025-11-03T10:29:22.724 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:22
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2894766330718994s
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:22.724 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:22.725 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:22.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:22.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7143005;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73406;2460982.85373525;10.48960833;1.3;_
2025-11-03T10:29:22.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7143005;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73406;2460982.85373525;10.48960833;1.3;_
2025-11-03T10:29:22.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:22.726 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:22.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:22.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:22.727 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:22.727 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7143005, teldec = -24.256581
2025-11-03T10:29:22.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7143005 -24.256581
2025-11-03T10:29:22.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7143005 -24.256581
2025-11-03T10:29:22.728 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7143005 -24.256581
2025-11-03T10:29:22.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7143005;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73406;2460982.85373528;10.48960833;1.3;_15.6890120738636 -24.1738370785238
2025-11-03T10:29:22.729 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6890120738636     dec_j2k = -24.1738370785238
2025-11-03T10:29:22.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:22.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:22.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:22.729 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096888271913726;171.162362694745;_
2025-11-03T10:29:22.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096888271913726;171.162362694745;_
2025-11-03T10:29:22.730 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:22.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:22.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:22.730 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:22.731 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47337)
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:22.732 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:22.739 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:22.739 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:22.739 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:22.740 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:22.740 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85373525, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096888271913726, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7143005, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73406, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:28:23.412849', telescope_ra_j2k=15.6890120738636, telescope_dec_j2k=-24.1738370785238, observability=1)
2025-11-03T10:29:22.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:22
2025-11-03T10:29:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023479223251342773s
2025-11-03T10:29:22.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023479223251342773
2025-11-03T10:29:22.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:22
2025-11-03T10:29:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.029324769973754883s
2025-11-03T10:29:22.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.029324769973754883
2025-11-03T10:29:23.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:23.553 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:23.554 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:23.554 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:23.555 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:23.555 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:23.555 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:23.555 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:29:23.556 [INFO] [ThreadPoolExecutor-3465_0] [server.py] [_shutdown()] Can't run shutdown because state = 3. Should be either 0 or 2
2025-11-03T10:29:23.556 [INFO] [Thread-20094 (handle)] [server.py] [done()] Shutdown complete...
2025-11-03T10:29:24.407 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:24
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.66743803024292s
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:24.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:24.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:24.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:24.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7147768;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73454;2460982.85375473;10.49008333;1.3;_
2025-11-03T10:29:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7147768;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73454;2460982.85375473;10.49008333;1.3;_
2025-11-03T10:29:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:24.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:24.411 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7147768, teldec = -24.256581
2025-11-03T10:29:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7147768 -24.256581
2025-11-03T10:29:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7147768 -24.256581
2025-11-03T10:29:24.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7147768 -24.256581
2025-11-03T10:29:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7147768;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73454;2460982.85375477;10.49008333;1.3;_15.689488049227 -24.1738514623834
2025-11-03T10:29:24.412 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.689488049227     dec_j2k = -24.1738514623834
2025-11-03T10:29:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:24.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968883120256687;171.162357330327;_
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968883120256687;171.162357330327;_
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:24.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:24.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:24.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:24.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:24.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:24.418 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55705)
2025-11-03T10:29:24.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:24.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:24.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:24.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:24.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:24.426 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:24.426 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85375473, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968883120256687, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7147768, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73454, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.689488049227, telescope_dec_j2k=-24.1738514623834, observability=1)
2025-11-03T10:29:24.448 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:24
2025-11-03T10:29:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022060632705688477s
2025-11-03T10:29:24.448 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022060632705688477
2025-11-03T10:29:24.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:24
2025-11-03T10:29:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34373903274536133s
2025-11-03T10:29:24.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34373903274536133
2025-11-03T10:29:26.403 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:26
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9769251346588135s
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:26.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:26.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7153375;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7351;2460982.85377784;10.4906425;1.3;_
2025-11-03T10:29:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7153375;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7351;2460982.85377784;10.4906425;1.3;_
2025-11-03T10:29:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:26.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:26.406 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7153375, teldec = -24.256581
2025-11-03T10:29:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7153375 -24.256581
2025-11-03T10:29:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7153375 -24.256581
2025-11-03T10:29:26.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7153375 -24.256581
2025-11-03T10:29:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7153375;-24.256581;50.108505;89.99304;50.08601;90.12017;12.7351;2460982.85377786;10.4906425;1.3;_15.6900483671271 -24.1738683967315
2025-11-03T10:29:26.407 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6900483671271     dec_j2k = -24.1738683967315
2025-11-03T10:29:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:26.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968885928092684;171.162357330327;_
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968885928092684;171.162357330327;_
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:26.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:26.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:26.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:26.414 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48215)
2025-11-03T10:29:26.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:26.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:26.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:26.415 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:26.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:26.422 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:26.422 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85377784, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968885928092684, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7153375, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7351, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6900483671271, telescope_dec_j2k=-24.1738683967315, observability=1)
2025-11-03T10:29:26.446 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:26
2025-11-03T10:29:26.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:26.446 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02426004409790039s
2025-11-03T10:29:26.447 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02426004409790039
2025-11-03T10:29:26.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:26
2025-11-03T10:29:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34729480743408203s
2025-11-03T10:29:26.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34729480743408203
2025-11-03T10:29:28.761 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:28
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3393845558166504s
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:28.762 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:28.763 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.715981;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73574;2460982.85380514;10.49128417;1.3;_
2025-11-03T10:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.715981;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73574;2460982.85380514;10.49128417;1.3;_
2025-11-03T10:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:28.764 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:28.765 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.715981, teldec = -24.256581
2025-11-03T10:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.715981 -24.256581
2025-11-03T10:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.715981 -24.256581
2025-11-03T10:29:28.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.715981 -24.256581
2025-11-03T10:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.715981;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73574;2460982.85380516;10.49128417;1.3;_15.6906914286841 -24.1738878340558
2025-11-03T10:29:28.766 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6906914286841     dec_j2k = -24.1738878340558
2025-11-03T10:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:28.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096888673033154;171.162357330327;_
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096888673033154;171.162357330327;_
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:28.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:28.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:28.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 47267)
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:28.773 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:28.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:28.780 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:28.781 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85380514, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096888673033154, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.715981, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73574, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6906914286841, telescope_dec_j2k=-24.1738878340558, observability=1)
2025-11-03T10:29:28.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:28
2025-11-03T10:29:28.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:28.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.006454944610595703s
2025-11-03T10:29:28.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.006454944610595703
2025-11-03T10:29:28.803 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:28
2025-11-03T10:29:28.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:28.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022151470184326172s
2025-11-03T10:29:28.803 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022151470184326172
2025-11-03T10:29:30.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:30
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9874138832092285s
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:30.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:30.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.71656;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73632;2460982.85382836;10.49186167;1.3;_
2025-11-03T10:29:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.71656;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73632;2460982.85382836;10.49186167;1.3;_
2025-11-03T10:29:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:30.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:30.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.71656, teldec = -24.256581
2025-11-03T10:29:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.71656 -24.256581
2025-11-03T10:29:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.71656 -24.256581
2025-11-03T10:29:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.71656 -24.256581
2025-11-03T10:29:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.71656;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73632;2460982.85382838;10.49186167;1.3;_15.6912700342631 -24.1739053251604
2025-11-03T10:29:30.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6912700342631     dec_j2k = -24.1739053251604
2025-11-03T10:29:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968878306823551;171.162351965909;_
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968878306823551;171.162351965909;_
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:30.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46177)
2025-11-03T10:29:30.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:30.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:30.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:30.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:30.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85382836, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968878306823551, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.71656, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73632, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6912700342631, telescope_dec_j2k=-24.1739053251604, observability=1)
2025-11-03T10:29:30.966 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:30
2025-11-03T10:29:30.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:30.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18251872062683105s
2025-11-03T10:29:30.966 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18251872062683105
2025-11-03T10:29:30.988 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:30
2025-11-03T10:29:30.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:30.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2045762538909912s
2025-11-03T10:29:30.988 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2045762538909912
2025-11-03T10:29:32.650 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:32
2025-11-03T10:29:32.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:32.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.8669219017028809s
2025-11-03T10:29:32.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:32.650 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:32.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:32.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7170645;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73683;2460982.85385014;10.49236472;1.3;_
2025-11-03T10:29:32.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7170645;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73683;2460982.85385014;10.49236472;1.3;_
2025-11-03T10:29:32.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:32.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:32.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:32.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:32.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:32.653 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7170645, teldec = -24.256581
2025-11-03T10:29:32.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7170645 -24.256581
2025-11-03T10:29:32.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7170645 -24.256581
2025-11-03T10:29:32.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7170645 -24.256581
2025-11-03T10:29:32.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7170645;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73683;2460982.85385016;10.49236472;1.3;_15.6917741906505 -24.1739205672605
2025-11-03T10:29:32.654 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6917741906505     dec_j2k = -24.1739205672605
2025-11-03T10:29:32.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:32.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968882318017831;171.162357330327;_
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968882318017831;171.162357330327;_
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:32.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:32.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:32.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:32.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 38231)
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:32.660 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:32.667 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:32.668 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:32.668 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:32.668 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85385014, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968882318017831, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7170645, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73683, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6917741906505, telescope_dec_j2k=-24.1739205672605, observability=1)
2025-11-03T10:29:32.704 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:32
2025-11-03T10:29:32.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:32.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.03634977340698242s
2025-11-03T10:29:32.704 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.03634977340698242
2025-11-03T10:29:32.725 [DEBUG] [Thread-88914 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:32.725 [DEBUG] [Thread-88914 (handle)] [server.py] [get_status()] Status age = 0.05727410316467285s
2025-11-03T10:29:32.725 [DEBUG] [Thread-88914 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05727410316467285
2025-11-03T10:29:32.764 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:32
2025-11-03T10:29:32.764 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09675240516662598s
2025-11-03T10:29:32.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09675240516662598
2025-11-03T10:29:34.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:34
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.027449131011963s
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:34.695 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:34.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:34.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7176519;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73741;2460982.85387381;10.49295056;1.3;_
2025-11-03T10:29:34.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7176519;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73741;2460982.85387381;10.49295056;1.3;_
2025-11-03T10:29:34.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:34.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:34.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:34.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:34.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:34.699 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7176519, teldec = -24.256581
2025-11-03T10:29:34.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7176519 -24.256581
2025-11-03T10:29:34.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7176519 -24.256581
2025-11-03T10:29:34.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7176519 -24.256581
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7176519;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73741;2460982.85387384;10.49295056;1.3;_15.6923611906435 -24.1739383158104
2025-11-03T10:29:34.700 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6923611906435     dec_j2k = -24.1739383158104
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968876702345839;171.162362694745;_
2025-11-03T10:29:34.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968876702345839;171.162362694745;_
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:34.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:34.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:34.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:34.703 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34957)
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:34.704 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:34.712 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:34.713 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:34.713 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:34.713 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:34.713 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85387381, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968876702345839, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7176519, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73741, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6923611906435, telescope_dec_j2k=-24.1739383158104, observability=1)
2025-11-03T10:29:34.734 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:34
2025-11-03T10:29:34.734 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:34.734 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021792173385620117s
2025-11-03T10:29:34.735 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021792173385620117
2025-11-03T10:29:34.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:34
2025-11-03T10:29:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05744647979736328s
2025-11-03T10:29:34.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05744647979736328
2025-11-03T10:29:36.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:36
2025-11-03T10:29:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.683758020401001s
2025-11-03T10:29:36.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:36.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7181188;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73788;2460982.85389348;10.49341611;1.3;_
2025-11-03T10:29:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7181188;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73788;2460982.85389348;10.49341611;1.3;_
2025-11-03T10:29:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:36.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:36.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7181188, teldec = -24.256581
2025-11-03T10:29:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7181188 -24.256581
2025-11-03T10:29:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7181188 -24.256581
2025-11-03T10:29:36.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7181188 -24.256581
2025-11-03T10:29:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7181188;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73788;2460982.85389352;10.49341611;1.3;_15.692827772747 -24.1739524248201
2025-11-03T10:29:36.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.692827772747     dec_j2k = -24.1739524248201
2025-11-03T10:29:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:36.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968881114659547;171.162357330327;_
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881114659547;171.162357330327;_
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:36.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:36.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:36.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:36.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 48361)
2025-11-03T10:29:36.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:36.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:36.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:36.416 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:36.416 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85389348, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881114659547, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7181188, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73788, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.692827772747, telescope_dec_j2k=-24.1739524248201, observability=1)
2025-11-03T10:29:36.440 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:36
2025-11-03T10:29:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023508071899414062s
2025-11-03T10:29:36.440 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023508071899414062
2025-11-03T10:29:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:36
2025-11-03T10:29:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3506278991699219s
2025-11-03T10:29:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3506278991699219
2025-11-03T10:29:38.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:38
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9806032180786133s
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7186792;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73844;2460982.85391664;10.493975;1.3;_
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7186792;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73844;2460982.85391664;10.493975;1.3;_
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:38.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7186792, teldec = -24.256581
2025-11-03T10:29:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7186792 -24.256581
2025-11-03T10:29:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7186792 -24.256581
2025-11-03T10:29:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7186792 -24.256581
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7186792;-24.256581;50.108505;89.99304;50.08601;90.12017;12.73844;2460982.85391667;10.493975;1.3;_15.6933877912509 -24.1739693609188
2025-11-03T10:29:38.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6933877912509     dec_j2k = -24.1739693609188
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968881114659547;171.162368059163;_
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881114659547;171.162368059163;_
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33253)
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:38.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:38.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:38.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85391664, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881114659547, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7186792, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73844, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6933877912509, telescope_dec_j2k=-24.1739693609188, observability=1)
2025-11-03T10:29:38.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:38
2025-11-03T10:29:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022645950317382812s
2025-11-03T10:29:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022645950317382812
2025-11-03T10:29:38.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:38
2025-11-03T10:29:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35475945472717285s
2025-11-03T10:29:38.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35475945472717285
2025-11-03T10:29:40.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:40
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.982682228088379s
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:40.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:40.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:40.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7192396;-24.256581;50.108505;89.99304;50.08601;90.12017;12.739;2460982.8539398;10.49453389;1.3;_
2025-11-03T10:29:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7192396;-24.256581;50.108505;89.99304;50.08601;90.12017;12.739;2460982.8539398;10.49453389;1.3;_
2025-11-03T10:29:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:40.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:40.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7192396, teldec = -24.256581
2025-11-03T10:29:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7192396 -24.256581
2025-11-03T10:29:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7192396 -24.256581
2025-11-03T10:29:40.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7192396 -24.256581
2025-11-03T10:29:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7192396;-24.256581;50.108505;89.99304;50.08601;90.12017;12.739;2460982.85393984;10.49453389;1.3;_15.6939478098218 -24.1739862988293
2025-11-03T10:29:40.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6939478098218     dec_j2k = -24.1739862988293
2025-11-03T10:29:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:40.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162351965909;_
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162351965909;_
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:40.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:40.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:40.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44927)
2025-11-03T10:29:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:40.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:40.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:40.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:40.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:40.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8539398, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7192396, telescope_dec=-24.256581, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6939478098218, telescope_dec_j2k=-24.1739862988293, observability=1)
2025-11-03T10:29:40.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:40
2025-11-03T10:29:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021935701370239258s
2025-11-03T10:29:40.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021935701370239258
2025-11-03T10:29:40.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:40
2025-11-03T10:29:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3509809970855713s
2025-11-03T10:29:40.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3509809970855713
2025-11-03T10:29:41.224 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:41.225 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 0.8094558715820312s
2025-11-03T10:29:41.225 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8094558715820312
2025-11-03T10:29:42.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:42
2025-11-03T10:29:42.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:42.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.280214309692383s
2025-11-03T10:29:42.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:42.695 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:42.695 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:42.696 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:42.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7198744;-24.25658;50.108505;89.99304;50.08601;90.12017;12.73964;2460982.8539664;10.49516694;1.3;_
2025-11-03T10:29:42.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7198744;-24.25658;50.108505;89.99304;50.08601;90.12017;12.73964;2460982.8539664;10.49516694;1.3;_
2025-11-03T10:29:42.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:42.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:42.697 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:42.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:42.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:42.698 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7198744, teldec = -24.25658
2025-11-03T10:29:42.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7198744 -24.25658
2025-11-03T10:29:42.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7198744 -24.25658
2025-11-03T10:29:42.698 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7198744 -24.25658
2025-11-03T10:29:42.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7198744;-24.25658;50.108505;89.99304;50.08601;90.12017;12.73964;2460982.85396642;10.49516694;1.3;_15.6945821779957 -24.1740044876763
2025-11-03T10:29:42.699 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6945821779957     dec_j2k = -24.1740044876763
2025-11-03T10:29:42.699 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968881916898403;171.162357330327;_
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881916898403;171.162357330327;_
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:42.700 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:42.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:42.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:42.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:42.701 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:42.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:42.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:42.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:42.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:42.702 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44829)
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:42.708 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:42.715 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:42.716 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8539664, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881916898403, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7198744, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.73964, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6945821779957, telescope_dec_j2k=-24.1740044876763, observability=1)
2025-11-03T10:29:42.737 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:42
2025-11-03T10:29:42.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:42.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021908998489379883s
2025-11-03T10:29:42.737 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021908998489379883
2025-11-03T10:29:42.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:42
2025-11-03T10:29:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.05029916763305664s
2025-11-03T10:29:42.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.05029916763305664
2025-11-03T10:29:44.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:44
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.694087028503418s
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:44.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:44.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:44.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.720351;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74011;2460982.85398625;10.49564222;1.3;_
2025-11-03T10:29:44.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.720351;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74011;2460982.85398625;10.49564222;1.3;_
2025-11-03T10:29:44.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:44.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:44.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:44.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:44.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:44.413 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.720351, teldec = -24.25658
2025-11-03T10:29:44.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.720351 -24.25658
2025-11-03T10:29:44.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.720351 -24.25658
2025-11-03T10:29:44.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.720351 -24.25658
2025-11-03T10:29:44.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.720351;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74011;2460982.85398627;10.49564222;1.3;_15.6950584537212 -24.1740188959285
2025-11-03T10:29:44.414 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6950584537212     dec_j2k = -24.1740188959285
2025-11-03T10:29:44.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:44.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:44.414 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968879911301263;171.162357330327;_
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:44.415 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:44.416 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:44.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:44.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:44.417 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 55203)
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:44.424 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:44.431 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:44.431 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85398625, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968879911301263, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.720351, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74011, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6950584537212, telescope_dec_j2k=-24.1740188959285, observability=1)
2025-11-03T10:29:44.434 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.434 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.434 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:44.434 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:44.434 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:44.435 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] FollowTelescopeStop
2025-11-03T10:29:44.436 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command FollowTelescopeStop
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to FollowTelescopeStop
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:44.437 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:44.438 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.438 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:44.439 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GoParkAndClose
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GoParkAndClose
2025-11-03T10:29:44.440 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GoParkAndClose
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:44.441 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Park
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command Park
2025-11-03T10:29:44.442 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to Park
2025-11-03T10:29:44.443 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 29;15.720351;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74011;2460982.85398661;10.49564222;1.3;_Park Command Successful
2025-11-03T10:29:44.454 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:44
2025-11-03T10:29:44.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:44.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02266216278076172s
2025-11-03T10:29:44.454 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02266216278076172
2025-11-03T10:29:44.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:44
2025-11-03T10:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3388993740081787s
2025-11-03T10:29:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3388993740081787
2025-11-03T10:29:45.443 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:29:45.443 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:29:45.443 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:29:45.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:29:45.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:29:46.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:29:46.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:29:46.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:29:46.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:29:46.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:29:46.653 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:46
2025-11-03T10:29:46.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:46.653 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.2221455574035645s
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:46.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7209668;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74073;2460982.85401221;10.49625639;1.3;_
2025-11-03T10:29:46.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7209668;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74073;2460982.85401221;10.49625639;1.3;_
2025-11-03T10:29:46.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:46.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:46.656 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:46.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:46.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:46.657 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7209668, teldec = -24.25658
2025-11-03T10:29:46.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7209668 -24.25658
2025-11-03T10:29:46.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7209668 -24.25658
2025-11-03T10:29:46.657 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7209668 -24.25658
2025-11-03T10:29:46.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7209668;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74073;2460982.85401225;10.49625639;1.3;_15.6956738348081 -24.1740375143211
2025-11-03T10:29:46.658 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6956738348081     dec_j2k = -24.1740375143211
2025-11-03T10:29:46.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:46.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:46.658 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968881515778975;171.162357330327;_
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968881515778975;171.162357330327;_
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:46.659 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:46.660 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:46.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:46.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:46.661 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44493)
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:46.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:46.673 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:46.673 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:46.674 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:46.674 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85401221, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968881515778975, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7209668, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74073, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6956738348081, telescope_dec_j2k=-24.1740375143211, observability=1)
2025-11-03T10:29:46.695 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:46
2025-11-03T10:29:46.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:46.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021491527557373047s
2025-11-03T10:29:46.695 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021491527557373047
2025-11-03T10:29:46.773 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:46
2025-11-03T10:29:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.09939312934875488s
2025-11-03T10:29:46.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.09939312934875488
2025-11-03T10:29:47.444 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] RotatorTrackingOff
2025-11-03T10:29:47.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command RotatorTrackingOff
2025-11-03T10:29:47.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to RotatorTrackingOff
2025-11-03T10:29:47.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:29:47.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_TrackingOffAccepted
2025-11-03T10:29:48.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:48
2025-11-03T10:29:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.7225840091705322s
2025-11-03T10:29:48.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:48.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:48.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:48.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7214618;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74122;2460982.8540324;10.49675;1.3;_
2025-11-03T10:29:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7214618;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74122;2460982.8540324;10.49675;1.3;_
2025-11-03T10:29:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:48.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:48.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7214618, teldec = -24.25658
2025-11-03T10:29:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7214618 -24.25658
2025-11-03T10:29:48.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7214618 -24.25658
2025-11-03T10:29:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7214618 -24.25658
2025-11-03T10:29:48.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7214618;-24.25658;50.108505;89.99304;50.08601;90.12017;12.74122;2460982.85403242;10.49675;1.3;_15.6961684981309 -24.1740524819733
2025-11-03T10:29:48.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6961684981309     dec_j2k = -24.1740524819733
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096888873592868;171.162362694745;_
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096888873592868;171.162362694745;_
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:48.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:48.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 12;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:48.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 12> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:48.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33475)
2025-11-03T10:29:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:48.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:48.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:48.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:48.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:48.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8540324, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=False, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096888873592868, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108505, telescope_az=89.99304, telescope_ra=15.7214618, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74122, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6961684981309, telescope_dec_j2k=-24.1740524819733, observability=1)
2025-11-03T10:29:48.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:48
2025-11-03T10:29:48.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:48.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021906614303588867s
2025-11-03T10:29:48.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021906614303588867
2025-11-03T10:29:48.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] ParkRotator
2025-11-03T10:29:48.445 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command ParkRotator
2025-11-03T10:29:48.446 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to ParkRotator
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_ParkRotatorAccepted
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:48.447 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] SlewLightsOff
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command SlewLightsOff
2025-11-03T10:29:48.448 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to SlewLightsOff
2025-11-03T10:29:48.449 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:48.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:48
2025-11-03T10:29:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3544447422027588s
2025-11-03T10:29:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3544447422027588
2025-11-03T10:29:49.449 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:49.449 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:49.449 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:49.449 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:49.449 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:29:49.450 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:29:49.451 [DEBUG] [ThreadPoolExecutor-3464_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:49.451 [INFO] [ThreadPoolExecutor-3464_0] [server.py] [done()] Shutdown complete...
2025-11-03T10:29:50.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:50
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0006937980651855s
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:50.418 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:50.419 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:50.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7220219;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74178;2460982.85405579;10.49730861;1.3;_
2025-11-03T10:29:50.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7220219;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74178;2460982.85405579;10.49730861;1.3;_
2025-11-03T10:29:50.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:50.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:50.420 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:50.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:50.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:50.421 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7220219, teldec = -24.25658
2025-11-03T10:29:50.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7220219 -24.25658
2025-11-03T10:29:50.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7220219 -24.25658
2025-11-03T10:29:50.421 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7220219 -24.25658
2025-11-03T10:29:50.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7220219;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74178;2460982.85405581;10.49730861;1.3;_15.6967282172385 -24.1740694198014
2025-11-03T10:29:50.422 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6967282172385     dec_j2k = -24.1740694198014
2025-11-03T10:29:50.422 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968890741525821;171.162351965909;_
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968890741525821;171.162351965909;_
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:50.423 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:50.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:50.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:50.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:50.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:50.424 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:50.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:50.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:50.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:29:50.425 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:29:50.428 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 33979)
2025-11-03T10:29:50.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:50.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:50.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:50.429 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:50.429 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:50.436 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:50.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85405579, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968890741525821, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7220219, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74178, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6967282172385, telescope_dec_j2k=-24.1740694198014, observability=1)
2025-11-03T10:29:50.460 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:50
2025-11-03T10:29:50.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:50.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02354884147644043s
2025-11-03T10:29:50.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02354884147644043
2025-11-03T10:29:50.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:50
2025-11-03T10:29:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.32890892028808594s
2025-11-03T10:29:50.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.32890892028808594
2025-11-03T10:29:50.813 [DEBUG] [Thread-88915 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:50.813 [DEBUG] [Thread-88915 (handle)] [server.py] [get_status()] Status age = 0.37626171112060547s
2025-11-03T10:29:50.813 [DEBUG] [Thread-88915 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.37626171112060547
2025-11-03T10:29:52.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:52
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.329681634902954s
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:52.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:52.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7226665;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74243;2460982.85408296;10.49795139;1.3;_
2025-11-03T10:29:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7226665;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74243;2460982.85408296;10.49795139;1.3;_
2025-11-03T10:29:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:52.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:52.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:52.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7226665, teldec = -24.25658
2025-11-03T10:29:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7226665 -24.25658
2025-11-03T10:29:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7226665 -24.25658
2025-11-03T10:29:52.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7226665 -24.25658
2025-11-03T10:29:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7226665;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74243;2460982.854083;10.49795139;1.3;_15.6973723789654 -24.1740889152077
2025-11-03T10:29:52.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6973723789654     dec_j2k = -24.1740889152077
2025-11-03T10:29:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:52.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968885526973256;171.162351965909;_
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968885526973256;171.162351965909;_
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:52.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:52.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:52.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 59989)
2025-11-03T10:29:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:52.777 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:52.777 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:52.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:52.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85408296, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968885526973256, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7226665, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74243, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6973723789654, telescope_dec_j2k=-24.1740889152077, observability=1)
2025-11-03T10:29:52.933 [DEBUG] [Thread-88916 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:52.933 [DEBUG] [Thread-88916 (handle)] [server.py] [get_status()] Status age = 0.14864897727966309s
2025-11-03T10:29:52.933 [DEBUG] [Thread-88916 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14864897727966309
2025-11-03T10:29:52.969 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:52
2025-11-03T10:29:52.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:52.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18508601188659668s
2025-11-03T10:29:52.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18508601188659668
2025-11-03T10:29:52.991 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:52
2025-11-03T10:29:52.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:52.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.20679020881652832s
2025-11-03T10:29:52.991 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.20679020881652832
2025-11-03T10:29:54.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:54
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9839327335357666s
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:54.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:54.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7232258;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74299;2460982.85410613;10.49850917;1.3;_
2025-11-03T10:29:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7232258;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74299;2460982.85410613;10.49850917;1.3;_
2025-11-03T10:29:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:54.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:54.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7232258, teldec = -24.25658
2025-11-03T10:29:54.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7232258 -24.25658
2025-11-03T10:29:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7232258 -24.25658
2025-11-03T10:29:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7232258 -24.25658
2025-11-03T10:29:54.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7232258;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74299;2460982.85410616;10.49850917;1.3;_15.6979312987609 -24.1741058327238
2025-11-03T10:29:54.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6979312987609     dec_j2k = -24.1741058327238
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968885125853828;171.162351965909;_
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968885125853828;171.162351965909;_
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:54.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:54.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:54.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:54.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:54.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41811)
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:54.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:54.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:54.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85410613, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968885125853828, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7232258, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74299, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6979312987609, telescope_dec_j2k=-24.1741058327238, observability=1)
2025-11-03T10:29:54.947 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:54
2025-11-03T10:29:54.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:54.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15780949592590332s
2025-11-03T10:29:54.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15780949592590332
2025-11-03T10:29:54.968 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:54
2025-11-03T10:29:54.968 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:54.968 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.178955078125s
2025-11-03T10:29:54.968 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.178955078125
2025-11-03T10:29:56.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:56
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.977867841720581s
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:56.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:56.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:56.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7238051;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74357;2460982.85412928;10.49908694;1.3;_
2025-11-03T10:29:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7238051;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74357;2460982.85412928;10.49908694;1.3;_
2025-11-03T10:29:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:56.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:56.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7238051, teldec = -24.25658
2025-11-03T10:29:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7238051 -24.25658
2025-11-03T10:29:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7238051 -24.25658
2025-11-03T10:29:56.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7238051 -24.25658
2025-11-03T10:29:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7238051;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74357;2460982.85412931;10.49908694;1.3;_15.6985102050311 -24.1741233570926
2025-11-03T10:29:56.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6985102050311     dec_j2k = -24.1741233570926
2025-11-03T10:29:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:56.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968883120256687;171.162351965909;_
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968883120256687;171.162351965909;_
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:56.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:56.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:56.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56507)
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:56.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:56.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:56.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:56.789 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:56.789 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:56.789 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85412928, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968883120256687, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7238051, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74357, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6985102050311, telescope_dec_j2k=-24.1741233570926, observability=1)
2025-11-03T10:29:56.947 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:56
2025-11-03T10:29:56.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:56.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.15870976448059082s
2025-11-03T10:29:56.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.15870976448059082
2025-11-03T10:29:56.969 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:56
2025-11-03T10:29:56.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:56.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18028879165649414s
2025-11-03T10:29:56.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18028879165649414
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.3623933792114258s
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:29:58.151 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:29:58.152 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:29:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7241695;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74393;2460982.85414529;10.49945028;1.3;_
2025-11-03T10:29:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.7241695;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74393;2460982.85414529;10.49945028;1.3;_
2025-11-03T10:29:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:29:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:29:58.153 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:29:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:29:58.154 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.7241695, teldec = -24.25658
2025-11-03T10:29:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7241695 -24.25658
2025-11-03T10:29:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7241695 -24.25658
2025-11-03T10:29:58.154 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7241695 -24.25658
2025-11-03T10:29:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7241695;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74393;2460982.85414531;10.49945028;1.3;_15.698874357398 -24.1741343815247
2025-11-03T10:29:58.155 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.698874357398     dec_j2k = -24.1741343815247
2025-11-03T10:29:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:29:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:29:58.155 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.0968887131450968;171.162351965909;_
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.0968887131450968;171.162351965909;_
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:58.156 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:29:58.157 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36731)
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:29:58.163 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:29:58.170 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:29:58.171 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:29:58.172 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:29:58.172 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:29:58.172 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85414529, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968887131450968, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7241695, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74393, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.698874357398, telescope_dec_j2k=-24.1741343815247, observability=1)
2025-11-03T10:29:58.409 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:58
2025-11-03T10:29:58.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:58.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23692750930786133s
2025-11-03T10:29:58.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23692750930786133
2025-11-03T10:29:58.430 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:58
2025-11-03T10:29:58.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:58.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.25864505767822266s
2025-11-03T10:29:58.430 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.25864505767822266
2025-11-03T10:29:58.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:29:58
2025-11-03T10:29:58.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:29:58.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.6123714447021484s
2025-11-03T10:29:58.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6123714447021484
2025-11-03T10:30:00.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:00
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.5949721336364746s
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:00.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:00.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.724897;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74466;2460982.85417556;10.50017583;1.3;_
2025-11-03T10:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.724897;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74466;2460982.85417556;10.50017583;1.3;_
2025-11-03T10:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:00.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:00.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.724897, teldec = -24.25658
2025-11-03T10:30:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.724897 -24.25658
2025-11-03T10:30:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.724897 -24.25658
2025-11-03T10:30:00.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.724897 -24.25658
2025-11-03T10:30:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.724897;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74466;2460982.85417559;10.50017583;1.3;_15.6996013631001 -24.1741563933459
2025-11-03T10:30:00.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.6996013631001     dec_j2k = -24.1741563933459
2025-11-03T10:30:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:00.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096888873592868;171.162357330327;_
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096888873592868;171.162357330327;_
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:00.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:00.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:00.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53319)
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:00.775 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:00.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:00.783 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:00.783 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85417556, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096888873592868, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.724897, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74466, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.6996013631001, telescope_dec_j2k=-24.1741563933459, observability=1)
2025-11-03T10:30:00.948 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:00
2025-11-03T10:30:00.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:00.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16519427299499512s
2025-11-03T10:30:00.948 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16519427299499512
2025-11-03T10:30:00.970 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:00
2025-11-03T10:30:00.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:00.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18689179420471191s
2025-11-03T10:30:00.970 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18689179420471191
2025-11-03T10:30:02.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:02
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9821176528930664s
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:02.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:02.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7254761;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74524;2460982.85419869;10.50075333;1.3;_
2025-11-03T10:30:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7254761;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74524;2460982.85419869;10.50075333;1.3;_
2025-11-03T10:30:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:02.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:02.768 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7254761, teldec = -24.25658
2025-11-03T10:30:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7254761 -24.25658
2025-11-03T10:30:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7254761 -24.25658
2025-11-03T10:30:02.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7254761 -24.25658
2025-11-03T10:30:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7254761;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74524;2460982.85419872;10.50075333;1.3;_15.7001800697129 -24.1741739172358
2025-11-03T10:30:02.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7001800697129     dec_j2k = -24.1741739172358
2025-11-03T10:30:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:02.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968888334809252;171.162362694745;_
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968888334809252;171.162362694745;_
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:02.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:02.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:02.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34645)
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:02.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:02.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:02.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:02.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:02.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:02.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:02.787 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:02.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:02.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85419869, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968888334809252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7254761, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74524, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7001800697129, telescope_dec_j2k=-24.1741739172358, observability=1)
2025-11-03T10:30:02.949 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:02
2025-11-03T10:30:02.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:02.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16287541389465332s
2025-11-03T10:30:02.950 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16287541389465332
2025-11-03T10:30:02.972 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:02
2025-11-03T10:30:02.972 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:02.972 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18559765815734863s
2025-11-03T10:30:02.972 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18559765815734863
2025-11-03T10:30:04.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:04
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6092853546142578s
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:04.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:04.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:04.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:04.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7259245;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74569;2460982.85421758;10.50120056;1.3;_
2025-11-03T10:30:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7259245;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74569;2460982.85421758;10.50120056;1.3;_
2025-11-03T10:30:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:04.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:04.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7259245, teldec = -24.25658
2025-11-03T10:30:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7259245 -24.25658
2025-11-03T10:30:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7259245 -24.25658
2025-11-03T10:30:04.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7259245 -24.25658
2025-11-03T10:30:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7259245;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74569;2460982.8542176;10.50120056;1.3;_15.7006281651605 -24.1741874873963
2025-11-03T10:30:04.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7006281651605     dec_j2k = -24.1741874873963
2025-11-03T10:30:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:04.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968890340406393;171.162362694745;_
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968890340406393;171.162362694745;_
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:04.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:04.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:04.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 60933)
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:04.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:04.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:04.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:04.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:04.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:04.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:04.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:04.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85421758, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968890340406393, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7259245, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74569, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7006281651605, telescope_dec_j2k=-24.1741874873963, observability=1)
2025-11-03T10:30:04.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:04
2025-11-03T10:30:04.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:04.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021084308624267578s
2025-11-03T10:30:04.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021084308624267578
2025-11-03T10:30:04.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:04
2025-11-03T10:30:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35442519187927246s
2025-11-03T10:30:04.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35442519187927246
2025-11-03T10:30:06.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:06
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9799213409423828s
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:06.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:06.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7264861;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74625;2460982.85424073;10.50176056;1.3;_
2025-11-03T10:30:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7264861;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74625;2460982.85424073;10.50176056;1.3;_
2025-11-03T10:30:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:06.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:06.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7264861, teldec = -24.25658
2025-11-03T10:30:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7264861 -24.25658
2025-11-03T10:30:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7264861 -24.25658
2025-11-03T10:30:06.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7264861 -24.25658
2025-11-03T10:30:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7264861;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74625;2460982.85424075;10.50176056;1.3;_15.7011893837835 -24.1742044850186
2025-11-03T10:30:06.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7011893837835     dec_j2k = -24.1742044850186
2025-11-03T10:30:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:06.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968889939286964;171.162346601491;_
2025-11-03T10:30:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968889939286964;171.162346601491;_
2025-11-03T10:30:06.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:06.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:06.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:06.407 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 53377)
2025-11-03T10:30:06.407 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:06.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:06.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:06.415 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:06.415 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85424073, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968889939286964, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162346601491, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7264861, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74625, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7011893837835, telescope_dec_j2k=-24.1742044850186, observability=1)
2025-11-03T10:30:06.437 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:06
2025-11-03T10:30:06.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:06.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022199392318725586s
2025-11-03T10:30:06.437 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022199392318725586
2025-11-03T10:30:06.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:06
2025-11-03T10:30:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3544602394104004s
2025-11-03T10:30:06.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3544602394104004
2025-11-03T10:30:08.398 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:08
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9827258586883545s
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:08.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:08.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7270376;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7468;2460982.85426389;10.50231056;1.3;_
2025-11-03T10:30:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7270376;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7468;2460982.85426389;10.50231056;1.3;_
2025-11-03T10:30:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:08.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:08.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7270376, teldec = -24.25658
2025-11-03T10:30:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7270376 -24.25658
2025-11-03T10:30:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7270376 -24.25658
2025-11-03T10:30:08.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7270376 -24.25658
2025-11-03T10:30:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7270376;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7468;2460982.85426391;10.50231056;1.3;_15.7017405093308 -24.1742211787159
2025-11-03T10:30:08.402 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7017405093308     dec_j2k = -24.1742211787159
2025-11-03T10:30:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:08.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968884323614972;171.162357330327;_
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968884323614972;171.162357330327;_
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:08.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:08.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:08.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:08.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57547)
2025-11-03T10:30:08.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:08.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:08.412 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:08.412 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:08.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:08.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:08.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85426389, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968884323614972, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7270376, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7468, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7017405093308, telescope_dec_j2k=-24.1742211787159, observability=1)
2025-11-03T10:30:08.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:08
2025-11-03T10:30:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022405385971069336s
2025-11-03T10:30:08.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022405385971069336
2025-11-03T10:30:08.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:08
2025-11-03T10:30:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.34825563430786133s
2025-11-03T10:30:08.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.34825563430786133
2025-11-03T10:30:08.899 [DEBUG] [Thread-88917 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:08.899 [DEBUG] [Thread-88917 (handle)] [server.py] [get_status()] Status age = 0.4801621437072754s
2025-11-03T10:30:08.899 [DEBUG] [Thread-88917 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.4801621437072754
2025-11-03T10:30:10.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:10
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9781012535095215s
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:10.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7275991;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74736;2460982.85428701;10.50287056;1.3;_
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7275991;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74736;2460982.85428701;10.50287056;1.3;_
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:10.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:10.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7275991, teldec = -24.25658
2025-11-03T10:30:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7275991 -24.25658
2025-11-03T10:30:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7275991 -24.25658
2025-11-03T10:30:10.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7275991 -24.25658
2025-11-03T10:30:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7275991;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74736;2460982.85428704;10.50287056;1.3;_15.7023016281553 -24.1742381769065
2025-11-03T10:30:10.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7023016281553     dec_j2k = -24.1742381769065
2025-11-03T10:30:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:10.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968891944884105;171.162357330327;_
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968891944884105;171.162357330327;_
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:10.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:10.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:10.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:10.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35025)
2025-11-03T10:30:10.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:10.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:10.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:10.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:10.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:10.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:10.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:10.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:10.418 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:10.418 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85428701, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968891944884105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7275991, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74736, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7023016281553, telescope_dec_j2k=-24.1742381769065, observability=1)
2025-11-03T10:30:10.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:10
2025-11-03T10:30:10.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:10.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02139878273010254s
2025-11-03T10:30:10.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02139878273010254
2025-11-03T10:30:10.799 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:10
2025-11-03T10:30:10.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:10.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3810715675354004s
2025-11-03T10:30:10.799 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3810715675354004
2025-11-03T10:30:12.558 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:12
2025-11-03T10:30:12.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:12.558 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.140533208847046s
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:12.559 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:12.560 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:12.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7282058;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74797;2460982.85431205;10.50347556;1.3;_
2025-11-03T10:30:12.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7282058;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74797;2460982.85431205;10.50347556;1.3;_
2025-11-03T10:30:12.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:12.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:12.561 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:12.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:12.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:12.562 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7282058, teldec = -24.25658
2025-11-03T10:30:12.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7282058 -24.25658
2025-11-03T10:30:12.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7282058 -24.25658
2025-11-03T10:30:12.562 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7282058 -24.25658
2025-11-03T10:30:12.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7282058;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74797;2460982.85431207;10.50347556;1.3;_15.7029079163714 -24.1742565454665
2025-11-03T10:30:12.563 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7029079163714     dec_j2k = -24.1742565454665
2025-11-03T10:30:12.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:12.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:12.563 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968886329212112;171.162357330327;_
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968886329212112;171.162357330327;_
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:12.564 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:12.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:12.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:12.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:12.565 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44191)
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:12.570 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:12.577 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:12.578 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:12.578 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:12.578 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:12.578 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85431205, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968886329212112, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7282058, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74797, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7029079163714, telescope_dec_j2k=-24.1742565454665, observability=1)
2025-11-03T10:30:12.599 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:12
2025-11-03T10:30:12.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:12.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021673917770385742s
2025-11-03T10:30:12.599 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021673917770385742
2025-11-03T10:30:12.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:12
2025-11-03T10:30:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18955588340759277s
2025-11-03T10:30:12.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18955588340759277
2025-11-03T10:30:14.649 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:14
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.071390390396118s
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:14.649 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:14.650 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:14.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7287662;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74853;2460982.85433624;10.50403444;1.3;_
2025-11-03T10:30:14.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7287662;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74853;2460982.85433624;10.50403444;1.3;_
2025-11-03T10:30:14.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:14.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:14.651 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:14.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:14.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:14.652 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7287662, teldec = -24.25658
2025-11-03T10:30:14.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7287662 -24.25658
2025-11-03T10:30:14.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7287662 -24.25658
2025-11-03T10:30:14.652 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7287662 -24.25658
2025-11-03T10:30:14.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7287662;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74853;2460982.85433626;10.50403444;1.3;_15.7034679360824 -24.1742735141195
2025-11-03T10:30:14.653 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7034679360824     dec_j2k = -24.1742735141195
2025-11-03T10:30:14.653 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968891944884105;171.162362694745;_
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968891944884105;171.162362694745;_
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:14.654 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:14.655 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52857)
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:14.659 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:14.666 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:14.667 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:14.667 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85433624, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968891944884105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7287662, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74853, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7034679360824, telescope_dec_j2k=-24.1742735141195, observability=1)
2025-11-03T10:30:14.690 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:14
2025-11-03T10:30:14.690 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:14.690 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.023357868194580078s
2025-11-03T10:30:14.690 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.023357868194580078
2025-11-03T10:30:14.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:14
2025-11-03T10:30:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.10130858421325684s
2025-11-03T10:30:14.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.10130858421325684
2025-11-03T10:30:15.962 [INFO] [Thread-20094 (handle)] [server.py] [get_status_for_LCU()] LCU status updated at time = 2025-11-03T10:30:15
2025-11-03T10:30:15.962 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Status age = 1.2959141731262207s
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:15.963 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:15.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.7291305;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74889;2460982.85435144;10.50439778;1.3;_
2025-11-03T10:30:15.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 17;15.7291305;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74889;2460982.85435144;10.50439778;1.3;_
2025-11-03T10:30:15.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:15.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:15.964 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:15.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:15.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:15.965 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] Telra = 15.7291305, teldec = -24.25658
2025-11-03T10:30:15.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7291305 -24.25658
2025-11-03T10:30:15.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7291305 -24.25658
2025-11-03T10:30:15.965 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7291305 -24.25658
2025-11-03T10:30:15.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 17;15.7291305;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74889;2460982.85435146;10.50439778;1.3;_15.7038319889035 -24.1742845459232
2025-11-03T10:30:15.966 [INFO] [Thread-20094 (handle)] [driver.py] [get_status()] ra_j2k = 15.7038319889035     dec_j2k = -24.1742845459232
2025-11-03T10:30:15.966 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 140;0.0968888334809252;171.162351965909;_
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 140;0.0968888334809252;171.162351965909;_
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:15.967 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:15.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:15.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:15.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:15.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:15.968 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:15.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:15.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:15.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:15.969 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:15.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:15.970 [DEBUG] [Thread-20094 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34737)
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:15.973 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:15.980 [DEBUG] [Thread-20094 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:15.980 [INFO] [Thread-20094 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85435144, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968888334809252, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7291305, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74889, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7038319889035, telescope_dec_j2k=-24.1742845459232, observability=1)
2025-11-03T10:30:16.821 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:16
2025-11-03T10:30:16.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:16.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.8412704467773438s
2025-11-03T10:30:16.822 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.8412704467773438
2025-11-03T10:30:16.901 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:16
2025-11-03T10:30:16.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:16.901 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9211585521697998s
2025-11-03T10:30:16.902 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9211585521697998
2025-11-03T10:30:16.931 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:16
2025-11-03T10:30:16.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:16.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.9506492614746094s
2025-11-03T10:30:16.931 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.9506492614746094
2025-11-03T10:30:18.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:18
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.790228843688965s
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:18.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:18.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:18.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7299327;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74969;2460982.85438395;10.50519778;1.3;_
2025-11-03T10:30:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7299327;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74969;2460982.85438395;10.50519778;1.3;_
2025-11-03T10:30:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:18.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:18.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7299327, teldec = -24.25658
2025-11-03T10:30:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7299327 -24.25658
2025-11-03T10:30:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7299327 -24.25658
2025-11-03T10:30:18.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7299327 -24.25658
2025-11-03T10:30:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7299327;-24.25658;50.108504;89.99304;50.08601;90.12017;12.74969;2460982.85438397;10.50519778;1.3;_15.7046336447077 -24.1743088409891
2025-11-03T10:30:18.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7046336447077     dec_j2k = -24.1743088409891
2025-11-03T10:30:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:18.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968891944884105;171.162362694745;_
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968891944884105;171.162362694745;_
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:18.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:18.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:18.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:18.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37447)
2025-11-03T10:30:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:18.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:18.783 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:18.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:18.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:18.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:18.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85438395, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968891944884105, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7299327, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.74969, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7046336447077, telescope_dec_j2k=-24.1743088409891, observability=1)
2025-11-03T10:30:18.949 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:18
2025-11-03T10:30:18.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:18.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1587817668914795s
2025-11-03T10:30:18.949 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1587817668914795
2025-11-03T10:30:18.973 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:18
2025-11-03T10:30:18.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:18.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.1834726333618164s
2025-11-03T10:30:18.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.1834726333618164
2025-11-03T10:30:19.451 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Getting status
2025-11-03T10:30:19.451 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Status age = 0.6610903739929199s
2025-11-03T10:30:19.451 [DEBUG] [lcu_check_connected_worker] [server.py] [get_status()] Returning cached status because status age = 0.6610903739929199
2025-11-03T10:30:19.451 [INFO] [lcu_check_connected_worker] [server.py] [lcu_check_connected()] LCU last connected 3.488755702972412 seconds ago
2025-11-03T10:30:20.769 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:20
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.979276180267334s
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:20.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:20.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7304934;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75026;2460982.85440707;10.50575694;1.3;_
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7304934;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75026;2460982.85440707;10.50575694;1.3;_
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:20.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:20.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:20.773 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7304934, teldec = -24.25658
2025-11-03T10:30:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7304934 -24.25658
2025-11-03T10:30:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7304934 -24.25658
2025-11-03T10:30:20.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7304934 -24.25658
2025-11-03T10:30:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7304934;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75026;2460982.8544071;10.50575694;1.3;_15.7051939644223 -24.1743258242908
2025-11-03T10:30:20.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7051939644223     dec_j2k = -24.1743258242908
2025-11-03T10:30:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:20.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968887532570396;171.162362694745;_
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968887532570396;171.162362694745;_
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:20.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:20.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:20.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:20.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 56685)
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:20.779 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:20.786 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:20.787 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:20.787 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85440707, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968887532570396, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7304934, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75026, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.7051939644223, telescope_dec_j2k=-24.1743258242908, observability=1)
2025-11-03T10:30:20.952 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:20
2025-11-03T10:30:20.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:20.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16557741165161133s
2025-11-03T10:30:20.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16557741165161133
2025-11-03T10:30:20.974 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:20
2025-11-03T10:30:20.974 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:20.974 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18764114379882812s
2025-11-03T10:30:20.974 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18764114379882812
2025-11-03T10:30:22.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:22
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6106133460998535s
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:22.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:22.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7309419;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7507;2460982.85442591;10.50620417;1.3;_
2025-11-03T10:30:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7309419;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7507;2460982.85442591;10.50620417;1.3;_
2025-11-03T10:30:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:22.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:22.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7309419, teldec = -24.25658
2025-11-03T10:30:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7309419 -24.25658
2025-11-03T10:30:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7309419 -24.25658
2025-11-03T10:30:22.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7309419 -24.25658
2025-11-03T10:30:22.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7309419;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7507;2460982.85442594;10.50620417;1.3;_15.705642160283 -24.1743394104148
2025-11-03T10:30:22.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.705642160283     dec_j2k = -24.1743394104148
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968895153839529;171.162357330327;_
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968895153839529;171.162357330327;_
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:22.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:22.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:22.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 41379)
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:22.411 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:22.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:22.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=0, stopped=False, julian_date=2460982.85442591, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968895153839529, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7309419, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7507, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:29:23.553365', telescope_ra_j2k=15.705642160283, telescope_dec_j2k=-24.1743394104148, observability=1)
2025-11-03T10:30:22.441 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:22
2025-11-03T10:30:22.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:22.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021660327911376953s
2025-11-03T10:30:22.441 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021660327911376953
2025-11-03T10:30:22.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:22
2025-11-03T10:30:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35641956329345703s
2025-11-03T10:30:22.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35641956329345703
2025-11-03T10:30:23.693 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:23.694 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:23.694 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:23.694 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:23.694 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:23.695 [INFO] [Thread-20094 (handle)] [server.py] [lcu_weather_shutdown()] LCU weather shutdown triggered 
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:23.695 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:23.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:23.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:23.696 [DEBUG] [Thread-20094 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:23.696 [INFO] [Thread-20094 (handle)] [server.py] [shutdown()] Shutting down...
2025-11-03T10:30:23.696 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:23.696 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:23.696 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:23.696 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:23.696 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] ToRemoteControl
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command ToRemoteControl
2025-11-03T10:30:23.697 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to ToRemoteControl
2025-11-03T10:30:23.698 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:24.512 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:24
2025-11-03T10:30:24.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:24.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.093430757522583s
2025-11-03T10:30:24.512 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:24.513 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:24.513 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:24.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:24.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:24.513 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:24.514 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:24.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.731529;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75129;2460982.8544504;10.50678972;1.3;_
2025-11-03T10:30:24.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.731529;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75129;2460982.8544504;10.50678972;1.3;_
2025-11-03T10:30:24.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:24.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:24.515 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:24.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:24.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:24.516 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.731529, teldec = -24.25658
2025-11-03T10:30:24.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.731529 -24.25658
2025-11-03T10:30:24.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.731529 -24.25658
2025-11-03T10:30:24.516 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.731529 -24.25658
2025-11-03T10:30:24.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.731529;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75129;2460982.85445043;10.50678972;1.3;_15.7062288622206 -24.1743571968061
2025-11-03T10:30:24.517 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7062288622206     dec_j2k = -24.1743571968061
2025-11-03T10:30:24.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:24.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:24.517 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968893148242389;171.162357330327;_
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968893148242389;171.162357330327;_
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:24.518 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:24.519 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:24.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:24.520 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:24.523 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 35679)
2025-11-03T10:30:24.523 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:24.523 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:24.523 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:24.524 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:24.524 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:24.531 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:24.531 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8544504, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968893148242389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.731529, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75129, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7062288622206, telescope_dec_j2k=-24.1743571968061, observability=1)
2025-11-03T10:30:24.557 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:24
2025-11-03T10:30:24.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:24.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.025631427764892578s
2025-11-03T10:30:24.557 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.025631427764892578
2025-11-03T10:30:24.698 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:24.698 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:24.698 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:24.698 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:24.698 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:24.699 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:24.699 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:24.699 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:24.699 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:24.699 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] DomeLightsOff
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command DomeLightsOff
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to DomeLightsOff
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:24.700 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:24.701 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:24.701 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:24.701 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:24.701 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:24.702 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:24.702 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:24.702 [DEBUG] [ThreadPoolExecutor-3466_0] [payload.py] [to_registers()] [0]
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 46153)
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x9 0x0 0x10 0x0 0x6e 0x0 0x1 0x2 0x0 0x0
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:24.708 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x10 0x0 0x6e 0x0 0x1
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [factory.py] [_helper()] Factory Response[WriteMultipleRegistersResponse: 16]
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:24.715 [DEBUG] [ThreadPoolExecutor-3466_0] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:24.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:24
2025-11-03T10:30:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23617124557495117s
2025-11-03T10:30:24.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23617124557495117
2025-11-03T10:30:26.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:26
2025-11-03T10:30:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.237330913543701s
2025-11-03T10:30:26.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:26.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7321368;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7519;2460982.8544765;10.50739583;1.3;_
2025-11-03T10:30:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7321368;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7519;2460982.8544765;10.50739583;1.3;_
2025-11-03T10:30:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:26.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:26.771 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7321368, teldec = -24.25658
2025-11-03T10:30:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7321368 -24.25658
2025-11-03T10:30:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7321368 -24.25658
2025-11-03T10:30:26.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7321368 -24.25658
2025-11-03T10:30:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7321368;-24.25658;50.108504;89.99304;50.08601;90.12017;12.7519;2460982.85447653;10.50739583;1.3;_15.7068362502009 -24.174375612396
2025-11-03T10:30:26.772 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7068362502009     dec_j2k = -24.174375612396
2025-11-03T10:30:26.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968886329212112;171.162357330327;_
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968886329212112;171.162357330327;_
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:26.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:26.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:26.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54223)
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:26.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:26.783 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:26.783 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:26.783 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:26.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:26.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:26.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:26.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.8544765, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968886329212112, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7321368, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.7519, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7068362502009, telescope_dec_j2k=-24.174375612396, observability=1)
2025-11-03T10:30:26.956 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:26
2025-11-03T10:30:26.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:26.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.17252206802368164s
2025-11-03T10:30:26.956 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.17252206802368164
2025-11-03T10:30:26.968 [DEBUG] [Thread-88918 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:26.968 [DEBUG] [Thread-88918 (handle)] [server.py] [get_status()] Status age = 0.18450641632080078s
2025-11-03T10:30:26.968 [DEBUG] [Thread-88918 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18450641632080078
2025-11-03T10:30:26.978 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:26
2025-11-03T10:30:26.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:26.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.19456982612609863s
2025-11-03T10:30:26.978 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.19456982612609863
2025-11-03T10:30:28.780 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:28
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.996485948562622s
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:28.780 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:28.781 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7326972;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75246;2460982.85449979;10.50795472;1.3;_
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7326972;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75246;2460982.85449979;10.50795472;1.3;_
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:28.782 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:28.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:28.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:28.783 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7326972, teldec = -24.25658
2025-11-03T10:30:28.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7326972 -24.25658
2025-11-03T10:30:28.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7326972 -24.25658
2025-11-03T10:30:28.783 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7326972 -24.25658
2025-11-03T10:30:28.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7326972;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75246;2460982.85449982;10.50795472;1.3;_15.7073962703832 -24.1743925937036
2025-11-03T10:30:28.784 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7073962703832     dec_j2k = -24.1743925937036
2025-11-03T10:30:28.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:28.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:28.784 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968893148242389;171.162373423581;_
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968893148242389;171.162373423581;_
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:28.786 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:28.787 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:28.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:28.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:28.788 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:28.791 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 58185)
2025-11-03T10:30:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:28.791 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:28.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:28.792 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:28.792 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:28.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:28.799 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:28.799 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:28.799 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:28.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:28.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:28.800 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:28.800 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:28.800 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:28.800 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85449979, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968893148242389, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162373423581, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7326972, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75246, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7073962703832, telescope_dec_j2k=-24.1743925937036, observability=1)
2025-11-03T10:30:28.947 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:28
2025-11-03T10:30:28.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:28.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.14700794219970703s
2025-11-03T10:30:28.947 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.14700794219970703
2025-11-03T10:30:28.969 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:28
2025-11-03T10:30:28.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:28.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16936826705932617s
2025-11-03T10:30:28.969 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16936826705932617
2025-11-03T10:30:30.771 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:30
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.971233606338501s
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:30.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:30.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7332568;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75302;2460982.85452284;10.50851278;1.3;_
2025-11-03T10:30:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7332568;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75302;2460982.85452284;10.50851278;1.3;_
2025-11-03T10:30:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:30.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:30.774 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7332568, teldec = -24.25658
2025-11-03T10:30:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7332568 -24.25658
2025-11-03T10:30:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7332568 -24.25658
2025-11-03T10:30:30.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7332568 -24.25658
2025-11-03T10:30:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7332568;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75302;2460982.85452286;10.50851278;1.3;_15.7079554911747 -24.1744095525682
2025-11-03T10:30:30.775 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7079554911747     dec_j2k = -24.1744095525682
2025-11-03T10:30:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:30.775 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968887933689824;171.162351965909;_
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968887933689824;171.162351965909;_
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:30.776 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:30.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:30.777 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:30.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:30.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:30.778 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 57819)
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:30.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:30.789 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:30.790 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:30.790 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85452284, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968887933689824, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7332568, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75302, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7079554911747, telescope_dec_j2k=-24.1744095525682, observability=1)
2025-11-03T10:30:30.951 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:30
2025-11-03T10:30:30.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:30.951 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.16160202026367188s
2025-11-03T10:30:30.952 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.16160202026367188
2025-11-03T10:30:30.973 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:30
2025-11-03T10:30:30.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:30.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.18324851989746094s
2025-11-03T10:30:30.973 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.18324851989746094
2025-11-03T10:30:32.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:32
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6150321960449219s
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:32.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:32.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7337234;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75349;2460982.85454175;10.50897806;1.3;_
2025-11-03T10:30:32.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7337234;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75349;2460982.85454175;10.50897806;1.3;_
2025-11-03T10:30:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:32.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:32.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7337234, teldec = -24.25658
2025-11-03T10:30:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7337234 -24.25658
2025-11-03T10:30:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7337234 -24.25658
2025-11-03T10:30:32.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7337234 -24.25658
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7337234;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75349;2460982.85454178;10.50897806;1.3;_15.7084217750381 -24.1744236944107
2025-11-03T10:30:32.410 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7084217750381     dec_j2k = -24.1744236944107
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096889916503381;171.162362694745;_
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096889916503381;171.162362694745;_
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:32.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:32.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:32.412 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:32.413 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 42991)
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:32.419 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:32.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:32.426 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:32.426 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:32.426 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:32.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:32.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:32.427 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:32.427 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:32.427 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:32.427 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85454175, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096889916503381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7337234, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75349, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7084217750381, telescope_dec_j2k=-24.1744236944107, observability=1)
2025-11-03T10:30:32.452 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:32
2025-11-03T10:30:32.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:32.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.024970054626464844s
2025-11-03T10:30:32.452 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.024970054626464844
2025-11-03T10:30:32.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:32
2025-11-03T10:30:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3398580551147461s
2025-11-03T10:30:32.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3398580551147461
2025-11-03T10:30:34.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:34
2025-11-03T10:30:34.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.3396403789520264s
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:34.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7343679;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75413;2460982.85456907;10.50962083;1.3;_
2025-11-03T10:30:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7343679;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75413;2460982.85456907;10.50962083;1.3;_
2025-11-03T10:30:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:34.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:34.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7343679, teldec = -24.25658
2025-11-03T10:30:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7343679 -24.25658
2025-11-03T10:30:34.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7343679 -24.25658
2025-11-03T10:30:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7343679 -24.25658
2025-11-03T10:30:34.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7343679;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75413;2460982.8545691;10.50962083;1.3;_15.7090658384452 -24.1744432301503
2025-11-03T10:30:34.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7090658384452     dec_j2k = -24.1744432301503
2025-11-03T10:30:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968891543764677;171.162357330327;_
2025-11-03T10:30:34.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968891543764677;171.162357330327;_
2025-11-03T10:30:34.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:34.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:34.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:34.774 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:34.780 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 45095)
2025-11-03T10:30:34.780 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:34.781 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:34.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:34.787 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:34.788 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:34.788 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85456907, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968891543764677, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7343679, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75413, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7090658384452, telescope_dec_j2k=-24.1744432301503, observability=1)
2025-11-03T10:30:35.060 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:35
2025-11-03T10:30:35.060 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:35.060 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2719871997833252s
2025-11-03T10:30:35.060 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2719871997833252
2025-11-03T10:30:35.082 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:35
2025-11-03T10:30:35.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:35.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.29428744316101074s
2025-11-03T10:30:35.082 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.29428744316101074
2025-11-03T10:30:36.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:36
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6707632541656494s
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:36.459 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:36.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7348439;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75461;2460982.85458867;10.51009556;1.3;_
2025-11-03T10:30:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7348439;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75461;2460982.85458867;10.51009556;1.3;_
2025-11-03T10:30:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:36.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:36.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:36.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:36.462 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7348439, teldec = -24.25658
2025-11-03T10:30:36.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7348439 -24.25658
2025-11-03T10:30:36.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7348439 -24.25658
2025-11-03T10:30:36.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7348439 -24.25658
2025-11-03T10:30:36.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7348439;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75461;2460982.85458869;10.51009556;1.3;_15.7095415160536 -24.1744576599377
2025-11-03T10:30:36.463 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7095415160536     dec_j2k = -24.1744576599377
2025-11-03T10:30:36.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:36.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:36.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968896758317241;171.162368059163;_
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968896758317241;171.162368059163;_
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:36.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:36.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:36.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:36.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:36.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 37769)
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:36.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:36.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:36.478 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85458867, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968896758317241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162368059163, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7348439, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75461, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7095415160536, telescope_dec_j2k=-24.1744576599377, observability=1)
2025-11-03T10:30:36.500 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:36
2025-11-03T10:30:36.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:36.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022296667098999023s
2025-11-03T10:30:36.500 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022296667098999023
2025-11-03T10:30:36.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:36
2025-11-03T10:30:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.28922057151794434s
2025-11-03T10:30:36.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.28922057151794434
2025-11-03T10:30:38.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:38
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9182088375091553s
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:38.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:38.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7353985;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75516;2460982.85461109;10.51064861;1.3;_
2025-11-03T10:30:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7353985;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75516;2460982.85461109;10.51064861;1.3;_
2025-11-03T10:30:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:38.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:38.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7353985, teldec = -24.25658
2025-11-03T10:30:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7353985 -24.25658
2025-11-03T10:30:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7353985 -24.25658
2025-11-03T10:30:38.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7353985 -24.25658
2025-11-03T10:30:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7353985;-24.25658;50.108504;89.99304;50.08601;90.12017;12.75516;2460982.85461111;10.51064861;1.3;_15.7100957404878 -24.1744744740979
2025-11-03T10:30:38.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7100957404878     dec_j2k = -24.1744744740979
2025-11-03T10:30:38.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:38.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968897961675526;171.162362694745;_
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968897961675526;171.162362694745;_
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:38.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:38.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 54083)
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:38.408 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:38.416 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:38.416 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:38.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:38.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:38.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:38.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:38.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:38.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85461109, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968897961675526, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108504, telescope_az=89.99304, telescope_ra=15.7353985, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75516, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7100957404878, telescope_dec_j2k=-24.1744744740979, observability=1)
2025-11-03T10:30:38.438 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:38
2025-11-03T10:30:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02174973487854004s
2025-11-03T10:30:38.438 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02174973487854004
2025-11-03T10:30:38.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:38
2025-11-03T10:30:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35152316093444824s
2025-11-03T10:30:38.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35152316093444824
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Status age = 1.8983964920043945s
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:40.315 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.7359302;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75569;2460982.85463329;10.51117889;1.3;_
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 17;15.7359302;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75569;2460982.85463329;10.51117889;1.3;_
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:40.316 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:40.317 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:40.317 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:40.317 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] Telra = 15.7359302, teldec = -24.25658
2025-11-03T10:30:40.317 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7359302 -24.25658
2025-11-03T10:30:40.317 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7359302 -24.25658
2025-11-03T10:30:40.317 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7359302 -24.25658
2025-11-03T10:30:40.318 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 17;15.7359302;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75569;2460982.85463331;10.51117889;1.3;_15.7106270804914 -24.1744905956404
2025-11-03T10:30:40.318 [INFO] [Thread-241 (handle)] [driver.py] [get_status()] ra_j2k = 15.7106270804914     dec_j2k = -24.1744905956404
2025-11-03T10:30:40.318 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:40.318 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:40.319 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:40.319 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 140;0.096889715943667;171.162351965909;_
2025-11-03T10:30:40.319 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 140;0.096889715943667;171.162351965909;_
2025-11-03T10:30:40.319 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:40.319 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:40.320 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:40.321 [DEBUG] [Thread-241 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:40.321 [DEBUG] [Thread-241 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:40.321 [DEBUG] [Thread-241 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:40.328 [DEBUG] [Thread-241 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 39573)
2025-11-03T10:30:40.328 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:40.329 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:40.329 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:40.329 [DEBUG] [Thread-241 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:40.329 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:40.336 [DEBUG] [Thread-241 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:40.336 [INFO] [Thread-241 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85463329, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096889715943667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.7359302, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75569, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7106270804914, telescope_dec_j2k=-24.1744905956404, observability=1)
2025-11-03T10:30:40.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:40
2025-11-03T10:30:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.06061244010925293s
2025-11-03T10:30:40.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.06061244010925293
2025-11-03T10:30:40.419 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:40
2025-11-03T10:30:40.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:40.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.08265924453735352s
2025-11-03T10:30:40.419 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.08265924453735352
2025-11-03T10:30:40.768 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:40
2025-11-03T10:30:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.43163561820983887s
2025-11-03T10:30:40.768 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.43163561820983887
2025-11-03T10:30:42.765 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:42
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.4290013313293457s
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:42.765 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:42.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:42.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:42.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7365929;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75636;2460982.85466167;10.51183972;1.3;_
2025-11-03T10:30:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7365929;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75636;2460982.85466167;10.51183972;1.3;_
2025-11-03T10:30:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:42.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:42.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7365929, teldec = -24.25658
2025-11-03T10:30:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7365929 -24.25658
2025-11-03T10:30:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7365929 -24.25658
2025-11-03T10:30:42.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7365929 -24.25658
2025-11-03T10:30:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.736621;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75638;2460982.85466169;10.51186778;1.3;_15.711289331884 -24.1745106914699
2025-11-03T10:30:42.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.711289331884     dec_j2k = -24.1745106914699
2025-11-03T10:30:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:42.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968896758317241;171.162357330327;_
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968896758317241;171.162357330327;_
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:42.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:42.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:42.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 52091)
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:42.774 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:42.781 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:42.782 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:42.782 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85466167, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968896758317241, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.7365929, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75636, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.711289331884, telescope_dec_j2k=-24.1745106914699, observability=1)
2025-11-03T10:30:43.001 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:43
2025-11-03T10:30:43.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:43.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21902871131896973s
2025-11-03T10:30:43.001 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21902871131896973
2025-11-03T10:30:43.023 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:43
2025-11-03T10:30:43.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:43.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.24142956733703613s
2025-11-03T10:30:43.023 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.24142956733703613
2025-11-03T10:30:44.397 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:44
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6149752140045166s
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:44.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:44.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7370458;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75681;2460982.85468054;10.51229139;1.3;_
2025-11-03T10:30:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7370458;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75681;2460982.85468054;10.51229139;1.3;_
2025-11-03T10:30:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:44.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:44.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7370458, teldec = -24.25658
2025-11-03T10:30:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7370458 -24.25658
2025-11-03T10:30:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7370458 -24.25658
2025-11-03T10:30:44.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7370458 -24.25658
2025-11-03T10:30:44.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7370736;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75684;2460982.85468057;10.51231917;1.3;_15.7117419253524 -24.174524426736
2025-11-03T10:30:44.401 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7117419253524     dec_j2k = -24.174524426736
2025-11-03T10:30:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:44.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096889715943667;171.162357330327;_
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096889715943667;171.162357330327;_
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:44.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:44.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:44.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 40243)
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:44.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:44.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:44.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:44.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:44.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:44.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:44.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:44.414 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:44.414 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:44.414 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:44.414 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85468054, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096889715943667, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.7370458, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75681, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7117419253524, telescope_dec_j2k=-24.174524426736, observability=1)
2025-11-03T10:30:44.435 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:44
2025-11-03T10:30:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02147531509399414s
2025-11-03T10:30:44.435 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02147531509399414
2025-11-03T10:30:44.770 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:44
2025-11-03T10:30:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.35643839836120605s
2025-11-03T10:30:44.770 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.35643839836120605
2025-11-03T10:30:45.034 [DEBUG] [Thread-88919 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:45.034 [DEBUG] [Thread-88919 (handle)] [server.py] [get_status()] Status age = 0.6206636428833008s
2025-11-03T10:30:45.035 [DEBUG] [Thread-88919 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.6206636428833008
2025-11-03T10:30:46.459 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:46
2025-11-03T10:30:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.0456387996673584s
2025-11-03T10:30:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:46.459 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:46.460 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:46.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7376246;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75739;2460982.85470441;10.51286861;1.3;_
2025-11-03T10:30:46.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7376246;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75739;2460982.85470441;10.51286861;1.3;_
2025-11-03T10:30:46.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:46.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:46.461 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:46.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:46.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:46.462 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7376246, teldec = -24.25658
2025-11-03T10:30:46.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7376246 -24.25658
2025-11-03T10:30:46.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7376246 -24.25658
2025-11-03T10:30:46.462 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7376246 -24.25658
2025-11-03T10:30:46.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7376246;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75739;2460982.85470443;10.51286861;1.3;_15.7123203336733 -24.174541981929
2025-11-03T10:30:46.463 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7123203336733     dec_j2k = -24.174541981929
2025-11-03T10:30:46.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:46.463 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096889916503381;171.162362694745;_
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096889916503381;171.162362694745;_
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:46.464 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:46.465 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:46.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:46.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:46.466 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34111)
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:46.469 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:46.476 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:46.476 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:46.476 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:46.477 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:46.477 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85470441, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096889916503381, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.7376246, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75739, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7123203336733, telescope_dec_j2k=-24.174541981929, observability=1)
2025-11-03T10:30:46.499 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:46
2025-11-03T10:30:46.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:46.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021990060806274414s
2025-11-03T10:30:46.499 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021990060806274414
2025-11-03T10:30:46.775 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:46
2025-11-03T10:30:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.2977485656738281s
2025-11-03T10:30:46.775 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.2977485656738281
2025-11-03T10:30:48.405 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:48
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9277338981628418s
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:48.405 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:48.406 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7381853;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75795;2460982.85472693;10.51342778;1.3;_
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7381853;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75795;2460982.85472693;10.51342778;1.3;_
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:48.407 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:48.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:48.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:48.408 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7381853, teldec = -24.25658
2025-11-03T10:30:48.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7381853 -24.25658
2025-11-03T10:30:48.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7381853 -24.25658
2025-11-03T10:30:48.408 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7381853 -24.25658
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7381853;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75795;2460982.85472696;10.51342778;1.3;_15.712880654311 -24.1745589899734
2025-11-03T10:30:48.409 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.712880654311     dec_j2k = -24.1745589899734
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968899566153238;171.162351965909;_
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968899566153238;171.162351965909;_
2025-11-03T10:30:48.409 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:48.410 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:48.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:48.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:48.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:48.411 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 34065)
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:48.416 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:48.423 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:48.424 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:48.424 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:48.424 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85472693, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968899566153238, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162351965909, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.7381853, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75795, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.712880654311, telescope_dec_j2k=-24.1745589899734, observability=1)
2025-11-03T10:30:48.451 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:48
2025-11-03T10:30:48.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:48.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.0271148681640625s
2025-11-03T10:30:48.451 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.0271148681640625
2025-11-03T10:30:48.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:48
2025-11-03T10:30:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:48.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3487682342529297s
2025-11-03T10:30:48.773 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3487682342529297
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:49.716 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] CloseShutters
2025-11-03T10:30:49.717 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Writing command CloseShutters
2025-11-03T10:30:49.718 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Reading response to CloseShutters
2025-11-03T10:30:49.718 [DEBUG] [ThreadPoolExecutor-3466_0] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:50.766 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:50
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 2.342475175857544s
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:50.766 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:50.767 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.738829;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75859;2460982.85475426;10.51406972;1.3;_
2025-11-03T10:30:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.738829;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75859;2460982.85475426;10.51406972;1.3;_
2025-11-03T10:30:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:50.768 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:50.769 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.738829, teldec = -24.25658
2025-11-03T10:30:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.738829 -24.25658
2025-11-03T10:30:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.738829 -24.25658
2025-11-03T10:30:50.769 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.738829 -24.25658
2025-11-03T10:30:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.738829;-24.25658;50.108503;89.99304;50.08601;90.12017;12.75859;2460982.85475428;10.51406972;1.3;_15.7135239188751 -24.1745785179265
2025-11-03T10:30:50.770 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7135239188751     dec_j2k = -24.1745785179265
2025-11-03T10:30:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:50.770 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968903978466946;171.162362694745;_
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968903978466946;171.162362694745;_
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:50.771 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:50.772 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:50.773 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 44973)
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:50.776 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:50.784 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:50.784 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85475426, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968903978466946, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162362694745, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.99304, telescope_ra=15.738829, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75859, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7135239188751, telescope_dec_j2k=-24.1745785179265, observability=1)
2025-11-03T10:30:50.998 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:50
2025-11-03T10:30:50.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:50.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.21372747421264648s
2025-11-03T10:30:50.998 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.21372747421264648
2025-11-03T10:30:51.022 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:51
2025-11-03T10:30:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.23793864250183105s
2025-11-03T10:30:51.022 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.23793864250183105
2025-11-03T10:30:52.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:52
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.6119108200073242s
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:52.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:52.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7392958;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75906;2460982.85477312;10.51453528;1.3;_
2025-11-03T10:30:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7392958;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75906;2460982.85477312;10.51453528;1.3;_
2025-11-03T10:30:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:52.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:52.399 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7392958, teldec = -24.25658
2025-11-03T10:30:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7392958 -24.25658
2025-11-03T10:30:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7392958 -24.25658
2025-11-03T10:30:52.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7392958 -24.25658
2025-11-03T10:30:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7392958;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75906;2460982.85477315;10.51453528;1.3;_15.71399040316 -24.1745926807415
2025-11-03T10:30:52.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.71399040316     dec_j2k = -24.1745926807415
2025-11-03T10:30:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:52.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968905582944659;171.162357330327;_
2025-11-03T10:30:52.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968905582944659;171.162357330327;_
2025-11-03T10:30:52.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:52.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:52.403 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:52.404 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:52.409 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 36101)
2025-11-03T10:30:52.409 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:52.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:52.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:52.410 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:52.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:52.417 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:52.417 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85477312, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968905582944659, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.993039, telescope_ra=15.7392958, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75906, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.71399040316, telescope_dec_j2k=-24.1745926807415, observability=1)
2025-11-03T10:30:52.439 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:52
2025-11-03T10:30:52.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:52.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.021437883377075195s
2025-11-03T10:30:52.439 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.021437883377075195
2025-11-03T10:30:52.772 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:52
2025-11-03T10:30:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3549797534942627s
2025-11-03T10:30:52.772 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3549797534942627
2025-11-03T10:30:52.994 [DEBUG] [Thread-88920 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:52.994 [DEBUG] [Thread-88920 (handle)] [server.py] [get_status()] Status age = 0.5765936374664307s
2025-11-03T10:30:52.994 [DEBUG] [Thread-88920 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.5765936374664307
2025-11-03T10:30:54.395 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:54
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9779274463653564s
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:54.395 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:54.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:54.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7398563;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75962;2460982.85479626;10.51509417;1.3;_
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7398563;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75962;2460982.85479626;10.51509417;1.3;_
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:54.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:54.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7398563, teldec = -24.25658
2025-11-03T10:30:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7398563 -24.25658
2025-11-03T10:30:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7398563 -24.25658
2025-11-03T10:30:54.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7398563 -24.25658
2025-11-03T10:30:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7398563;-24.25658;50.108503;89.993039;50.08601;90.12017;12.75962;2460982.8547963;10.51509417;1.3;_15.7145505241338 -24.1746096880838
2025-11-03T10:30:54.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7145505241338     dec_j2k = -24.1746096880838
2025-11-03T10:30:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:54.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.0968902373989234;171.162357330327;_
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.0968902373989234;171.162357330327;_
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:54.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:54.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50583)
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:54.406 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:54.413 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:54.413 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85479626, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.0968902373989234, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.993039, telescope_ra=15.7398563, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.75962, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7145505241338, telescope_dec_j2k=-24.1746096880838, observability=1)
2025-11-03T10:30:54.434 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:54
2025-11-03T10:30:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.02101445198059082s
2025-11-03T10:30:54.434 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.02101445198059082
2025-11-03T10:30:54.774 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:54
2025-11-03T10:30:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3608691692352295s
2025-11-03T10:30:54.774 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3608691692352295
2025-11-03T10:30:56.396 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:56
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 1.9824092388153076s
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:56.396 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7403885;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76015;2460982.85481941;10.515625;1.3;_
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 17;15.7403885;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76015;2460982.85481941;10.515625;1.3;_
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:56.397 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:56.398 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] Telra = 15.7403885, teldec = -24.25658
2025-11-03T10:30:56.398 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7403885 -24.25658
2025-11-03T10:30:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7403885 -24.25658
2025-11-03T10:30:56.399 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7403885 -24.25658
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 17;15.7404167;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76018;2460982.85481943;10.51565306;1.3;_15.7150823643071 -24.1746258383792
2025-11-03T10:30:56.400 [INFO] [Thread-66620 (handle)] [driver.py] [get_status()] ra_j2k = 15.7150823643071     dec_j2k = -24.1746258383792
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 140;0.096890317622809;171.162357330327;_
2025-11-03T10:30:56.400 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 140;0.096890317622809;171.162357330327;_
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:56.401 [DEBUG] [Thread-66620 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.0033;_GetRotatorData
2025-11-03T10:30:56.402 [DEBUG] [Thread-66620 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.0033 sky_angle  = 0
2025-11-03T10:30:56.402 [DEBUG] [Thread-66620 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 43387)
2025-11-03T10:30:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:56.403 [DEBUG] [Thread-66620 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:56.403 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:56.410 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:56.411 [INFO] [Thread-66620 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85481941, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.0033, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096890317622809, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.993039, telescope_ra=15.7403885, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.76015, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7150823643071, telescope_dec_j2k=-24.1746258383792, observability=1)
2025-11-03T10:30:56.432 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:56
2025-11-03T10:30:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.022087812423706055s
2025-11-03T10:30:56.433 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.022087812423706055
2025-11-03T10:30:56.763 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status updated at time = 2025-11-03T10:30:56
2025-11-03T10:30:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Status age = 0.3521857261657715s
2025-11-03T10:30:56.763 [DEBUG] [Thread-66620 (handle)] [server.py] [get_status()] Returning cached status because status age = 0.3521857261657715
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting status
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Status age = 1.5915775299072266s
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting dome status
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle requested
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [server.py] [dome()] Dome handle being returned
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetDomeData
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetDomeData
2025-11-03T10:30:58.002 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetDomeData
2025-11-03T10:30:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 2688;49153;49;0;_
2025-11-03T10:30:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 2688;49153;49;0;_
2025-11-03T10:30:58.003 [DEBUG] [Thread-68584 (handle)] [driver.py] [get_status()] Dome shutter status: Closed = True  opened = False
2025-11-03T10:30:58.003 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting telescope status
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] ReadScopeStatus
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command ReadScopeStatus
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to ReadScopeStatus
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7408551;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76062;2460982.85483801;10.51609028;1.3;_
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 17;15.7408551;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76062;2460982.85483801;10.51609028;1.3;_
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] SiteLocations
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command SiteLocations
2025-11-03T10:30:58.004 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to SiteLocations
2025-11-03T10:30:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response -32.3797222222148;20.8104999999952;1811;_SiteLocations
2025-11-03T10:30:58.005 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] Telra = 15.7408551, teldec = -24.25658
2025-11-03T10:30:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] UnCookCoordinates 15.7408551 -24.25658
2025-11-03T10:30:58.005 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command UnCookCoordinates 15.7408551 -24.25658
2025-11-03T10:30:58.006 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to UnCookCoordinates 15.7408551 -24.25658
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 17;15.7408551;-24.25658;50.108503;89.993039;50.08601;90.12017;12.76062;2460982.85483803;10.51609028;1.3;_15.7155486488833 -24.1746399992917
2025-11-03T10:30:58.007 [INFO] [Thread-68584 (handle)] [driver.py] [get_status()] ra_j2k = 15.7155486488833     dec_j2k = -24.1746399992917
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetFocuserTertiaryData
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetFocuserTertiaryData
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetFocuserTertiaryData
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 140;0.096890117063095;171.162357330327;_
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 140;0.096890117063095;171.162357330327;_
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Getting rotator statuses
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:58.007 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 16;-1.955;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 16> angle = -1.955 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] GetRotatorData
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Writing command GetRotatorData
2025-11-03T10:30:58.008 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Reading response to GetRotatorData
2025-11-03T10:30:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [execute()] Got response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [parse()] Parsing response 13;227;112.036;-0.00329;_GetRotatorData
2025-11-03T10:30:58.009 [DEBUG] [Thread-68584 (handle)] [driver.py] [__init__()] Status = <Status: 13> angle = 227 par_angle = 112.036 par_rate = -0.00329 sky_angle  = 0
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [sync.py] [connect()] Connection to Modbus server established. Socket ('10.2.2.32', 50111)
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Current transaction state - IDLE
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Running transaction 1
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x0 0x3 0x0 0x82 0x0 0x1
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [sync.py] [send()] New Transaction state 'SENDING'
2025-11-03T10:30:58.015 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_recv()] Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [_transact()] RECV: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [socket_framer.py] [processIncomingPacket()] Processing: 0x0 0x1 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x45
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [factory.py] [_helper()] Factory Response[ReadHoldingRegistersResponse: 3]
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [addTransaction()] Adding transaction 1
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [getTransaction()] Getting transaction 1
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [transaction.py] [execute()] Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [payload.py] [fromRegisters()] [69]
2025-11-03T10:30:58.024 [DEBUG] [Thread-68584 (handle)] [server.py] [get_status()] Received all status components
2025-11-03T10:30:58.024 [INFO] [Thread-68584 (handle)] [server.py] [get_status()] Telescope status = Status(state=3, stopped=False, julian_date=2460982.85483801, airmass=1.3, zenith_distance=None, rotators={2: RotatorStatus(moving=False, tracking=False, auto=False, at_limit=True, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=-430.0, limit_max=-249.0, angle=-1.955, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=-113.991), 1: RotatorStatus(moving=True, tracking=False, auto=True, at_limit=False, comms_fault_servocommunicator=False, comms_fault_servocontroller=False, moving_by_buttons=False, limit_min=147.0, limit_max=328.0, angle=227.0, parallactic_angle=112.036, parallactic_rate=-0.00329, time_to_limit=0.0, position_angle=114.964)}, covers_moving=1, covers_open=0, dome_angle=268.8, dome_remote=True, dome_shutter_moving=False, dome_shutter_open=False, dome_tracking=False, dome_moving=False, dome_tcs_lockout=False, focus=0.096890117063095, secondary_mirror_auto=True, secondary_mirror_moving=False, tertiary_mirror_angle=171.162357330327, tertiary_mirror_auto=True, tertiary_mirror_moving=False, instrument=1, slew_lights_on=False, dome_lights_on=False, telescope_auto=True, telescope_parked=True, telescope_alt=50.108503, telescope_az=89.993039, telescope_ra=15.7408551, telescope_dec=-24.25658, telescope_slewing=False, telescope_tracking=False, telescope_tracking_type=0, location=Location(latitude=-32.3797222222148, longitude=20.8104999999952, elevation=1811.0), lcumessage="Telescope shut down for reason: It's daytime", lcu_weather_override=False, lcu_absence_override=False, sidereal_time=12.76062, lcu_permission=False, lcu_permission_timestamp='2025-11-03T10:30:23.693502', telescope_ra_j2k=15.7155486488833, telescope_dec_j2k=-24.1746399992917, observability=1)
2025-11-03T10:30:58.767 [INFO] [Thread-66620 (handle)] [server.py] [get_status_for_web()] Web status upda